Archive for 一月, 2011

CentOS iptables配置筆記

2011-01-14

針對網站近期被入侵的現狀,對iptables做以下設置,提升服務器安全性能

(1)屏蔽所有端口
(2)把SSH的缺省端口設置為56565
(3)把56565、80、3306端口打開
(4)把3306端口設置為只允許本機訪問

如果沒有安裝iptables的話,運行命令yum install iptables完成iptables安裝

初始化安裝以后,顯示為以下信息:

  1. [root@tp ~]# iptables -L -n
  2.  
  3. Chain INPUT (policy ACCEPT)
  4.  
  5. target prot opt source destination
  6.  
  7. Chain FORWARD (policy ACCEPT)
  8.  
  9. target prot opt source destination
  10.  
  11. Chain OUTPUT (policy ACCEPT)
  12.  
  13. target prot opt source destination

(1)屏蔽所有端口

  1. [root@tp ~]# iptables -F
  2. [root@tp ~]# iptables -X
  3. [root@tp ~]# iptables -P INPUT DROP
  4. [root@tp ~]# iptables -P OUTPUT DROP
  5. [root@tp ~]# iptables -P FORWARD DROP

當超出了IPTABLES里filter表里的兩個鏈規則 (INPUT,FORWARD)時,不在這兩個規則里的數據包怎么處理呢,那就是DROP(放棄),有同學喜歡配置OUTPUT為accpet,因為如果被入侵,對方可以使用服務器做為中轉,發起攻擊,也會產生大量的數據包,所以這里配置為DROP

(2)把SSH的缺省端口設置為56565

在修改ssh端口時,應先把要修改的端口號56565加入白名單

  1. [root@tp ~]# iptables -A INPUT -p tcp --dport 56565 -j ACCEPT
  2. [root@tp ~]# iptables -A OUTPUT -p tcp --sport 56565 -j ACCEPT
  3. [root@tp ~]# /etc/rc.d/init.d/iptables save
  4. [root@tp ~]# service iptables restart

再修改端口號

  1. [root@linux ~]# vi /etc/ssh/sshd_config

將"#Port 22"修改為"Port 56565"

重啟ssh服務

  1. [root@linux ~]# /etc/init.d/sshd restart
  2. Stopping sshd: [ OK ]
  3. Starting sshd: [ OK ]

如果想看看sshd端口號是否修改成功的話,可以使用 netstat -an 命令查看一下或退出ssh使用新端口號登陸嘗試。

(3)把80端口打開

  1. [root@tp ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  2. [root@tp ~]# iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
  3. [root@tp ~]# /etc/rc.d/init.d/iptables save
  4. [root@tp ~]# service iptables restart

(4)把3306端口設置為只允許本機訪問

  1. [root@tp ~]#/sbin/iptables -A INPUT -p tcp -s 127.0.0.1 --dport 3306 -j ACCEPT
  2. [root@tp ~]#/sbin/iptables -A OUTPUT -p tcp -s 127.0.0.1 --dport 3306 -j ACCEPT

至此,完成CentOS iptables配置,此配置可提升服務器安全性能,過濾掉一些常見的linux攻擊,對于少量爆超管系統權限的linux 0day攻擊,也只能算走運了。
 

女校剑道部官网