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ù) : [root@sample ~]# /etc/rc.d/init.d/sendmail stop ← 關(guān)閉 sendmail服務(wù) Shutting down sendmail: [ OK ] Shutting down sm-client: [ OK ] [root@sample ~]# chkconfig sendmail off ← 關(guān)閉 sendmail自啟動(dòng) [root@sample ~]# 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ù)字,大小寫字母和特殊字符組合而 成,口令的字符組合要具有無規(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é)也無法寫入或新增數(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)來登錄,然后用 su來切換到 root帳號(hào),注意 su 和 su - 是有一點(diǎn) 小小區(qū)別的。關(guān)鍵在于環(huán)境變量的不同, su -的環(huán) 境變量更全面。 PermitEmptyPasswords no #禁止空密碼登陸。 UseDNS no #SSH的連接登錄延時(shí)一般來說是因?yàn)?sshd默認(rèn)打開了反向 DNS解析的問題。 # 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語言寫的一個(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 配置文件說明: # vi denyhosts.cfg 這里根據(jù)自己需要進(jìn)行相應(yīng)的配置 SECURE_LOG = /var/log/secure #sshd 日志文件,它是根據(jù)這個(gè)文件來判斷的,不同的操作系統(tǒng),文件名稍有不 同。 HOSTS_DENY = /etc/hosts.deny #控制用戶登陸的文件 PURGE_DENY = 5m #過多久后清除已經(jīng)禁止的 BLOCK_SERVICE = sshd BLOCK_SERVICE = vsftpd(如果啟用 FTP 服務(wù),務(wù)必加上這一行 ) #禁止的服務(wù)名 DENY_THRESHOLD_INVALID = 1 #允許無效用戶失敗的次數(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 [root@deep /]# /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)單說明: 查看 規(guī)則 iptables [-L] [-n] 參數(shù)說明: -L:列出目前的 table 的規(guī)則 -n:不進(jìn)行 IP 與 HOSTNAME 的轉(zhuǎn)換,屏幕顯示訊息的速度會(huì)快很多 清除規(guī)則 iptables -F 參數(shù)說明: -F :清除所有的已訂定的規(guī)則; 定義政策 當(dāng)封包不在設(shè)定的規(guī)則之內(nèi)時(shí),則該封包的通過與否,以 Policy 的設(shè)定為準(zhǔn) 語法: iptables [-P] [INPUT,OUTPUT,FORWARD] [ACCEPT,DROP] 參數(shù)說明: -P :定義政策 ( Policy )。 注意,這個(gè) P 為大寫??! INPUT :封包為輸入主機(jī)的方向; OUTPUT :封包為輸出主機(jī)的方向; FORWARD:封包為不進(jìn)入主機(jī)而向外再傳輸出去的方向; 范例: [root@test root]# /sbin/iptables -P INPUT DROP [root@test root]# /sbin/iptables -P OUTPUT ACCEPT [root@test root]# /sbin/iptables -P FORWARD ACCEPT 增加與插入規(guī)則 范例 : 1. 只要通過 eth0 進(jìn)入本機(jī)的 21 端口的封包就丟棄 iptables –A INPUT –i eth0 –p tcp –dport 21 –j DROP 2. 來自 192.168.1.25 的封包都丟棄 iptables –A INPUT –i eth0 –p tcp –s 192.168.1.25 –j DROP 3. 來自 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ù)說明: -A :新增加一條規(guī)則,該規(guī)則增加在最后面,例如原本已經(jīng)有四條規(guī)則, 使用 -A 就可以加上第五條規(guī)則! -I :插入一條規(guī)則,如果沒有設(shè)定規(guī)則順序,預(yù)設(shè)是插入變成第一條規(guī)則, 例如原本有四條規(guī)則,使用 -I 則該規(guī)則變成第一條,而原本四條變成 2~5 -i :設(shè)定『封包進(jìn)入』的網(wǎng)絡(luò)卡接口 -p :請(qǐng)注意,這是小寫!封包的協(xié) 議 ! tcp :封包為 TCP 協(xié)定的封包; upd :封包為 UDP 協(xié)定的封包; icmp:封包為 ICMP 協(xié)定、 all :表示為所有的封包! -s :來源封包的 IP 或者是 Network ( 網(wǎng)域 ); --sport:來源封包的 port 號(hào)碼,也可以使用 port1:port2 如 21:23 同時(shí)通過 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)腳本目錄的 訪問 權(quán)限: chmod -R 700 /etc/rc.d/ 更改系統(tǒng)文件的訪問權(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í),清除所用過命令的歷史紀(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 中指定了哪些用戶不能訪問 FTP 服 務(wù)器。 /etc/vsftpd.user_list 中指定的用戶默認(rèn)情況下(即在 /etc/vsftpd.conf 中設(shè)置了 userlist_deny= YES)不能訪問 FTP 服務(wù)器,當(dāng)在 /etc/vsftpd.conf 中設(shè)置了 userlist_deny=NO 時(shí),僅僅允許 /etc/vsftpd.user_list 中指定的用戶訪問 FTP 服務(wù)器。 請(qǐng)?jiān)?/etc/vsftpd.conf 中設(shè)置 userlist_deny=NO,通過 /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í)行過的命令暴露在別人眼光下的機(jī)會(huì)減小 .(在您的命令中很可能包括 象密碼信息這樣的保密信息 )。通過編輯 /etc/profile 的下面兩項(xiàng)可以做到這一點(diǎn): HISTFILESIZE=20 HISTSIZE=20 2 通過下面的措施可以防止任何人都可以 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ī)無效 編輯 inittab 文件( vi /etc/inittab)把這一行: ca::ctrlaltdel:/sbin/shutdown -t3 -r now 改為: #ca::ctrlaltdel:/sbin/shutdown -t3 -r now 用下面的命令使改變生效: [root@sound]# /sbin/init q- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 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.820124.com/p-1983656.html