Linux系統(tǒng)安全防護(hù)大全.pdf
《Linux系統(tǒng)安全防護(hù)大全.pdf》由會(huì)員分享,可在線閱讀,更多相關(guān)《Linux系統(tǒng)安全防護(hù)大全.pdf(8頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
Linux 安全文檔 關(guān)閉 sendmail 服務(wù) : rootsample # /etc/rc.d/init.d/sendmail stop 關(guān)閉 sendmail服務(wù) Shutting down sendmail: OK Shutting down sm-client: OK rootsample # chkconfig sendmail off 關(guān)閉 sendmail自啟動(dòng) rootsample # chkconfig -list sendmail 確認(rèn) sendmail 自啟動(dòng)已 被關(guān)閉(都為 off就 OK) sendmail 0:off 1:off 2:off 3:off 4:off 5:off 6:off 一、 帳號(hào)與口令 1刪除系統(tǒng)臃腫多余的賬號(hào): userdel lp 、 userdel sync 、 userdel shutdown 、 userdel halt 、 userdel news 、 userdel uucp、 userdel operator、 userdel games、 userdel gopher 、 userdel ftp ( 如果你不允許匿名 FTP,就刪掉這個(gè)用戶帳號(hào) ) groupdel lp、 groupdel news 、 groupdel uucp、 groupdel games、 groupdel dip 、 groupdel pppusers。 2口令的安全性:口令的長(zhǎng)度最少在 10位或以上,由數(shù)字,大小寫字母和特殊字符組合而 成,口令的字符組合要具有無(wú)規(guī)律性,不要用電話,生日,名字等有特殊意義的容易猜測(cè)的 數(shù)字或字母。 3 Linux中的帳號(hào)和口令是依據(jù) /etc/passwd 、 /etc/shadow、 /etc/group 、 /etc/gshadow 這四個(gè)文檔的,所以需要更改其權(quán)限提高安全性: chattr +i /etc/passwd chattr +i /etc/shadow chattr +i /etc/group chattr +i /etc/gshadow 如果還原,把 +i 改成 -i,再執(zhí)行一下上面四條命令。 注: i屬性:不允許對(duì)這個(gè)文件進(jìn)行修改,刪除或重命名, 設(shè)定連結(jié)也無(wú)法寫入或新增數(shù)據(jù)! 只有 root 才能設(shè)定這個(gè)屬性 二、 SSH 的安全設(shè)定 1 設(shè)定 sshd 服務(wù)器 vi /etc/ssh/sshd_config Port 10000 #更改 SSH 端口,最好改為 10000 以上,別人掃描到端口的機(jī)率也會(huì)下降。防火墻要開放配 置好的端口號(hào)。 Protocol 2 #禁用版本 1協(xié)議 , 因?yàn)槠湓O(shè)計(jì)缺陷 , 很容易使密碼被黑掉。 PermitRootLogin no #嘗試任何情況先都不允許 Root 登錄 . 生效后我們就不能直接以 root的方式登錄了,我們 需要用一個(gè)普通的帳號(hào)來(lái)登錄,然后用 su來(lái)切換到 root帳號(hào),注意 su 和 su - 是有一點(diǎn) 小小區(qū)別的。關(guān)鍵在于環(huán)境變量的不同, su -的環(huán) 境變量更全面。 PermitEmptyPasswords no 禁止空密碼登陸。 UseDNS no #SSH的連接登錄延時(shí)一般來(lái)說(shuō)是因?yàn)?sshd默認(rèn)打開了反向 DNS解析的問(wèn)題。 service sshd restart 使得 SSH生效。 2. 限制 ssh 使用者名單,只允許某些用戶帳號(hào)使用 ssh連接 : # vi /etc/pam.d/sshd 增加一條命令 auth required pam_listfile.so item=user sense=allow file=/etc/ssh/allow_list onerr=fail vi /etc/ssh/allow_list 添加您想允許使用 ssh 登入主機(jī)的帳號(hào),一行一個(gè)帳號(hào)。 或者: echo oracle /etc/ssh/allow_list 3. 使用 DenyHosts 阻止 SSH暴力破解 (同時(shí)可以保護(hù) FTP) DenyHosts是 Python語(yǔ)言寫的一個(gè)程序,它會(huì)分析 SSHD的日志文件, 當(dāng)發(fā)現(xiàn)重復(fù)的攻擊時(shí)就會(huì)記錄 IP 到 /etc/hosts.deny 文件,從而達(dá)到自 動(dòng)屏蔽 IP 的功能。 以下是安裝記錄 : # tar -zxvf DenyHosts-2.6.tar.gz # cd DenyHosts-2.6 # python setup.py install 默認(rèn)是安裝到 /usr/share/denyhosts/目錄的。 # cd /usr/share/denyhosts/ # cp denyhosts.cfg-dist denyhosts.cfg # cp daemon-control-dist daemon-control # vi daemon-control DENYHOSTS_BIN = “/usr/bin/denyhosts.py“ DENYHOSTS_LOCK = “/var/lock/subsys/denyhosts“ DENYHOSTS_CFG = “/usr/share/denyhosts/denyhosts.cfg“ # chown root daemon-control # chmod 700 daemon-control 完了之后執(zhí)行 daemon-contron start 就可以了。 # ./daemon-control start 如果要使 DenyHosts 每次重起后自動(dòng)啟動(dòng)還需做如下設(shè)置: # cd /etc/init.d # ln -s /usr/share/denyhosts/daemon-control denyhosts # chkconfig -add denyhosts # chkconfig -level 2345 denyhosts on 或者修改 /etc/rc.local 文件: # vi /etc/rc.local 加入下面這條命令 /usr/share/denyhosts/daemon-control start DenyHosts 配置文件說(shuō)明: # vi denyhosts.cfg 這里根據(jù)自己需要進(jìn)行相應(yīng)的配置 SECURE_LOG = /var/log/secure #sshd 日志文件,它是根據(jù)這個(gè)文件來(lái)判斷的,不同的操作系統(tǒng),文件名稍有不 同。 HOSTS_DENY = /etc/hosts.deny #控制用戶登陸的文件 PURGE_DENY = 5m #過(guò)多久后清除已經(jīng)禁止的 BLOCK_SERVICE = sshd BLOCK_SERVICE = vsftpd(如果啟用 FTP 服務(wù),務(wù)必加上這一行 ) #禁止的服務(wù)名 DENY_THRESHOLD_INVALID = 1 #允許無(wú)效用戶失敗的次數(shù) DENY_THRESHOLD_VALID = 10 #允許普通用戶登陸失敗的次數(shù) DENY_THRESHOLD_ROOT = 5 #允許 root 登陸失敗的次數(shù) HOSTNAME_LOOKUP=NO #是否做域名反解 DAEMON_LOG = /var/log/denyhosts #DenyHosts 的日志文件 三 、 網(wǎng)絡(luò)安全選項(xiàng) 的設(shè)定 編輯 “/etc/sysctl.conf“ 檔案,并加入下面幾行, # Enable ignoring broadcasts request (讓系統(tǒng)對(duì)廣播沒有反應(yīng)) net.ipv4.icmp_echo_ignore_broadcasts = 1 # Disables IP source routing(取消 IP source routing) net.ipv4.conf.all.accept_source_route = 0 # Enable TCP SYN Cookie Protection(開啟 TCP SYN Cookie 保護(hù)) net.ipv4.tcp_syncookies = 1 # Disable ICMP Redirect Acceptance( 取消 ICMP 接受 Redirect) net.ipv4.conf.all.accept_redirects = 0 # Enable bad error message Protection(開啟錯(cuò)誤訊息保護(hù)) net.ipv4.icmp_ignore_bogus_error_responses = 1 # Enable IP spoofing protection, turn on Source Address Verification(開啟 IP 欺騙 保護(hù)) net.ipv4.conf.all.rp_filter = 1 # Log Spoofed Packets, Source Routed Packets, Redirect Packets(記錄 Spoofed Packets, Source Routed Packets, Redirect Packets) net.ipv4.conf.all.log_martians = 1 最后重新啟動(dòng) network rootdeep /# /etc/rc.d/init.d/network restart 或者 sysctl p 生效 echo 1 /proc/sys/net/ipv4/icmp_echo_ignore_all 四、防火墻的設(shè)定 根據(jù)不同的服務(wù)器使用已定義好的 相應(yīng)的 防火墻規(guī)則。 假設(shè) 防火墻的文件為: firewall.sh 用法: sh firewall.sh 如果想開機(jī)即啟動(dòng)防火墻,則可以在 /etc/rc.d/rc.local 加上一句: sh firewall.sh 以下是 iptables 的簡(jiǎn)單說(shuō)明: 查看 規(guī)則 iptables -L -n 參數(shù)說(shuō)明: -L:列出目前的 table 的規(guī)則 -n:不進(jìn)行 IP 與 HOSTNAME 的轉(zhuǎn)換,屏幕顯示訊息的速度會(huì)快很多 清除規(guī)則 iptables -F 參數(shù)說(shuō)明: -F :清除所有的已訂定的規(guī)則; 定義政策 當(dāng)封包不在設(shè)定的規(guī)則之內(nèi)時(shí),則該封包的通過(guò)與否,以 Policy 的設(shè)定為準(zhǔn) 語(yǔ)法: iptables -P INPUT,OUTPUT,FORWARD ACCEPT,DROP 參數(shù)說(shuō)明: -P :定義政策 ( Policy )。 注意,這個(gè) P 為大寫??! INPUT :封包為輸入主機(jī)的方向; OUTPUT :封包為輸出主機(jī)的方向; FORWARD:封包為不進(jìn)入主機(jī)而向外再傳輸出去的方向; 范例: roottest root# /sbin/iptables -P INPUT DROP roottest root# /sbin/iptables -P OUTPUT ACCEPT roottest root# /sbin/iptables -P FORWARD ACCEPT 增加與插入規(guī)則 范例 : 1. 只要通過(guò) eth0 進(jìn)入本機(jī)的 21 端口的封包就丟棄 iptables A INPUT i eth0 p tcp dport 21 j DROP 2. 來(lái)自 192.168.1.25 的封包都丟棄 iptables A INPUT i eth0 p tcp s 192.168.1.25 j DROP 3. 來(lái)自 192.168.0.24 這個(gè) IP 的封包,想要到本機(jī)的 137, 138, 139 端口的都接受 iptables A INPUT i eth0 p tcp s 192.168.1.25 dport 137:139 j ACCEPT 參數(shù)說(shuō)明: -A :新增加一條規(guī)則,該規(guī)則增加在最后面,例如原本已經(jīng)有四條規(guī)則, 使用 -A 就可以加上第五條規(guī)則! -I :插入一條規(guī)則,如果沒有設(shè)定規(guī)則順序,預(yù)設(shè)是插入變成第一條規(guī)則, 例如原本有四條規(guī)則,使用 -I 則該規(guī)則變成第一條,而原本四條變成 25 -i :設(shè)定封包進(jìn)入的網(wǎng)絡(luò)卡接口 -p :請(qǐng)注意,這是小寫!封包的協(xié) 議 ! tcp :封包為 TCP 協(xié)定的封包; upd :封包為 UDP 協(xié)定的封包; icmp:封包為 ICMP 協(xié)定、 all :表示為所有的封包! -s :來(lái)源封包的 IP 或者是 Network ( 網(wǎng)域 ); -sport:來(lái)源封包的 port 號(hào)碼,也可以使用 port1:port2 如 21:23 同時(shí)通過(guò) 21,22,23 的意思 -d :目標(biāo)主機(jī)的 IP 或者是 Network ( 網(wǎng)域 ); -dport:目標(biāo)主機(jī)的 port 號(hào)碼; -j:動(dòng)作,可以接底下的動(dòng)作; ACCEPT :接受該封包 DROP :丟棄封包 五、 系統(tǒng)文件和日志的安全 1 更改 各種服務(wù)啟動(dòng)腳本目錄的 訪問(wèn) 權(quán)限: chmod -R 700 /etc/rc.d/ 更改系統(tǒng)文件的訪問(wèn)權(quán)限: chmod 700 /etc/services chmod 700 /etc/xinetd.conf chmod 700 /etc/inittab 2 更改日志的訪訪權(quán)限: chmod 700 /var/log/secure* chmod 700 /var/log/messages* 六、系統(tǒng)登陸的設(shè)定 1 每次登陸退出時(shí),清除所用過(guò)命令的歷史紀(jì) : 在 .bash_logout 文檔中增加一行: history c 2 設(shè)置系統(tǒng)全局環(huán)境變量文件 /etc/profile 增加 一行 TMOUT=600 單位為秒,表示 如果在 600 秒( 10 分鐘 ) 之 內(nèi) 沒有做任何的操作,登陸終端將自動(dòng)注銷。 3資源限制 編輯 /etc/security/limits.conf 加入 * hard core 0 * hard rss 5000 * hard nproc 20 同 時(shí) 必須編輯 /etc/pam.d/login 文件加 /檢查 下面 這一行的存在。 session required /lib/security/pam_limits.so 上面的命令分別是 禁止創(chuàng)建 core 文件 , 其他用戶 (除 root)最多使用 5M 內(nèi)存 , 限制 最多 進(jìn)程數(shù)為 20 4 只開啟一個(gè)登錄終端 , 修改 /etc/inittab 文件,注釋下面的這幾行: #ca:ctrlaltdel:/sbin/shutdown -t3 -r now #2:2345:respawn:/sbin/mingetty tty2 #3:2345:respawn:/sbin/mingetty tty3 #4:2345:respawn:/sbin/mingetty tty4 #5:2345:respawn:/sbin/mingetty tty5 #6:2345:respawn:/sbin/mingetty tty6 然后用 init q 生效 , 使服務(wù)器熱重啟失效。 七、 vsftp 配置 vsftpd 的配置文件有三個(gè),分別是: /etc/vsftpd/vsftpd.conf /etc/ vsftpd/vsftpd.ftpusers /etc/ vsftpd/vsftpd.user_list 其中, /etc/vsftpd.conf 是主配置文件。 /etc/vsftpd.ftpusers 中指定了哪些用戶不能訪問(wèn) FTP 服 務(wù)器。 /etc/vsftpd.user_list 中指定的用戶默認(rèn)情況下(即在 /etc/vsftpd.conf 中設(shè)置了 userlist_deny= YES)不能訪問(wèn) FTP 服務(wù)器,當(dāng)在 /etc/vsftpd.conf 中設(shè)置了 userlist_deny=NO 時(shí),僅僅允許 /etc/vsftpd.user_list 中指定的用戶訪問(wèn) FTP 服務(wù)器。 請(qǐng)?jiān)?/etc/vsftpd.conf 中設(shè)置 userlist_deny=NO,通過(guò) /etc/vsftpd.user_list 嚴(yán)格控制 FTP 用戶。 配置基本的性能和安全選項(xiàng) /禁止匿名登陸 anonymous_enable=NO (默認(rèn)為 YES) /設(shè)置空閑的用戶會(huì)話的中斷時(shí)間 例如下面的配置: idle_session_timeout=600 將在用戶會(huì)話空閑 10 分鐘后被中斷。 /設(shè)置空閑的數(shù)據(jù)連接的的中斷時(shí)間 例如下面的配置: data_connection_timeout=120 將在數(shù)據(jù)連接空閑 2 分鐘后被中 斷。 /設(shè)置客戶端空閑時(shí)的自動(dòng)中斷和激活連接的時(shí)間 例如下面的配置: accept_timeout=60 connect_timeout=60 將使客戶端空閑 1 分鐘后自動(dòng)中斷連接,并在中斷 1 分鐘后自動(dòng)激活連接 /設(shè)置最大傳輸速率限制 例如下面的配置:(傳輸速率可根據(jù)實(shí)際情況自行修改) local_max_rate=50000 anon_max_rate=30000 將使本地用戶的最大傳輸速率為 50kbytes / sec,匿名用戶的 傳輸速率為 30 kbytes / sec。 /設(shè)置客戶端連接時(shí) 的端口范圍 例如下面的配置: pasv_min_port=50000 pasv_max_port=60000 將使客戶端連接時(shí)的端口范圍在 50000 和 60000 之間。這提高了系統(tǒng)的安全性 1 截短歷史命令 “/.bash_history“文件,這個(gè)文件中保存著以前使用的命令列表。截短這個(gè) 文件可以使您以前執(zhí)行過(guò)的命令暴露在別人眼光下的機(jī)會(huì)減小 .(在您的命令中很可能包括 象密碼信息這樣的保密信息 )。通過(guò)編輯 /etc/profile 的下面兩項(xiàng)可以做到這一點(diǎn): HISTFILESIZE=20 HISTSIZE=20 2 通過(guò)下面的措施可以防止任何人都可以 su 為 root: 編輯 su 文件( vi /etc/pam.d/su)在文件的頭部加入下面兩行: auth sufficient /lib/security/pam_rootok.so debug auth required /lib/security/pam_wheel.so group=wheel 3 使 Control-Alt-Delete 軟關(guān)機(jī)無(wú)效 編輯 inittab 文件( vi /etc/inittab)把這一行: ca:ctrlaltdel:/sbin/shutdown -t3 -r now 改為: #ca:ctrlaltdel:/sbin/shutdown -t3 -r now 用下面的命令使改變生效: rootsound# /sbin/init q- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
10 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- Linux 系統(tǒng)安全 防護(hù) 大全
鏈接地址:http://www.szxfmmzy.com/p-1983656.html