Linux系統(tǒng)安全加固手冊.doc
《Linux系統(tǒng)安全加固手冊.doc》由會員分享,可在線閱讀,更多相關(guān)《Linux系統(tǒng)安全加固手冊.doc(14頁珍藏版)》請在裝配圖網(wǎng)上搜索。
LINUX 評估加固手冊 第 1 頁 共 14 頁 密 級:商業(yè)秘密 LINUX 評估加固手冊 安氏領(lǐng)信科技發(fā)展有限公司 二〇一九二〇一九年十月 LINUX 評估加固手冊 第 2 頁 共 14 頁 目 錄 1、系統(tǒng)補丁的安裝 3 2、帳戶、口令策略的加固 3 2.1、刪除或禁用系統(tǒng)無用的用戶 3 2.2、口令策略的設(shè)置 4 2.3、系統(tǒng)是否允許 ROOT 遠程登錄 .4 2.4、ROOT 的環(huán)境變量設(shè)置 5 3、網(wǎng)絡(luò)與服務(wù)加固 5 3.1、RC?.D 中的服務(wù)的設(shè)置 .5 3.2、/ETC/INETD .CONF 中服務(wù)的設(shè)置 .6 3.3、NFS 的配置 .8 3.4、SNMP 的配置 8 3.5、SENDMAIL 的配置 9 3.6、DNS (BIND )的配置 .9 3.7、網(wǎng)絡(luò)連接訪問控制的設(shè)置 9 4、信任主機的設(shè)置 10 5、日志審核的設(shè)置 11 6、物理安全加固 11 7、系統(tǒng)內(nèi)核參數(shù)的配置 12 8、選裝安全工具 13 LINUX 評估加固手冊 第 3 頁 共 14 頁 1、系統(tǒng)補丁的安裝 RedHat 使用 RPM 包實現(xiàn)系統(tǒng)安裝的管理,系統(tǒng)沒有單獨補丁包(Patch) 。如 果出現(xiàn)新的漏洞,則發(fā)布一個新的 RPM 包,版本號( Version)不變,Release 做相應(yīng)的調(diào)整。因此檢查 RH Linux 的補丁安裝情況只能列出所有安裝的軟件, 和 RH 網(wǎng)站上發(fā)布的升級軟件對照,檢查其中的變化。 通過訪問官方站點下載最新系統(tǒng)補丁,RedHat 公司補丁地址如下: rpm -qa 查看系統(tǒng)當前安裝的 rpm 包 rpm -ivh package1 安裝 RPM 包 rpm -Uvh package1 升級 RPM 包 rpm -Fvh package1 升級 RPM 包(如果原先沒有安裝,則不安裝) 2、帳戶、口令策略的加固 2.1、刪除或禁用系統(tǒng)無用的用戶 詢問系統(tǒng)管理員,確認其需要使用的帳戶 如果下面的用戶及其所在的組經(jīng)過確認不需要,可以刪除。 lp, sync, shutdown, halt, news, uucp, operator, games, gopher 修改一些系統(tǒng)帳號的 shell 變量,例如 uucp,ftp 和 news 等,還有一些僅 僅需要 FTP 功能的帳號,檢查并取消/bin/bash 或者/bin/sh 等 Shell 變量???以在/etc/passwd 中將它們的 shell 變量設(shè)為/bin/false 或者/dev/null 等。 也可以通過 passwd groupdel 來鎖定用戶、刪除組。 passwd -l user1 鎖定 user1 用戶 passwd -u user1 解鎖 user1 用戶 groupdel lp 刪除 lp 組。 LINUX 評估加固手冊 第 4 頁 共 14 頁 2.2、口令策略的設(shè)置 RedHat Linux 總體口令策略的設(shè)定分兩處進行,第一部分是在/etc/login.defs 文 件中定義,其中有四項相關(guān)內(nèi)容: PASS_MAX_DAYS 密碼最長時效(天) PASS_MIN_DAYS 密碼最短時效(天) PASS_MIN_LEN 最短密碼長度 PASS_WARN_AGE 密碼過期前 PASS_WARN_AGE 天警告用戶 編輯/etc/login.defs 文件,設(shè)定: PASS_MAX_DAYS=90 PASS_MIN_DAYS=0 PASS_MIN_LEN=8 PASS_WARN_AGE=30 另外可以在/etc/pam.d/system-auth 文件中的 cracklib 項中定義口令強度: difok minlen dcredit ucredit lcredit ocredit 使用 vi 編輯/etc/pam.d/system-auth 文件,設(shè)置 cracklib 的屬性 #%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required /lib/security/pam_env.so auth sufficient /lib/security/pam_unix.so likeauth nullok auth required /lib/security/pam_deny.so account required /lib/security/pam_access.so account required /lib/security/pam_unix.so password required /lib/security/pam_cracklib.so retry=3 type= difok=4 minlen=12 dcredit=1 ucredit=2 lcredit=2 ocredit=1 password sufficient /lib/security/pam_unix.so nullok use_authtok md5 shado w password required /lib/security/pam_deny.so LINUX 評估加固手冊 第 5 頁 共 14 頁 session required /lib/security/pam_limits.so session required /lib/security/pam_unix.so 2.3、系統(tǒng)是否允許 root 遠程登錄 RedHat 在文件/etc/securetty 中定義 root 用戶可以登錄的端口;默認其中只包含 vc/1-11 和 tty1-11,即 root 用戶只能從本地登錄。 2.4、root 的環(huán)境變量設(shè)置 系統(tǒng)的環(huán)境變量在下列文件中設(shè)置: Bash: /etc/profile ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc /etc/bashrc Tcsh/Csh: /etc/csh.cshrc /etc/csh.login ~/.tcshrc 或~/.cshrc ~/.history ~/.login ~/.cshdirs printenv 查看用戶的環(huán)境變量 檢查環(huán)境變量 PATH,確保其中不包含本地目錄(.) 。 3、網(wǎng)絡(luò)與服務(wù)加固 3.1、rc?.d 中的服務(wù)的設(shè)置 LINUX 評估加固手冊 第 6 頁 共 14 頁 RedHat 的服務(wù)主要由/etc/inittab 和/etc/rc?.d/S*文件啟動,事實上, /etc/inittab 的 主要任務(wù)是為每一個 runlevel 指定啟動文件,從而啟動 /etc/rc?.d/S*文件。例如, 在默認的運行級別 3 中系統(tǒng)將運行/etc/rc3.d/目錄中所有 S 打頭的文件。 runlevel 檢查當前運行級別(第一項是 pre-runlevel,第二項是當前的 runlevel) chkconfig –list 檢查所有級別中啟動的服務(wù)情況 chkconfig –list |grep 3:on 檢查某一級別(例如級別 3)中啟動的服務(wù) chkconfig sendmail off 將 sendmail 從啟動目錄中除去 檢查以下服務(wù),如果不需要,關(guān)閉之在(/etc/inittab 中注釋掉) ;否則,參照 3.3 3.4 3.5 3.6 進行配置: portmap(啟動 rpcbind/portmap 服務(wù)) nfslock (啟動 rpc.lockd 和 rpc.statd) httpd (啟動 apache) named (啟動 bind) sendmail (啟動 sendmail) smb (啟動 samba 服務(wù)) snmpd (啟動 snmp 服務(wù)) snmptrapd (啟動 snmp trap 服務(wù)) nfs (啟動 nfs 服務(wù)) 3.2、/etc/inetd.conf 中服務(wù)的設(shè)置 由 INETD 啟動的服務(wù)在文件/etc/inetd.conf 定義。 建議關(guān)閉由 inetd 啟動的所有服務(wù);如果有管理上的需要,可以打開 telnetd、ftpd、rlogind、rshd 等服務(wù)。 可從/etc/inetd.conf 中刪除的服務(wù)(在 /etc/inetd.conf 中注釋掉): shell kshell login klogin exec LINUX 評估加固手冊 第 7 頁 共 14 頁 comsat uucp bootps finger systat netstat tftp talk ntalk rpc.rquotad rpc.rexd rpc.rusersd rpc.ttdbserver rpc.sprayd rpc.cmsd rpc.rwalld rpc.pcnfsd rpc.rstatd rpc.ssalld echo discard chargen daytime time comsat websm instsrv imap2 pop3 LINUX 評估加固手冊 第 8 頁 共 14 頁 kfcli xmquery RedHat Linux 7.3 以后使用了新版本的 xinetd 取代了老版本的 inetd,在配置方 面最大的不同在于使用了/etc/xinetd.d/配置目錄取代了/etc/inetd.conf 配置文件。 每一項服務(wù)/etc/xinetd.d/ 中都有一個相應(yīng)的配置文件,例如 telnetd 的配置文件是 /etc/xinetd.d/telnet。查看每一個配置文件 disable 屬性的定義(yes/no)就可以確 定該服務(wù)是否啟動(默認是 yes) 。 使用 vi 編輯/etc/xinetd.d/ 中的配置文件,在不需要啟動的服務(wù)配置文件中添加 disable=yes。建議關(guān)閉所有服務(wù),如果管理需要,則可以打開 telnetd 和 ftpd 服 務(wù)。 使用 vi 編輯/etc/xinetd.d/rlogin 文件,控制 rlogin 服務(wù)的啟動狀態(tài) # default: on # description: rlogind is the server for the rlogin(1) program. The server \ # provides a remote login facility with authentication based on \ # privileged port numbers from trusted hosts. service login { disable = yes socket_type = stream wait = no user = root log_on_success += USERID log_on_failure += USERID server = /usr/sbin/in.rlogind } 3.3、NFS 的配置 NFS 系統(tǒng)的組成情況: nfsd NFS 服務(wù)進程,運行在服務(wù)器端,處理客戶的讀寫請求 mountd 加載文件系統(tǒng)服務(wù)進程,運行在服務(wù)器端,處理客戶加載 nfs 文件 系統(tǒng)的請求 /etc/exports 定義服務(wù)器對外輸出的 NFS 文件系統(tǒng) /etc/fstab 定義客戶端加載的 NFS 文件系統(tǒng) 如果系統(tǒng)不需要 NFS 服務(wù),可以使用 chkconfig 關(guān)閉 NFS 服務(wù);如果不能關(guān)閉, 使用 showmount -e 或直接查看/etc/exports 文件檢查輸出的文件系統(tǒng)是否必要, LINUX 評估加固手冊 第 9 頁 共 14 頁 以及屬性是否妥當(readonly 等) 。 chkconfig --list nfs 顯示 NFS 服務(wù)是否在系統(tǒng)啟動時啟動 /etc/init.d/nfs start|stop 啟動|停止 nfs 服務(wù) showmount -e 顯示本機輸出的 NFS 文件系統(tǒng) mount 顯示本機加載的文件系統(tǒng)(包括 NFS 文件系統(tǒng)) 3.4、SNMP 的配置 如果系統(tǒng)不需要 SNMP 服務(wù),可以關(guān)閉該服務(wù)(使用 chkconfig 命令) ;如果不 能關(guān)閉,需要在/etc/snmpd.conf 中指定不同的 community name。 chkconfig --list snmpd 顯示 snmpd 服務(wù)是否在系統(tǒng)啟動時啟動 chkconfig snmpd off 將 snmpd 服務(wù)從啟動目錄中去掉 /etc/init.d/snmpd start|stop 啟動| 停止 snmpd 服務(wù) 3.5、Sendmail 的配置 如果系統(tǒng)不需要 Sendmail 服務(wù),可以關(guān)閉該服務(wù)(使用 chkconfig 命令) ;如果 不能關(guān)閉,將 sendmail 服務(wù)升級到最新,并在其配置文件/etc/sendmail.cf 中指 定不同 banner(參見示例) 。 chkconfig --list sendmail 顯示 sendmail 服務(wù)是否在系統(tǒng)啟動時啟動 chkconfig sendmail off 將 sendmail 服務(wù)從啟動目錄中去掉 /etc/init.d/sendmail start|stop 啟動|停止 sendmail 服務(wù) 3.6、DNS(Bind)的配置 如果系統(tǒng)不需要 DNS 服務(wù),可以關(guān)閉該服務(wù)(使用 chkconfig 命令) ;如果不能 關(guān)閉,將 DNS 服務(wù)升級到最新,并在其配置文件修改版本號(參見示例) 。 chkconfig --list named 顯示 named 服務(wù)是否在系統(tǒng)啟動時啟動 chkconfig named off 將 named 服務(wù)從啟動目錄中去掉 /etc/init.d/named start|stop 啟動| 停止 named 服務(wù) LINUX 評估加固手冊 第 10 頁 共 14 頁 3.7、網(wǎng)絡(luò)連接訪問控制的設(shè)置 RedHat 7.3 以后版本中存在以下集中方式可以對網(wǎng)絡(luò)連接設(shè)置訪問控制: 1、使用 iptable 或 ipchains 進行網(wǎng)絡(luò)訪問控制;參見 iptables 和 ipchains 的 manual。 2、使用 xinetd 本身的訪問控制機制對 xinetd 啟動的服務(wù)進行網(wǎng)絡(luò)訪問控制; xinetd 可以在其配置文件中使用 only_from 和 no_access 指令限制可以訪問該 服務(wù)的主機,tcpd 的配置文件是/etc/hosts.allow 和/etc/hosts.deny;具體配置 方法參見 manual。 使用 xinetd 自帶的訪問控制機制控制對 telnet 服務(wù)的訪問 # default: on # description: The telnet server serves telnet sessions; it uses \ # unencrypted username/password pairs for authentication. service telnet { disable = no flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID # allow access from host freebsd and network 172.16.0.0/24 only_from = freebsd 172.16.0.0/24 # also allow access from host 192.168.0.159 only_from += 192.168.0.159 # deny access from host freebsd if uncomment the following line # no_access = freebsd } 3、使用 pam 系統(tǒng)中的 pam_access 模塊提供的訪問控制機制;配置文件是 /etc/security/access.conf,該文件中提供了該文件的語法。 使用 pam_access 進行網(wǎng)絡(luò)訪問控制 在 pam 文件中添加 pam_access 模塊(以 system-auth 文件為例) #%PAM-1.0 # This file is auto-generated. # User changes will be destroyed the next time authconfig is run. auth required /lib/security/pam_env.so auth sufficient /lib/security/pam_unix.so likeauth nullok auth required /lib/security/pam_deny.so account required /lib/security/pam_access.so account required /lib/security/pam_unix.so password required /lib/security/pam_cracklib.so retry=3 type= difok=4 mi LINUX 評估加固手冊 第 11 頁 共 14 頁 nlen=12 dcredit=1 ucredit=2 lcredit=2 ocredit=1 password sufficient /lib/security/pam_unix.so nullok use_authtok md5 shado w password required /lib/security/pam_deny.so session required /lib/security/pam_limits.so session required /lib/security/pam_unix.so 4、信任主機的設(shè)置 參照 3.2(/etc/inetd.conf 中服務(wù)的啟動情況)檢查 rlogin、rsh 、rexec 服務(wù)是否 啟動。如果啟動,查看配置文件/etc/hosts.equiv(全局配置文件)和 ~/.rhosts(單獨用戶的配置文件)文件,檢查文件是否配置妥當。 建議關(guān)閉 R 系列服務(wù)(rlogin、rsh、rexec) ;如果不能關(guān)閉,則需要檢查配置文 件,確保沒有失當?shù)呐渲茫ú荒艽嬖凇?”或”+ +”,如果存在,咨詢系統(tǒng)管理員 是為何這樣配置) 。 5、日志審核的設(shè)置 對 ssh、su 登錄日志進行記錄 編輯 syslogd 配置文件 # vi /etc/syslog.conf 加入以下信息,使和登陸驗證有關(guān)的日志信息記錄到 secure 文件中 # The authpriv file has restricted access. authpriv.* /var/log/secure 重新啟動 syslogd: # /etc/rc.d/init.d/syslog restart 6、物理安全加固 啟動 LILO 時需要密碼 LINUX 評估加固手冊 第 12 頁 共 14 頁 第一步:編輯 lilo.conf 文件(vi /etc/lilo.conf) ,加入或改變這三個參數(shù) (加#的部分): boot=/dev/hda prompt timeout=00 # 把該行改為 00,系統(tǒng)啟動時將不再等待,而直接啟動 LINUX message=/boot/message linear default=linux restricted # 加入該行 password= is-0ne # 加入該行并設(shè)置自己的密碼(明文) image=/boot/vmlinuz-2.4.18 label=linux root=/dev/hda6 read-only 第二步:因為“/etc/lilo.conf”文件中包含明文密碼,所以要把它設(shè)置為 root 權(quán)限讀取。 # chmod 0600 /etc/lilo.conf 第三步:更新系統(tǒng),以便對“/etc/lilo.conf”文件做的修改起作用。 # /sbin/lilo -v 第四步:使用“chattr”命令使“/etc/lilo.conf”文件不可改變。 # chattr +i /etc/lilo.conf 這樣可以在一定程度上防止對“/etc/lilo.conf”任何改變(意外或其他 原因) 最后將/etc/lilo.conf 文件權(quán)限改為 600 LINUX 評估加固手冊 第 13 頁 共 14 頁 # chmod 600 /etc/lilo.conf password 用于系統(tǒng)啟動時應(yīng)當輸入密碼; restricted 用于命令行啟動系統(tǒng)時(如:進入單用戶模式)需要輸入密碼。 7、系統(tǒng)內(nèi)核參數(shù)的配置 RedHat Linux 使用 sysctl 命令控制內(nèi)核參數(shù),并可以在/etc/sysctl.conf 中設(shè)置啟 動的內(nèi)核參數(shù)。比較重要的網(wǎng)絡(luò)安全參數(shù)有: net.ipv4.conf.default.accept_source_route=0 不接收源路由 ip 包 net.ipv4.conf.default.send_redirects=0 不發(fā)送重定向 ip 包 net.ipv4.conf.default.accept_redirects=0 不接收重定向 ip 包 net.ipv4.icmp_echo_ignore_broadcasts=1 忽略 icmp 廣播包 net.ipv4.ip_forward=0 禁止 ip 轉(zhuǎn)發(fā) sysctl -a 查看所有的內(nèi)核參數(shù) sysctl -w net.ipv4.ip_forward=0 禁止 ip 轉(zhuǎn)發(fā) 使用 vi 編輯/etc/sysctl.conf 文件,添加網(wǎng)絡(luò)安全參數(shù) # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) for # more details. # Controls IP packet forwarding net.ipv4.ip_forward = 0 # Controls source route verification net.ipv4.conf.default.rp_filter = 1 # Controls the System Request debugging functionality of the kernel kernel.sysrq = 0 # Controls whether core dumps will append the PID to the core filename. # Useful for debugging multi-threaded applications. kernel.core_uses_pid = 1 #### Add the networking security parameters #### net.ipv4.conf.default.send_redirects=0 net.ipv4.conf.default.accept_source_route=0 net.ipv4.conf.default.accept_redirects=0 net.ipv4.icmp_echo_ignore_broadcasts=1 net.ipv4.ip_forward=0 LINUX 評估加固手冊 第 14 頁 共 14 頁 8、選裝安全工具 工具名稱 TCP Wrapper 工具用途 該軟件為大多數(shù)網(wǎng)絡(luò)服務(wù)提供訪問控制與日志記錄的功能。 相關(guān)信息 ftp://ftp.porcupine.org/pub/security/ 工具名稱 Tripwire 工具用途 該工具為關(guān)鍵文件創(chuàng)建檢驗值數(shù)據(jù)庫,當這些關(guān)鍵文件發(fā)生變 化時,給 root 以提示信息。 相關(guān)信息 ftp://coast.cs.purdue.edu/pub/tools/unix/ids/tripwire/ 工具名稱 lsof 工具用途 該工具報告進程打開的文件、進程偵聽的端口等信息。 相關(guān)信息 ftp://coast.cs.purdue.edu/pub/tools/unix/sysutils/lsof/ 工具名稱 SSH 工具用途 該工具為主機間遠程通訊提供加密通道。用來代替 rsh、rlogin、telnet 等遠程登錄工具。 相關(guān)信息- 1.請仔細閱讀文檔,確保文檔完整性,對于不預覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
32 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- Linux 系統(tǒng)安全 加固 手冊
鏈接地址:http://appdesigncorp.com/p-1575517.html