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攻击,也只能算走运了。