以下安全設置均是在CentOS7.0環境下minimal安裝進行的驗證。
一、用戶帳號和環境
二、系統訪問認證和授權
三、核心調整
四、需要關閉的一些服務
五、SSH安全配置
六、封堵openssl的Heartbleed漏洞
檢測方法:在服務器上運行以下命令確認openssl版本
# openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
以上版本的openssl存在Heartbleed bug,需要有針對性的打補丁。
升及補丁:
#yum -y install openssl
驗證:
# openssl version -a
OpenSSL 1.0.1e-fips 11 Feb 2013
built on: Thu Jun 5 12:49:27 UTC 2014
以上built on 的時間是2014.6.5號,說明已經修復了該漏洞。
注:如果能夠臨時聯網安裝以上補丁,在操作上會比較簡單一些。如果無法聯網,則有兩種處理辦法:首選從安裝光盤拷貝獨立的rpm安裝文件並更新;另一個辦法是提前下載最新版本的openssl源碼,編譯並安裝。
七、開啟防火牆策略
在CentOS7.0中默認使用firewall代替了iptables service。雖然繼續保留了iptables命令,但已經僅是名稱相同而已。除非手動刪除firewall,再安裝iptables,否則不能繼續使用以前的iptables配置方法。以下介紹的是firewall配置方法:
#cd /usr/lib/firewalld/services //該目錄中存放的是定義好的網絡服務和端口參數,只用於參考,不能修改。這個目錄中只定義了一部分通用網絡服務。在該目錄中沒有定義的網絡服務,也不必再增加相關xml定義,后續通過管理命令可以直接增加。
#cd /etc/firewalld/services/ //從上面目錄中將需要使用的服務的xml文件拷至這個目錄中,如果端口有變化則可以修改文件中的數值。
八、啟用系統審計服務
審計內容包括:系統調用、文件訪問、用戶登錄等。編輯/etc/audit/audit.rules,在文中添加如下內容:
-w /var/log/audit/ -k LOG_audit
-w /etc/audit/ -p wa -k CFG_audit
-w /etc/sysconfig/auditd -p wa -k CFG_auditd.conf
-w /etc/libaudit.conf -p wa -k CFG_libaudit.conf
-w /etc/audisp/ -p wa -k CFG_audisp
-w /etc/cups/ -p wa -k CFG_cups
-w /etc/init.d/cups -p wa -k CFG_initd_cups
-w /etc/netlabel.rules -p wa -k CFG_netlabel.rules
-w /etc/selinux/mls/ -p wa -k CFG_MAC_policy
-w /usr/share/selinux/mls/ -p wa -k CFG_MAC_policy
-w /etc/selinux/semanage.conf -p wa -k CFG_MAC_policy
-w /usr/sbin/stunnel -p x
-w /etc/security/rbac-self-test.conf -p wa -k CFG_RBAC_self_test
-w /etc/aide.conf -p wa -k CFG_aide.conf
-w /etc/cron.allow -p wa -k CFG_cron.allow
-w /etc/cron.deny -p wa -k CFG_cron.deny
-w /etc/cron.d/ -p wa -k CFG_cron.d
-w /etc/cron.daily/ -p wa -k CFG_cron.daily
-w /etc/cron.hourly/ -p wa -k CFG_cron.hourly
-w /etc/cron.monthly/ -p wa -k CFG_cron.monthly
-w /etc/cron.weekly/ -p wa -k CFG_cron.weekly
-w /etc/crontab -p wa -k CFG_crontab
-w /var/spool/cron/root -k CFG_crontab_root
-w /etc/group -p wa -k CFG_group
-w /etc/passwd -p wa -k CFG_passwd
-w /etc/gshadow -k CFG_gshadow
-w /etc/shadow -k CFG_shadow
-w /etc/security/opasswd -k CFG_opasswd
-w /etc/login.defs -p wa -k CFG_login.defs
-w /etc/securetty -p wa -k CFG_securetty
-w /var/log/faillog -p wa -k LOG_faillog
-w /var/log/lastlog -p wa -k LOG_lastlog
-w /var/log/tallylog -p wa -k LOG_tallylog
-w /etc/hosts -p wa -k CFG_hosts
-w /etc/sysconfig/network-scripts/ -p wa -k CFG_network
-w /etc/inittab -p wa -k CFG_inittab
-w /etc/rc.d/init.d/ -p wa -k CFG_initscripts
-w /etc/ld.so.conf -p wa -k CFG_ld.so.conf
-w /etc/localtime -p wa -k CFG_localtime
-w /etc/sysctl.conf -p wa -k CFG_sysctl.conf
-w /etc/modprobe.conf -p wa -k CFG_modprobe.conf
-w /etc/pam.d/ -p wa -k CFG_pam
-w /etc/security/limits.conf -p wa -k CFG_pam
-w /etc/security/pam_env.conf -p wa -k CFG_pam
-w /etc/security/namespace.conf -p wa -k CFG_pam
-w /etc/security/namespace.init -p wa -k CFG_pam
-w /etc/aliases -p wa -k CFG_aliases
-w /etc/postfix/ -p wa -k CFG_postfix
-w /etc/ssh/sshd_config -k CFG_sshd_config
-w /etc/vsftpd.ftpusers -k CFG_vsftpd.ftpusers
-a exit,always -F arch=b32 -S sethostname
-w /etc/issue -p wa -k CFG_issue
-w /etc/issue.net -p wa -k CFG_issue.net
重啟audit服務
#service auditd restart
九、部署完整性檢查工具軟件
AIDE(Advanced Intrusion Detection Environment,高級入侵檢測環境)是個入侵檢測工具,主要用途是檢查文檔的完整性。
AIDE能夠構造一個指定文檔的數據庫,他使用aide.conf作為其配置文檔。AIDE數據庫能夠保存文檔的各種屬性,包括:權限(permission)、索引節點序號(inode number)、所屬用戶(user)、所屬用戶組(group)、文檔大小、最后修改時間(mtime)、創建時間(ctime)、最后訪問時間(atime)、增加的大小連同連接數。AIDE還能夠使用下列算法:sha1、md5、rmd160、tiger,以密文形式建立每個文檔的校驗碼或散列號。
在系統安裝完畢,要連接到網絡上之前,系統管理員應該建立新系統的AIDE數據庫。這第一個AIDE數據庫是系統的一個快照和以后系統升級的准繩。數據庫應該包含這些信息:關鍵的系統二進制可執行程式、動態連接庫、頭文檔連同其他總是保持不變的文檔。這個數據庫不應該保存那些經常變動的文檔信息,例如:日志文檔、郵件、/proc文檔系統、用戶起始目錄連同臨時目錄
安裝方法:
#yum -y install aide
注:如果主機不能聯網安裝AIDE,那么也可以從安裝光盤拷貝至目標主機。
檢驗系統文件完整性的要求:
因為AIDE可執行程序的二進制文檔本身可能被修改了或數據庫也被修改了。因此,應該把AIDE的數據庫放到安全的地方,而且進行檢查時要使用確保沒有被修改過的程序,最好是事先為AIDE執行程序生成一份MD5信息。再次使用AIDE可執行程序時,需要先驗證該程序沒有被篡改過。
配置說明:
建立、更新樣本庫:
1)執行初始化,建立第一份樣本庫
# aide –init
# cd /var/lib/aide/
# mv aide.db.new.gz aide.db.gz //替換舊的樣本庫
2)更新到樣本庫
#aide –update
# cd /var/lib/aide/
# mv aide.db.new.gz aide.db.gz //替換舊的樣本庫
執行aide入侵檢測:
1)查看入侵檢測報告
#aide –check
報告的詳細程度可以通過-V選項來調控,級別為0-255,-V0 最簡略,-V255 最詳細。
或
#aide –compare
這個命令要求在配置文件中已經同時指定好了新、舊兩個庫文件。
2)保存入侵檢測報告(將檢查結果保存到其他文件)
aide –check –report=file:/tmp/aide-report-20120426.txt
3)定期執行入侵檢測,並發送報告
# crontab -e
45 17 * * * /usr/sbin/aide -C -V4 | /bin/mail -s ”AIDE REPORT $(date +%Y%m%d)” abcdefg#163.com
或
45 23 * * * aide -C >> /var/log/aide/’date +%Y%m%d’_aide.log
記錄aide可執行文件的md5 checksum:
#md5sum /usr/sbin/aide