基线_基线检查平台之Linux与Windows
摘要:能夠?qū)Σ僮飨到y(tǒng)、中間件和數(shù)據(jù)庫(kù)進(jìn)行基線檢查;腳本在系統(tǒng)上進(jìn)行基線檢查后的結(jié)果或者收集到的數(shù)據(jù)能夠傳輸?shù)揭粋€(gè)服務(wù)端;服務(wù)端要做可視化展示。
要求如下:
能夠?qū)Σ僮飨到y(tǒng)、中間件和數(shù)據(jù)庫(kù)進(jìn)行基線檢查
腳本在系統(tǒng)上進(jìn)行基線檢查后的結(jié)果或者收集到的數(shù)據(jù)能夠傳輸?shù)揭粋€(gè)服務(wù)端
服務(wù)端要做可視化展示
最終的效果是什么呢?最好能夠達(dá)到阿里云里的安全基線檢查的樣子。
本篇文章是代碼中在centos7和win2012系統(tǒng)中將要檢查的項(xiàng)目,參考CIS標(biāo)準(zhǔn)而來(lái)。代碼在SecurityBaselineCheck 現(xiàn)在完成了Centos和Windows2012基線檢查的編寫,腳本(簡(jiǎn)稱agent)只在要檢查的服務(wù)器上運(yùn)行并顯示檢查結(jié)果。之后會(huì)將檢查的結(jié)果以json串的形式上傳到基于django搭建的后端上,后端目前正在制作中。簡(jiǎn)要截圖如下:
agent:
后端
一、window檢查的項(xiàng)目如下:
01 賬戶策略
1.1 密碼策略
[+]確保強(qiáng)制密碼歷史值為5或更高
PasswordHistorySize=5
[+]確保密碼最長(zhǎng)使用期限值為90天或更少,但不為0
MaximumPasswordAge=90
[+]確保密碼最短使用期限值為1或更多
MinimumPasswordAge=1
[+]確保密碼必須符合復(fù)雜性要求值為enabled
PasswordComplexity=1
[+]確保用可還原的加密來(lái)存儲(chǔ)密碼值為Disabled
ClearTextPassword=0
[+]確保密碼長(zhǎng)度最小值值為8或更高
MinimumPasswordLength=8
1.2 賬戶鎖定策略
[+]確保賬戶鎖定時(shí)間值為15分鐘或更長(zhǎng)
LockoutDuration=15
[+]確保賬戶鎖定閾值值為5或更少,但不為0
LockoutBadCount=5
[+]確保重置賬戶鎖定計(jì)數(shù)器值為15分鐘或更多,但值要小于Account lockout duration的值
ResetLockoutCount=15
02 審計(jì)策略
[+]審核策略更改:成功
AuditPolicyChange
[+]審核登錄事件:成功,失敗
AuditLogonEvents
[+]審核對(duì)象訪問(wèn):成功
AuditObjectAccess
[+]審核進(jìn)程跟蹤:成功,失敗
AuditProcessTracking
[+]審核目錄服務(wù)訪問(wèn):成功,失敗
AuditDSAccess
[+]審核系統(tǒng)事件:成功,失敗
AuditSystemEvents
[+]審核帳戶登錄事件:成功,失敗
AuditAccountLogon
[+]審核帳戶管理:成功,失敗
AuditAccountManage
值的含義:
03 用戶權(quán)限分配
[+]確保作為受信任的呼叫方訪問(wèn)憑據(jù)管理器值為空,沒(méi)有設(shè)置任何用戶
SeTrustedCredManAccessPrivilege
[+]確保以操作系統(tǒng)方式執(zhí)行值為空,沒(méi)有設(shè)置任何用戶。
SeTcbPrivilege
[+]確保將工作站添加到域值僅為特定的用戶或用戶組,不能有513,514,515
SeMachineAccountPrivilege
[+]確保創(chuàng)建全局對(duì)象值為空
SeCreateGlobalPrivilege
[+]確保拒絕作為批處理作業(yè)登錄包含Guests
SeDenyBatchLogonRight
[+]確保拒絕以服務(wù)身份登錄包含Guests
SeDenyServiceLogonRight
[+]確保拒絕本地登錄包含Guests
SeDenyInteractiveLogonRight
[+]確保從遠(yuǎn)程系統(tǒng)強(qiáng)制關(guān)機(jī)值為administrators本地組和s-1-5-32-549(域控的一個(gè)內(nèi)置組)
SeRemoteShutdownPrivilege
[+]確保修改對(duì)象標(biāo)簽值為空
SeRelabelPrivilege
[+]確保同步目錄服務(wù)數(shù)據(jù)值為空
SeSyncAgentPrivilege
04 安全選項(xiàng)
[+]確保賬戶:來(lái)賓賬戶狀態(tài)值為已禁用
EnableGuestAccount=0
[+]確保賬戶:限制使用空密碼的本地賬戶只能使用控制臺(tái)登錄值為Enabled
MACHINE\System\CurrentControlSet\Control\Lsa\LimitBlankPasswordUse=4,1
[+]配置賬戶:重命名系統(tǒng)管理員賬戶
NewAdministratorName=”NewAdministrator”
[+]配置賬戶:重命名來(lái)賓賬戶
NewGuestName=”NewGuestName”
[+]確保交互式登錄:不顯示上次登錄用戶名值為Enabled
MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\DontDisplayLastUserName=4,1
[+]確保交互式登錄:無(wú)須按Ctrl+Alt+Del值為Disabled
MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableCAD=4,0
[+]確保交互式登錄:計(jì)算機(jī)不活動(dòng)限制值為900秒或更少
MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System\InactivityTimeoutSecs=4,900
[+]確保Microsoft 網(wǎng)絡(luò)客戶端: 將未加密的密碼發(fā)送到第三方 SMB 服務(wù)器值為Disabled
MACHINE\System\CurrentControlSet\Services\LanmanWorkstation\Parameters\EnablePlainTextPassword=4,0
[+]確保Microsoft網(wǎng)絡(luò)服務(wù)器:暫停會(huì)話前所需的空閑時(shí)間數(shù)量值為15分鐘或更少,但不為0
MACHINE\System\CurrentControlSet\Services\LanManServer\Parameters\AutoDisconnect=4,15
[+]確保網(wǎng)絡(luò)安全:再下一次改變密碼時(shí)不存儲(chǔ)LAN管理器哈希值值為Enabled
MACHINE\System\CurrentControlSet\Control\Lsa\NoLMHash=4,1
[+]確保網(wǎng)絡(luò)訪問(wèn):允許匿名SID/名稱轉(zhuǎn)換值為Disabled
LSAAnonymousNameLookup = 0
[+]確保網(wǎng)絡(luò)訪問(wèn):不允許SAM賬戶的匿名枚舉值為Enabled
MACHINE\System\CurrentControlSet\Control\Lsa\RestrictAnonymousSAM=4,1
[+]確保網(wǎng)絡(luò)訪問(wèn):不允許SAM賬戶和共享的匿名枚舉值為Enabled
MACHINE\System\CurrentControlSet\Control\Lsa\RestrictAnonymous=4,1
[+]確保關(guān)機(jī):允許系統(tǒng)在未登錄前關(guān)機(jī)值為Disabled
MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management\ClearPageFileAtShutdown=4,0
05 遠(yuǎn)程訪問(wèn)安全
[+]確保RDP端口不為3389
06 系統(tǒng)網(wǎng)絡(luò)安全
關(guān)閉windows自動(dòng)播放功能
二、Centos7檢查的項(xiàng)目如下:
01 初始設(shè)置
1.1 文件系統(tǒng)配置:
將/tmp掛載至一個(gè)單獨(dú)的分區(qū)
掛載時(shí)指定noexec,nosuid:不允許運(yùn)行可執(zhí)行文件
1.2 安全啟動(dòng)設(shè)置:
設(shè)置bootloader的配置文件的權(quán)限為600
設(shè)置bootloader的密碼:進(jìn)入引導(dǎo)界面需輸入密碼
為單用戶啟動(dòng)認(rèn)證機(jī)制
1.3 強(qiáng)制訪問(wèn)控制:
安裝SELinux
設(shè)置SELinux的狀態(tài)為enforcing
設(shè)置SELinux的policy為targeted
02 服務(wù)配置
2.1 時(shí)間同步設(shè)置:
開(kāi)啟時(shí)間同步服務(wù)
使用ntp或chrony來(lái)統(tǒng)一服務(wù)器的時(shí)間
不安裝X-windows系統(tǒng):即不使用可視化界面
03 網(wǎng)絡(luò)配置
3.1 hosts設(shè)置:
配置/etc/hosts.allow與/etc/hosts.deny文件
配置/etc/hosts.allow與/etc/hosts.deny文件的權(quán)限為0644
配置/etc/hosts.allow與/etc/hosts.deny文件的屬主為root
3.2 防火墻配置
安裝iptables
設(shè)置各個(gè)Chain的默認(rèn)策略為drop
04 審計(jì)設(shè)置
安裝并使用auditd
配置記錄審計(jì)日志的文件大小:8M
配置記錄審計(jì)日志的文件個(gè)數(shù):5
單個(gè)審計(jì)日志文件大小達(dá)到設(shè)定的值時(shí)觸發(fā)的動(dòng)作為:keep_logs/rotate
磁盤空間滿后觸發(fā)的動(dòng)作為:rotate
auditd需配置的一些規(guī)則:
05 日志設(shè)置
安裝并啟用`rsyslog`
06 認(rèn)證授權(quán)
6.1 配置cron:
開(kāi)啟cron服務(wù)
配置 /etc/crontab,/etc/cron.hourly,/etc/cron.daily,/etc/cron.weekly,/etc/cron.monthly,//etc/cron.d文件的權(quán)限為0700
設(shè)置cron.allow:只允許特定的用戶可以使用cron
6.2 配置SSH:
配置/etc/ssh/sshd_config文件的權(quán)限為0600
關(guān)閉X11Forwarding
設(shè)置最大認(rèn)證嘗試次數(shù):4
開(kāi)啟IgnoreRhosts:不啟用基于主機(jī)的認(rèn)證
關(guān)閉HostbasedAuthentication: 關(guān)閉基于主機(jī)的認(rèn)證
禁止使用root直接登錄:PermitRootLogin no
禁止使用空密碼登錄:PermitEmptyPasswords no
禁止用戶環(huán)境:PermitUserEnvironment no
設(shè)置使用的MAC算法:
設(shè)置空閑超時(shí)時(shí)間:180秒ClientAliveInterval 180
設(shè)置一次登錄花費(fèi)時(shí)間:120秒LoginGraceTime 120
6.3 配置PAM:
密碼長(zhǎng)度最少位數(shù):12
密碼中最少字符類型數(shù):3
配置密碼鎖定:????
配置密碼重用限制:不使用最近5次的密碼
配置密碼hash算法:SHA512
6.4 用戶賬戶和環(huán)境設(shè)置:
密碼有效時(shí)間:90天
密碼更改最短間隔:7天
密碼過(guò)期警告:7天
自動(dòng)禁用特定時(shí)間內(nèi)沒(méi)有活動(dòng)的賬號(hào):365天
配置系統(tǒng)賬號(hào)的無(wú)法登錄
配置root賬號(hào)默認(rèn)群組的GID為0
配置umask的默認(rèn)值為027???
配置shell超時(shí)關(guān)閉會(huì)話時(shí)間:180
配置可以使用su命令的用戶
07 系統(tǒng)維護(hù)
7.1 重要文件權(quán)限:
審計(jì)設(shè)置了SUID可執(zhí)行文件的完整性 前面
審計(jì)設(shè)置了SGID的可執(zhí)行文件的完整性
7.2 用戶和組設(shè)置:
不允許密碼為空的賬號(hào)
只允許root賬號(hào)的UID為0
設(shè)置path環(huán)境變量中的目錄只有owner可寫,group及other都沒(méi)有w的權(quán)限
設(shè)置所有用戶都有家目錄
設(shè)置所有用戶家目錄的權(quán)限為0750
設(shè)置所有用戶家目錄的owner都為其自身
設(shè)置用戶家目錄內(nèi)以.開(kāi)頭的文件,只有owner可寫,group及other都沒(méi)有w的權(quán)限
確保沒(méi)有.netrc,.rhosts,.forward文件
確保所有在/etc/passwd中的組都在/etc/group
確保每個(gè)用戶的UID都不同
確保每個(gè)組的GID都不同
確保用戶名唯一
確保組名唯一
源碼:
后端:github.com/chroblert/assetmanage
agent:github.com/chroblert/security baselinecheck
原文鏈接:https://www.freebuf.com/sectool/224603.html如果覺(jué)得文章對(duì)你有幫助,請(qǐng)支持下點(diǎn)擊右下角“在看”
總結(jié)
以上是生活随笔為你收集整理的基线_基线检查平台之Linux与Windows的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php对电话号码生成图片,帝国CMS插件
- 下一篇: 服务器资源监控工具———node_exp