CentOS服务器iptables配置简单教程

 更新时间:2016年10月27日 16:55:47   作者:王忠惠  
这篇文章主要为大家详细介绍了CentOS服务器iptables配置简单教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

iptables是Linux类服务器重要的网络安全防范系统工具,考虑到多数服务器有专门的团队托管,服务器管理员多数时间只能通过SSH进行远程管理,在安全允许的情况下,保证SSH的合法联通,需要做如下的配置。

iptables -P INPUT ACCEPT
iptables -F
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -L -v

  这样能够保证SSH的22端口得到合法的通行,最后执行service iptables save,将刚才的配置保存。

  通过cat /etc/sysconfig/iptables可以查看iptables配置文件的信息,今后可以通过直接编辑该文件,增删配置条目。

  查看运行着的iptables的规则指令为:lsmod | grep ip_tables或iptables -L。

小编再补充一个知识点:防简单攻击iptables策略

#!/bin/sh
IPTABLES=/sbin/iptables



# clear
$IPTABLES -F

# if pkg type is allow, then accept
#$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT



# 如果同时在80端口的连接数大于10,就Drop掉这个ip

netstat -an | grep :80 | awk -F: '{ print $8 }' | sort | uniq -c | awk -F\  '$1>10 && $2!="" { print $2 }' >> /etc/fw.list
less /etc/fw.list | sort | uniq -c | awk -F\  '$2!="" { print $2 }' > /etc/fw.list2
less /etc/fw.list2 > /etc/fw.list
while read line

    do
    t=`echo "$line"`
    $IPTABLES -A INPUT -p tcp -s $t -j DROP
done < /etc/fw.list2

# IP转发
$IPTABLES -A INPUT -p tcp --dport 20002 -j ACCEPT
$IPTABLES -A INPUT -d 172.16.204.7 -p tcp -m tcp --dport 20002 -i eth0 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -d 211.100.39.44 -p tcp -m tcp --dport 20002 -j DNAT --to-destination 172.16.204.7:20002
$IPTABLES -t nat -A POSTROUTING -d 172.16.204.7 -p tcp -m tcp --dport 20002 -j SNAT --to-source 10.6.39.44


# if pkg visit 80,7710 port then accept
$IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 8080 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 873 -j ACCEPT
# $IPTABLES -A INPUT -i eth0 -m limit --limit 1/sec --limit-burst 5 -j ACCEPT
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --syn -m limit --limit 10/s -j ACCEPT
$IPTABLES -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT


# if pkg from allow ip then accept

$IPTABLES -A INPUT -p tcp -s 127.0.0.1  -j ACCEPT



# if pkg not above then deny

$IPTABLES -A INPUT -p tcp --syn -j DROP

下面这个防火墙测试结果更正确,能起到一定的防攻击的功能



#!/bin/sh

IPTABLES="/sbin/iptables"

echo "1" > /proc/sys/net/ipv4/ip_forward

$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -F
$IPTABLES -X


$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 80 --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT


$IPTABLES -A OUTPUT -p tcp -s 127.0.0.1 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -s 192.168.1.102 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -s 127.0.0.1 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -s 192.168.1.102 -j ACCEPT



$IPTABLES -A INPUT -p tcp --syn -j DROP

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 概述Linux TTY/PTS的区别

    概述Linux TTY/PTS的区别

    这篇文章主要介绍了概述Linux TTY/PTS的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • Linux 查看cpu 信息的命令及简单实例

    Linux 查看cpu 信息的命令及简单实例

    这篇文章主要介绍了Linux 查看cpu 信息的命令及简单实例的相关资料,需要的朋友可以参考下
    2016-10-10
  • apache tomcat 一个网站多域名的实现方法

    apache tomcat 一个网站多域名的实现方法

    因此处是进行多域名设置,所以 Apache 与 tomcat的结合没有详述,此处只是设置多域名的方法
    2009-02-02
  • Ubuntu系统日志配置 /var/log/messages的方法

    Ubuntu系统日志配置 /var/log/messages的方法

    今天小编就为大家分享一篇Ubuntu系统日志配置 /var/log/messages的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • linux清空文件等有用的指令总结

    linux清空文件等有用的指令总结

    下面小编就为大家带来一篇linux清空文件等有用的指令总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • shell判断一个变量是否为空方法总结

    shell判断一个变量是否为空方法总结

    在本篇文章里小编给大家分享了关于shell判断一个变量是否为空方法总结内容,有兴趣的朋友们学习下。
    2019-01-01
  • linux操作系统原理 linux系统基础教程

    linux操作系统原理 linux系统基础教程

    很多对linux操作系统有兴趣的朋友想有一个深入的学习,本篇文章给大家详细讲解了linux操作系统的原理,希望能够对你有所帮助。
    2018-01-01
  • Linux持续集成自动化安装Maven的方法

    Linux持续集成自动化安装Maven的方法

    今天小编就为大家分享一篇关于Linux持续集成自动化安装Maven的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Linux VPS安全设置之二 禁用ROOT账户

    Linux VPS安全设置之二 禁用ROOT账户

    我们网站是软件扫描,还是人为的操作端口的扫描弱命令是一种方法,其次就是猜测ROOT权限账户
    2012-09-09
  • linux系列之常用运维命令整理笔录(小结)

    linux系列之常用运维命令整理笔录(小结)

    这篇文章主要介绍了linux系列之常用运维命令整理笔录(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01

最新评论