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