请选择 进入手机版 | 继续访问电脑版

onep罗浮宫

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2995|回复: 206

[【工具使用】] Iptables设置

  [复制链接]
  • TA的每日心情
    擦汗
    2017-10-26 06:32
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    21

    主题

    26

    帖子

    47

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    47
    发表于 2014-2-8 09:32:26 | 显示全部楼层 |阅读模式
    本帖最后由 liu198754 于 2014-2-8 09:33 编辑

    查看本机设置
    查看本机的Iptables设置使用下面的命令:
    [Bash shell] 纯文本查看 复制代码
    iptables -L -n
    通过iso文件刚安装完的纯净的ubuntu,查看一下防火墙设置的话,是这样没有任何规则的:
    [Bash shell] 纯文本查看 复制代码
    Chain INPUT (policy ACCEPT)
    target       prot opt source                 destination         
    Chain FORWARD (policy ACCEPT)
    target       prot opt source                 destination         
    Chain OUTPUT (policy ACCEPT)
    target       prot opt source                 destination

    没有任何规则。
    清除规则
    不管有没有配置过规则,在重新进行配置之前,需要先清除规则:
    [Bash shell] 纯文本查看 复制代码
    iptables -F        //清除预设表filter中的所有规则链的规则
    iptables -X        //清除预设表filter中使用者自定链中的规则

    设定预设规则
    这样就清除干净了,下面开始配置,先设定预设规则。
    对于防火墙的设置,有两种策略:一种是全部通讯口都允许使用,只是阻止一些我们知道的不安全的或者容易被利用的口;另外一种,则是先屏蔽所有的通讯口,而只是允许我们需要使用的通讯端口。
    [Bash shell] 纯文本查看 复制代码
    iptables -P INPUT DROP
    iptables -P OUTPUT ACCEPT
    iptables -P FORWARD DROP

    注意-P中的P需要大写,表示Protocol。
    可以看出INPUT,FORWARD两个链采用的是允许什么包通过,而OUTPUT链采用的是不允许什么包通过。
    当超出了IPTABLES里filter表里的两个链规则(INPUT、FORWARD)时,不在这两个规则里的数据包怎么处理呢,那就是DROP(放弃)。应该说这样配置是很安全的,我们要控制流入数据包。
    而对于OUTPUT链,也就是流出的包我们不用做太多限制,而是采取ACCEPT,也就是说,不在这个规则里的包怎么办呢,那就是通过。
    添加规则
    先来添加INPUT规则,因为INPUT预设的是DROP,所以要添加ACCEPT规则。
    首先是22端口,这个的用处地球人都知道。
    [Bash shell] 纯文本查看 复制代码
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT

    或者,你不写22,写ssh也可以。
    [Bash shell] 纯文本查看 复制代码
    iptables -A INPUT -p tcp --dport ssh -j ACCEPT

    给Web服务器开启80端口
    [Bash shell] 纯文本查看 复制代码
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT

    给FTP服务开启20和21端口
    [Bash shell] 纯文本查看 复制代码
    iptables -A INPUT -p tcp --dport 20 -j ACCEPT
    iptables -A INPUT -p tcp --dport 21 -j ACCEPT

    给邮件服务开启25和110端口
    [Bash shell] 纯文本查看 复制代码
    iptables -A INPUT -p tcp --dport 25 -j ACCEPT
    iptables -A INPUT -p tcp --dport 110 -j ACCEPT

    对于OUTPUT规则,因为预设的是ACCEPT,所以要添加DROP规则,减少不安全的端口链接。
    [Bash shell] 纯文本查看 复制代码
    iptables -A OUTPUT -p tcp --sport 31337 -j DROP
    iptables -A OUTPUT -p tcp --dport 31337 -j DROP

    具体要DROP掉哪些端口,可以查询相关的资料,可以把一些黑客常用的扫描端口全部DROP掉,多多少少提高一点服务器的安全性。
    我们还可以把规则限制到只允许某个IP:
    [Bash shell] 纯文本查看 复制代码
    iptables -A INPUT -s 192.168.0.18 -p tcp --dport 22 -j ACCEPT

    这表示只允许192.168.0.18的机器进行SSH连接。
    如果要允许一个IP段,可以使用下面的写法:
    [Bash shell] 纯文本查看 复制代码
    iptables -A INPUT -s 192.168.0.1/255 -p tcp --dport 22 -j ACCEPT

    这表示允许192.168.0.1/255IP段的机器进行连接。
    但是,注意我们前面已经添加一条规则来允许所有IP连接22端口,需要把这条规则删除掉。
    [Bash shell] 纯文本查看 复制代码
    iptables -D INPUT -p tcp --dport 22 -j ACCEPT

    对于FORWARD规则,因为预设的是DROP,所以要添加ACCEPT规则。
    开启转发功能
    [Bash shell] 纯文本查看 复制代码
    iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A FORWARD -i eth1 -o eh0 -j ACCEPT

    丢弃坏的TCP包
    [Bash shell] 纯文本查看 复制代码
    iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP

    处理IP碎片数量,防止攻击,允许每秒100个
    [Bash shell] 纯文本查看 复制代码
    iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT

    设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包
    [Bash shell] 纯文本查看 复制代码
    iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT

    Iptables的保存和调用
    现在该提一下保存的问题了。
    我们用命令来添加的设置,都不会自动保存,一旦退出,设置都将不存在了,需要手动去保存一下。
    [Bash shell] 纯文本查看 复制代码
    iptables-save >/etc/iptables.up.rules

    把刚才设置的规则保存到指定的地方,文件名可以自定义。
    调用Iptables设置
    [Bash shell] 纯文本查看 复制代码
    iptables-restore >/etc/iptables.up.rules

    由于每次开机或重启后都需要去调用一次,我们把它设置自动的,执行
    [Bash shell] 纯文本查看 复制代码
    sudo gedit /etc/network/interfaces

    [Bash shell] 纯文本查看 复制代码
    auto ath0
         iface ath0 inet dhcp

    后面,加上
    [Bash shell] 纯文本查看 复制代码
    pre-up iptables-restore >/etc/iptables.up.rules //开机时自动调用已经存在的Iptables设置
    post-down iptables-save >/etc/iptables.up.rule  //关机时自动保存当前的Iptables设置


    该用户从未签到

    0

    主题

    0

    帖子

    28

    积分

    普通凡人

    Rank: 1

    积分
    28
    发表于 2017-12-27 17:59:18 | 显示全部楼层

    该用户从未签到

    0

    主题

    0

    帖子

    17

    积分

    普通凡人

    Rank: 1

    积分
    17
    发表于 2017-12-27 18:08:47 | 显示全部楼层

    该用户从未签到

    0

    主题

    234

    帖子

    252

    积分

    禁止访问

    积分
    252
    发表于 2017-12-28 06:56:12 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    [发帖际遇]: 一个袋子砸在了 蓝调秋风oyu 头上,蓝调秋风oyu 赚了 3 G 金钱. 幸运榜 / 衰神榜

    该用户从未签到

    0

    主题

    236

    帖子

    233

    积分

    禁止发言

    积分
    233
    发表于 2017-12-28 08:17:30 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    [发帖际遇]: 淋漓高僧问他 发帖时在路边捡到 1 G 金钱,偷偷放进了口袋. 幸运榜 / 衰神榜

    该用户从未签到

    0

    主题

    0

    帖子

    28

    积分

    普通凡人

    Rank: 1

    积分
    28
    发表于 2017-12-28 10:08:25 | 显示全部楼层

    该用户从未签到

    0

    主题

    236

    帖子

    233

    积分

    禁止发言

    积分
    233
    发表于 2017-12-28 10:34:07 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽

    该用户从未签到

    0

    主题

    234

    帖子

    252

    积分

    禁止访问

    积分
    252
    发表于 2017-12-28 13:16:21 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    [发帖际遇]: 蓝调秋风oyu 被钱袋砸中进医院,看病花了 1 G 金钱. 幸运榜 / 衰神榜

    该用户从未签到

    0

    主题

    239

    帖子

    251

    积分

    禁止发言

    积分
    251
    发表于 2017-12-28 16:39:47 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽

    该用户从未签到

    0

    主题

    0

    帖子

    28

    积分

    普通凡人

    Rank: 1

    积分
    28
    发表于 2017-12-28 17:22:25 | 显示全部楼层
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|oeplj.com.  

    GMT+8, 2019-2-16 06:55 , Processed in 0.100716 second(s), 31 queries .

    Powered by Discuz! X3.1

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表