Windows安全基線及加固(例子為win server 2008):
1.身份鑒別
1)更改預設賬號:對于管理員帳號,要求更改預設 Administrator 帳戶名稱
2)禁用guest賬號
3)啟用密碼復雜性要求:使密碼必須符合復雜性要求,
4)最小密碼長度設定:最小口令長度不得小于8位
5)賬戶口令生存周期設定:靜態口令認證,賬戶口令的生存期不得長于90天,
6)口令重復次數:靜態口令認證,不能重復使用最近5次內使用的口令,
7)口令認證失敗次數:靜態口令認證失敗次數不超過6次,反之被鎖定,設定為0則表示永不鎖定,
8)賬戶鎖定時間:設定賬號鎖定時間不小于1分鐘,設定為0則表示永不鎖定,
9)賬戶鎖定計數器:確定登錄嘗試失敗之后和登錄嘗試失敗計數器被復位為0次失敗登錄嘗試之前經過的分鐘數,時間應小于或等于帳戶鎖定時間
10)口令到期提示:密碼到期前2個周提示更換密碼
11)域成員禁用更改機器賬戶密碼
12)限制匿名用戶連接:檢查是否限制匿名用戶連接權限,防止用戶遠程列舉本地帳號和共
2.訪問控制
1)共享賬戶檢查
2)遠程關機授權:在本地安全設定中從遠端系統強制關機只指派給Administrators組
3)本地關機:在本地安全設定中關閉系統僅指派給Administrators組,
4)檔案權限指派:在本地安全設定中取得檔案或其它物件的所有權僅指派給Administrators,
5)授權帳戶登陸:在本地安全設定中配置指定授權用戶允許本地登陸此計算機,
6)授權帳戶從網路訪問:在組策略中只允許授權帳號從網路訪問(包括網路共享等,但不包括終端服務)此計算機,
7)關閉默認共享:非域環境中,關閉Windows硬碟默認共享,例如C$,D$,
8)共享檔案夾授權訪問:查看每個共享檔案夾的共享權限,只允許授權的帳戶擁有權限共享 此檔案夾,
3.安全審計
1)NTP服務:windows time服務設為已啟動
2)用戶登錄日志記錄:設備應配置日志功能,對用戶登錄進行記錄,記錄內容包括用戶登錄使用的賬號,登錄是否成功,登錄時間,以及遠程登錄時,用戶使用的IP地
3)系統日志完備性檢查:控制面板->管理工具->本地安全策略->本地策略->審核策略->每項都設定->“成功”和“失敗”都要審核需要配置的策略,
4.資源控制
1)登錄超時管理:啟用登錄時間用完時自動注銷用戶,
2)遠程登錄超時配置:檢查對于遠程登陸的帳號,設定不活動斷連時間15分鐘,
5.剩余資訊保護
1)不顯示上次的用戶名
2)關機前清除虛擬記憶體頁面:關閉服務器前,應清除虛擬記憶體頁面,保護暫存在在快取中的資料,
3)不啟用可還原的加密來存盤密碼:不啟用可還原的加密來存盤密碼,防止能夠獲取明文密碼,
Linux安全基線及加固(例子為CentOS 6.5):
1.身份鑒別
1)檢查是否存在除root之外UID為0的用戶:因為UID為0的任何用戶都擁有系統的最高特權,保證只有root用戶的UID為0,需要檢查是否存在除root之外UID為0的用戶,
執行:
awk -F: '($3 == 0) { print $1 }’ /etc/passwd
若回傳值包括“root”以外的條目,則低于安全要求,
2)用戶口令設定:對于采用靜態口令認證技術的設備,帳戶口令的生存期不長于90天并,
生存期檢查:
執行:
more /etc/login.defs
檢查PASS_MAX_DAYS/ PASS_MIN_DAYS/PASS_WARN_AGE引數,
PASS_MAX_DAYS 90 #新建用戶的密碼最長使用天數
PASS_MIN_DAYS 0 #新建用戶的密碼最短使用天數
PASS_WARN_AGE 7 #新建用戶的密碼到期提前提醒天數
口令檢查:
詢問管理員是否存在如下類似的簡單用戶密碼配置,比如:
root/root, test/test, root/root1234
并執行:
awk -F: '($2 == "") { print $1 }' /etc/shadow
檢查是否存在空口令帳號,
3)用戶口令強度要求:對于采用靜態口令認證技術的設備,口令長度至少8位,并包括數字、小寫字母、大寫字母和特殊符號4類中至少2類,
檢查/etc/pam.d/system-auth檔案中是否對pam_cracklib.so的引數進行了正確設定,
建議在/etc/pam.d/system-auth 檔案中配置:
password requisite pam_cracklib.so difok=3 minlen=8 ucredit=-1 lcredit=-1 dcredit=1
4)用戶鎖定策略:對于采用靜態口令認證技術的設備,應配置當用戶連續認證失敗次數超過10次,鎖定該用戶使用的帳號,
檢查/etc/pam.d/system-auth檔案中是否對pam_tally.so的引數進行了正確設定,
應設定連續輸錯10次密碼,帳號鎖定5分鐘,使用命令
vi /etc/pam.d/system-auth
修改組態檔,添加
auth required pam_tally.so onerr=fail deny=10 unlock_time=300
注:解鎖用戶
faillog -u <用戶名> -r
2.訪問控制
1)用戶的umask安全配置:帳號與口令-用戶的umask安全配置
執行:
more /etc/profile
more /etc/csh.login
more /etc/csh.cshrc
more /etc/bashrc
檢查是否包含umask值且umask=027
2)重要目錄和檔案的權限設定
執行以下命令檢查目錄和檔案的權限設定情況:
ls –l /etc/
ls –l /etc/rc.d/init.d/
ls –l /tmp
ls –l /etc/inetd.conf
ls –l /etc/passwd
ls –l /etc/shadow
ls –l /etc/group
ls –l /etc/security
ls –l /etc/services
ls -l /etc/rc*.d
對于重要目錄,建議執行如下類似操作:
# chmod -R 750 /etc/rc.d/init.d/*
這樣只有root可以讀、寫和執行這個目錄下的腳本,
3)查找未授權的SUID/SGID檔案
用下面的命令查找系統中所有的SUID和SGID程式,執行:
for PART in `grep -v ^# /etc/fstab | awk '($6 != "0") {print $2 }'`; do
find $PART ( -perm -04000 -o -perm -02000 ) -type f -xdev -print
Done
建議:經常性的對比suid/sgid檔案串列,以便能夠及時發現可疑的后門程式,若存在未授權
的檔案,則低于安全要求,
4)檢查任何人都有寫權限的目錄
在系統中定位任何人都有寫權限的目錄用下面的命令:
for PART in `awk '($3 == "ext2" || $3 == "ext3")
{ print $2 }' /etc/fstab`; do
find $PART -xdev -type d ( -perm -0002 -a ! -perm -1000 ) -print
Done
若回傳值非空則低于安全要求,
5)查找任何人都有寫權限的檔案
在系統中定位任何人都有寫權限的檔案用下面的命令:
for PART in `grep -v ^# /etc/fstab | awk '($6 != "0") {print $2 }'`; do
find $PART -xdev -type f ( -perm -0002 -a ! -perm -1000 ) -print
Done
若回傳值非空則低于安全要求,
3.安全審計
1)syslog登錄事件記錄:日志審計-syslog登錄事件記錄
執行命令:
more /etc/rsyslog.conf
查看引數authpriv值,若未對所有登錄事件都記錄,則低于安全要求,
2)Syslog.conf的配置審核:日志審計-Syslog.conf的配置審核
執行:
more /etc/rsyslog.conf
查看是否設定了下列項:
kern.warning;*.err;authpriv.none @loghost
*.info;mail.none;authpriv.none;cron.none @loghost
*.emerg @loghost
local7.* @loghost
配置專門的日志服務器,加強日志資訊的異地同步備份,若未設定,則低于安全要求,
3)設定history時間戳:在問題定位時,我們有時需要查看history命令記錄,看是否有洗掉/移
動檔案、修改配置等誤操作,為history命令添上時間記錄,可便于分析、定位問題,
執行:
vim ~/.bash_profile
export HISTTIMEFORMAT="%F %T “
export HISTTIMEFORMAT=“%F %T ‘whoami’"
4.資源控制
1)登錄超時:帳號與口令-檢查登錄超時設定
使用命令
vi /etc/profile
修改組態檔,添加“TMOUT=”行開頭的注釋,建議設定為“TMOUT=180”,
即超時時間為3分鐘,值為慷訓值低于180,則低于安全要求,
2)root遠程登錄限制:對SSH服務進行安全檢查
使用命令
cat /etc/ssh/sshd_config
查看組態檔
A.檢查是否允許root直接登錄
檢查“PermitRootLogin ”的值是否為no
B.檢查SSH使用的協議版本
檢查“Protocol”的值
使用命令
vi /etc/ssh/sshd_config
編輯組態檔
a.不允許root直接登錄
設定“PermitRootLogin ”的值為no
b.修改SSH使用的協議版本
設定“Protocol”的版本為2
3)遠程連接的安全性配置:帳號與口令-遠程連接的安全性配置
執行:
find / -name .netrc
檢查系統中是否有.netrc檔案,
執行:
find / -name .rhosts
檢查系統中是否有.rhosts檔案,若回傳值包含以上條件,則低于安全要求
等級保護基本要求:7.1.3.7 主機:資源控制(A3),a)應通過設定終端接入方式、網路地址范圍等條件限制終端登錄,
4)更改SSH服務埠
配置操作 /etc/ssh/sshd_config
5.入侵防范
1)關閉不必要的服務
使用命令
who -r
查看當前init級別
使用命令
chkconfig --list <服務名>
查看所有服務的狀態
若有不必要的系統在當前級別下為on,則低于安全要求(需要手工檢查)
使用命令
chkconfig --level <init級別> <服務名> on|off|reset
設定服務在個init級別下開機是否啟動
服務器被入侵后應急回應流程:
- 準備相關的?具,查后?等?具
- 初步判斷事件型別, 事件等級,
- 抑制范圍,隔離使受害?不繼續擴?
- 查找原因,封堵攻擊源,
- 業務恢復正常?平.
- 總結,報告,并修復、監控
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/290009.html
標籤:其他
上一篇:Java執行緒
