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