CentOS7系統(tǒng)安全加固實施方案_第1頁
CentOS7系統(tǒng)安全加固實施方案_第2頁
CentOS7系統(tǒng)安全加固實施方案_第3頁
CentOS7系統(tǒng)安全加固實施方案_第4頁
CentOS7系統(tǒng)安全加固實施方案_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、CentOS7.0系統(tǒng)安全加固手冊目錄一、用戶和環(huán)境2二、系統(tǒng)訪問認證和授權(quán) 4三、核心調(diào)整5四、需要關(guān)閉的一些服務(wù) 5五、SSH安全配置5六、封堵 openssl 的 Heartbleed 漏洞 6七、開啟防火墻策略 7八、啟用系統(tǒng)審計服務(wù) 9九、部署完整性檢查工具軟件 10十、部署系統(tǒng)監(jiān)控環(huán)境 12以下安全設(shè)置均是在 CentOS7.0_x64環(huán)境下minimal安裝進行的驗證。、用戶和環(huán)境檢查項清除了 operator、lp、shutdown、halt、games、gopher1刪除的用戶組有:lp、uucp、games、dip其它系統(tǒng)偽均處于鎖定SHELL登錄的狀態(tài)驗證是否有賬號存在空

2、口令的情況:任彳UID為0的賬號在系統(tǒng)上都 具有超級用戶權(quán)限.超級用戶的$PATH設(shè)置中如果 存在這些目錄可能會導(dǎo)致超級awk -F: '($2 = "") print $1 ' /etc/shadow檢查除了 root以外是否還有其它賬號的 UID為0:awk -F: '($3 = 0) print $1 ' /etc/passwd檢查root用戶的$PATH中是否有.或者所有用戶/組用戶可寫的目錄4用戶的home目錄許可權(quán)限設(shè)置為7005用戶誤執(zhí)行一個特洛伊木馬用戶home目錄的許可權(quán)限限制不嚴(yán)可能會導(dǎo)致惡意用戶讀/修 改/刪除其它用戶的

3、數(shù)據(jù)或取得其它用戶的系統(tǒng)權(quán)限Unix/Linux下通常以開頭的文 件是用戶的配置文件,如果存在 所有用戶可讀/寫的配置文件可 能會使惡意用戶能讀/寫其它用戶的數(shù)據(jù)或取得其它用戶的系 統(tǒng)權(quán)限為用戶設(shè)置缺省的umask值有助 于防止用戶建立所有用戶可寫 的文件而危及用戶的數(shù)據(jù).是否有用戶的點文件是所有用戶可讀寫的:for dir in 'awk -F: '($3 >= 500) print $6 ' /etc/passwd dofor file in $dir/.A-Za-z0-9*doif -f $file ; then chmod o-w $filefidoned

4、one為用戶設(shè)置合適的缺省umask值:cd /etcfor file in profile csh.login csh.cshrc bashrc doif 'grep -c umask $file' -eq 0 ;thenecho "umask 022" >> $file fichown root:root $file chmod 444 $filedone設(shè)備系統(tǒng)口令策略:修改/etc/login.defs文件將PASS_MIN_LEN最小密碼長度設(shè)置為12位。這樣,只有wheel組的用戶可以su 至I root限制能夠su為root的用戶:

5、#vi /etc/pam.d/s u10在文件頭部添加下面這樣的一行authrequiredpam_wheel.so use_uid操作樣例:#usermod -G10 test 將 test 用 戶力口入至I wheel組11修改別名文件 /etc/aliases : #vi /etc/aliases注釋掉不要的 #games: root #ingres: root #system: root #toor: root #uucp: root#manager: root #dumper: root #operator: root #decode: root #root: marc 修改后執(zhí)行

6、/usr/bin/newaliases修改TMOUT值,設(shè)置自動注銷時間13vi /etc/profile增力口 TMOUT=600無操作600秒后自動退出設(shè)置Bash保留歷史命令的條數(shù)14#vi /etc/profile修改 HISTSIZE=5即只保留最新執(zhí)行的5條命令防止 IP SPOOF :16#vi /etc/host.conf 添力口 : nospoof on不允許服務(wù)器對IP地址進行欺騙使用日志服務(wù)器:17#vi /etc/rsyslog.conf照以下樣式修改這里只是作為參考,需要根據(jù)實 際決定怎么配置參數(shù)*.info;mail.none;authpriv.none;cron.

7、none99、系統(tǒng)訪問認證和授權(quán)注釋:檢查項Cron.allow 和 at.allow 文件列出了允許允許crontab和at命令的用戶,在限制at/cron給授權(quán)的用戶:1cd /etc/rm -f cron.deny at.deny echo root >cron.allowCrontab文件限制訪問權(quán)限:chown root:root /etc/crontabchmod 400 /etc/crontabchown -R root:root /var/spool/cron chmod -R go-rwx /var/spool/cron chown -R roo

8、t:root /etc/cron.* chmod -R go-rwx /etc/cron.*系統(tǒng)的crontab文件應(yīng)該只能被cron 守護進程(它以超級用戶身份運行)來訪問,一個普通用戶可以修改 crontab文件會導(dǎo)致他可以以超級用 戶身份執(zhí)行任意程序多數(shù)系統(tǒng)上通常只有系統(tǒng)管理員才 需要運行這些命令echo root >at.allowchown root:root cron.allow at.allowchmod 400 cron.allow at.allow6建立恰當(dāng)?shù)木鎎anner:改變登錄banner可以隱藏操作系統(tǒng)echo "Authorizeduses onl

9、y. All activitymay be 類型和版本號和其它系統(tǒng)信息,這些monitored and reported." >>/etc/motd信息可以會對攻擊者有用.chown root:root /etc/motdchmod 644 /etc/motdecho "Authorizeduses only. All activitymay be monitored and reported." >> /etc/issueecho "Authorizeduses only. All activitymay be monitore

10、d and reported." >> /etc/限制root登錄到系統(tǒng)控制臺:通常應(yīng)該以普通用戶身份訪問系統(tǒng),cat <<END_FILE >/etc/securetty然后通過其它授權(quán)機制(比如su命令tty1和sudo)來獲得更高權(quán)限,這樣做至tty2少可以對登錄事件進行跟蹤tty3tty4tty5tty6END_FILEchown root:root /etc/securettychmod 400 /etc/securetty設(shè)置守護進程掩碼vi /etc/rc.d/init.d/functions系統(tǒng)缺省的umask 值應(yīng)該設(shè) 定為022 以避

11、免守護進程創(chuàng)設(shè)置為umask 022建所有用戶可寫的文件三、核心調(diào)整設(shè)置項注釋:禁止 core dump:cat <<END_ENTRIES >>/etc/security/limits.conf允許core dump會耗費大量的磁盤空 間.* soft core 0* hard core 0ENDENTRIESchown root:root /etc/sysctl.confchmod 600 /etc/sysctl.conflog_martians 將進行ip彳取冒 的ip包記 錄至 I /var/log/messages其它核心參數(shù)使用CentOS默認值。四、需要關(guān)

12、閉的一些服務(wù)設(shè)置項注釋:1關(guān)閉 Mail Serverchkconfig postfix off多數(shù)Unix/Linux系統(tǒng)運行Sendmail 作為服務(wù)器,而該軟件歷史上出現(xiàn) 過較多安全漏洞,如無必要,禁止該 服務(wù)五、SSH安全配置設(shè)置項注釋:1配置空閑登出的超時間隔:ClientAliveInterval 300ClientAliveCountMax 0Vi /etc/ssh/sshd_config2禁用.rhosts 文件IgnoreRhosts yesVi /etc/ssh/sshd_config3禁用基于主機的認證HostbasedAuthentication noVi /etc/s

13、sh/sshd_config4禁止root通過 SSH登錄PermitRootLogin noVi /etc/ssh/sshd_config5用警告的 BannerBanner /etc/issueVi /etc/ssh/sshd_config6iptables防火墻處理 SSH 端口 # 64906-A INPUT -s /24 -m state -stateACCEPT-A INPUT -s /29 -m state -stateACCEPTNEW -p tcp -dport 64906NEW -p tcp -dport 64906-j-j這里僅作

14、為參考,需根據(jù)實際需要 調(diào)整參數(shù)7修改SSH端口和限制IP綁定:Port 64906安裝selinux管理命令yum -y install policycoreutils-python修改port contexts (關(guān)鍵),需要對 context進行修改semanage port -a -t ssh_port_t -p tcp 64906semanage port -l | grep ssh-查看當(dāng)前 SElinux 允許的 ssh端口Vi /etc/ssh/sshd_config僅作為參考,需根據(jù)實際需要調(diào)整 參數(shù)。8禁用空密碼:PermitEmptyPasswords no禁止使用空密碼

15、進行遠程登錄SSH9記錄日志:LogLevel INFO確保在 sshd_config 中將日志級別LogLevel 設(shè)置為INFO或者DEBUG ,可通過 logwatch or重啟SSH10.systemctl restart sshd.servicelogcheck 來閱讀日志。重啟ssh六、封堵 openssl的Heartbleed 漏洞檢測方法:在服務(wù)器上運行以下命令確認openssl版本# openssl versionOpenSSL 1.0.1e-fips 11 Feb 2013以上版本的openssl存在Heartbleed bug,需要有針對性的打補丁。升及補?。? yum

16、-y install openssl驗證:# openssl version -aOpenSSL 1.0.1e-fips 11 Feb 2013built on: Thu Jun 5 12:49:27 UTC 2014以上built on的時間是2014.6.5號,說明已經(jīng)修復(fù)了該漏洞。注:如果能夠臨時聯(lián)網(wǎng)安裝以上補丁,在操作上會比較簡單一些。如果無法聯(lián)網(wǎng),則有兩種處理辦法:首選從安裝光盤拷貝獨立的rpm安裝文件并更新;另一個辦法是提前下載最新版本的openssl源碼,編譯并安裝。七、開啟防火墻策略在CentOS7.0中默認使用firewall代替了 iptables service。雖然繼續(xù)

17、保留了 iptables命令, 但已經(jīng)僅是名稱相同而已。除非手動刪除firewall ,再安裝iptables,否則不能繼續(xù)使用以前的iptables配置方法。以下介紹的是firewall配置方法:#cd/usr/lib/firewalld/services /該目錄中存放的是定義好的網(wǎng)絡(luò)服務(wù)和端口參數(shù),只用于參考,不能修改。這個目錄中只定義了一部分通用網(wǎng)絡(luò)服務(wù)。在該目錄中沒有定義的網(wǎng)絡(luò)服務(wù),也不必再增加相關(guān)xml定義,后續(xù)通過管理命令可以直接增加。#cd /etc/firewalld/services/從上面目錄中將需要使用的服務(wù)的xml文件拷至這個目錄中,如果端口有變化則可以修改文件中的數(shù)

18、值。# Check firewall state.firewall-cmd -state# Check active zones. firewall-cmd -get-active-zones# Check current active services. firewall-cmd -get-service# Check services that will be active after next reload.firewall-cmd -get-service-permanent查看firewall當(dāng)前的配置信息,最后一個命令 是查看寫入配置文件的信息。打開HTTP服務(wù)端口并寫入配置文件

19、從配置文件中重載至運行環(huán)境中。# # Set permanent and reload the runtime config.# firewall-cmd -permanent -zone=public -add-service=http# firewall-cmd -reload# firewall-cmd -permanent-zone=public -list-services# firewall-cmd -permanent從已有配置中刪除一個服務(wù)端口-zone=public-remove-service=https# firewall-cmd -reload# firewall-cm

20、d -permanent打開或關(guān)閉一段 TCP端口的方法,同理如果 使用了其它非通用端口,那么也可以這么操 作。-zone=public-add-port=8080-8081/tcp# firewall-cmd -reload# firewall-cmd -zone=public-list-ports8080-8081/tcp# firewall-cmd -permanent-zone=public -list-ports 8080-8081/tcp# firewall-cmd -permanent-zone=public-remove-port=8080-8081/tcp# firewall

21、-cmd -reload# firewall-cmd -permanentThe following command allows you toopen/close HIIP access to a specific IP-zone=public-add-rich-rule="ruleaddress.family="ipv4" sourceaddress="/24" servicename="http" accept"# firewall-cmd -permanent-zone=public-

22、remove-rich-rule="rulefamily="ipv4" sourceaddress="/24" servicename="http" accept"八、啟用系統(tǒng)審計服務(wù)審計容包括:系統(tǒng)調(diào)用、文件訪問、用戶登錄等。編輯/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

23、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/ -

24、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/

25、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

26、/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_fai110g- w /var/log/la

27、stlog -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/localti

28、me -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

29、/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/ -p wa -k

30、CFG_重啟audit服務(wù)#service auditd restart九、部署完整性檢查工具軟件AIDE(Advanced Intrusion Detection Environment, 高級入侵檢測環(huán)境)是個入侵檢測工具, 主要用途是檢查文檔的完整性。AIDE能夠構(gòu)造一個指定文檔的數(shù)據(jù)庫,他使用aide.conf作為其配置文檔。AIDE數(shù)據(jù)庫能夠保存文檔的各種屬性,包括:權(quán)限 (permission)、索引節(jié)點序號(inode number)、所屬 用戶(user)、所屬用戶組(group)、文檔大小、最后修改時間 (mtime)、創(chuàng)建時間(ctime)、最后 訪問時間(atime)、增

31、加的大小連同連接數(shù)。 AIDE還能夠使用下列算法:sha1、md5、rmd160、 tiger,以密文形式建立每個文檔的校驗碼或散列號。在系統(tǒng)安裝完畢,要連接到網(wǎng)絡(luò)上之前,系統(tǒng)管理員應(yīng)該建立新系統(tǒng)的AIDE數(shù)據(jù)庫。這第一個AIDE數(shù)據(jù)庫是系統(tǒng)的一個快照和以后系統(tǒng)升級的準(zhǔn)繩。數(shù)據(jù)庫應(yīng)該包含這些信 息:關(guān)鍵的系統(tǒng)二進制可執(zhí)行程式、動態(tài)連接庫、頭文檔連同其他總是保持不變的文檔。這個數(shù)據(jù)庫不應(yīng)該保存那些經(jīng)常變動的文檔信息,例如:日志文檔、/proc文檔系統(tǒng)、用戶起始目錄連同臨時目錄 安裝方法:#yum -y install aide注:如果主機不能聯(lián)網(wǎng)安裝AIDE ,那么也可以從安裝光盤拷貝至目標(biāo)主機

32、。檢驗系統(tǒng)文件完整性的要求:因為AIDE可執(zhí)行程序的二進制文檔本身可能被修改了或數(shù)據(jù)庫也被修改了。因此,應(yīng)該把AIDE的數(shù)據(jù)庫放到安全的地方,而且進行檢查時要使用確保沒有被修改過的程序,最好是事先為AIDE執(zhí)行程序生成一份 MD5信息。再次使用 AIDE可執(zhí)行程序時,需要先驗證該 程序沒有被篡改過。配置說明:序號參數(shù)注釋1/etc/aide.conf配置文件2databaseAide讀取文檔數(shù)據(jù)庫的位直,默認為/var/lib/aide,默認文件名為 aide.db.gz3database_outAide生成文檔數(shù)據(jù)庫的存放位直,默認為/var/lib/aide,默認文件名為 aide.db.

33、new.gzdatabase_new在使用aide -compare命令時,需要在 aide.conf中事先設(shè) 置女d database_new并指向需要比較的庫文件4report_url/var/log/aide ,入侵檢測報告的存放位直5其它參數(shù)繼續(xù)使用默認值即可。建立、更新樣本庫:1)執(zhí)行初始化,建立第一份樣本庫# 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

34、/ 替換舊的樣本庫執(zhí)行aide入侵檢測:1)查看入侵檢測報告#aide -check報告的詳細程度可以通過-V選項來調(diào)控,級別為 0-255, -V0最簡略,-V255最詳細。或#aide -compare這個命令要求在配置文件中已經(jīng)同時指定好了新、舊兩個庫文件。2)保存入侵檢測報告(將檢查結(jié)果保存到其他文件)aide -check -report=file : /tmp/aide-report-20120426.txt3)定期執(zhí)行入侵檢測,并發(fā)送報告# crontab -e45 17 * * * /usr/sbin/aide -C -V4 | /bin/mail -s "AIDE REPORT $( date +%Y%m%d )"abcdefg#163.或45 23 * * * aide -C >> /var/log/aide/'date +%Y%m%d'_aide.log記錄aide可執(zhí)行文件的 md5 checksum :#md5sum /usr/sbin/aide十、部署系統(tǒng)監(jiān)控環(huán)境該段落因為需要安

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論