日期:2011-09-07 13:28:00  来源:本站整理

操纵iptables来配置linux禁止全部端口登陆和开放指定端口[服务器安全]

赞助商链接



  本文“操纵iptables来配置linux禁止全部端口登陆和开放指定端口[服务器安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

1、关闭全部的 INPUT FORWARD OUTPUT 只对某些端口开放.
下面是号令实现:

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

再用号令 iptables -L -n 查看 能否设置好, 好看到全部 DROP 了
这样的设置好了,我们只是暂时的, 重启服务器还是会恢答复来没有设置的状况
还要利用 service iptables save 举行保存
看到信息 firewall rules 防火墙的法则 其实就是保存在 /etc/sysconfig/iptables
可以翻开文件查看 vi /etc/sysconfig/iptables
2、
下面我只翻开22端口,看我是若何操作的,就是下面2个语句

iptables -A INPUT -p tcp –dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT

再查看下 iptables -L -n 能否增添上去, 看到增添了

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  –  0.0.0.0/0            0.0.0.0/0           tcp dpt:22

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  –  0.0.0.0/0            0.0.0.0/0           tcp spt:22

目前Linux服务器只翻开了22端口,用putty.exe测试一下能否可以链接上去.
可以链接上去了,阐明没有问题.

最后别忘掉了保存 对防火墙的设置
通过号令:service iptables save 举行保存

iptables -A INPUT -p tcp –dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT
针对这2条号令举行一些讲授吧
-A 参数就当作是增添一条 INPUT 的法则
-p 指定是什么协议 我们常用的tcp 协议,当然也有udp 比方53端口的DNS
到时我们要配置DNS用到53端口 大家就会发现利用udp协议的

而 –dport 就是目标端口 当数据从外部进入服务器为目标端口
反之 数据从服务器出去 则为数据源端口 利用 –sport

-j 就是指定是 ACCEPT 接纳 大概 DROP 不接纳
3、禁止某个IP拜候
1台Linux服务器,2台windows xp 操作系统举行拜候
Linux服务器ip 192.168.1.99
xp1 ip: 192.168.1.2
xp2 ip: 192.168.1.8

下面看看我2台xp 都可以拜候的

192.168.1.2  这是 xp1 可以拜候的,
192.168.1.8 xp2 也是可以正常拜候的.

那么目前我要禁止 192.168.1.2 xp1 拜候, xp2 正常拜候,
下面看看演示

通过号令 iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP
这里意思就是 -A 就是增添新的法则, 怎样的法则呢? 由于我们拜候网站利用tcp的,
我们就用 -p tcp , 假如是 udp 就写udp,这里就用tcp了, -s就是 根源的意思,
ip根源于 192.168.1.2 ,-j 怎么做 我们回绝它 这里应当是 DROP

好,看看效果.好增添成功.下面举行考证 一下能否见效

一向呈现等候状况 最后 该页无法显示 ,这是 192.168.1.2 xp1 的拜候被回绝了.

再看看别的一台 xp 能否可以拜候, 是可以正常拜候的 192.168.1.8 是可以正常拜候的
4、若何删除法则
首先我们要知道 这条法则的编号,每条法则都有一个编号

通过 iptables -L -n –line-number 可以显示法则和相对应的编号
num  target     prot opt source               destination
1    DROP       tcp  –  0.0.0.0/0            0.0.0.0/0           tcp dpt:3306
2    DROP       tcp  –  0.0.0.0/0            0.0.0.0/0           tcp dpt:21
3    DROP       tcp  –  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
多了 num 这一列, 这样我们便可以 看到方才的法则对应的是 编号2

那么我们便可以举行删除了
iptables -D INPUT 2
删除INPUT链编号为2的法则.

再 iptables -L -n 查看一下 已经被排除了.
5、过滤无效的数据包
假定有人进入了服务器,大概有病毒木马程序,它可以通过22,80端口像服务器外传送数据.
它的这种方法就和我们正常拜候22,80端口辨别.它发向外发的数据不是我们通过拜候网页恳求
而回应的数据包.

下面我们要禁止这些没有通过恳求回应的数据包,通通把它们堵住掉.

iptables 供应了一个参数 是查抄状况的,下面我们来配置下 22 和 80 端口,避免无效的数据包.

iptables -A OUTPUT -p tcp –sport 22 -m state –state ESTABLISHED -j ACCEPT

可以看到和我们从前利用的:


iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT多了一个状况判断.

一样80端口也一样, 目前删掉本来的2条法则,
iptables -L -n –line-number    这个是查见解则并且带上编号.我们看到编号便可以
删除对应的法则了.

iptables -D OUTPUT 1     这里的1表示第一条法则.

当你删除了前面的法则, 编号也会随之改变.看到了吧.

好,我们删除了前面2个法则,22端口还可以正常利用,阐明没问题了

下面举行保存,别忘掉了,不然的话重启就会复原到本来的模样.

service iptables save    举行保存.

Saving firewall rules to /etc/sysconfig/iptables:          [  OK  ]
其实就是把方才设置的法则写入到 /etc/sysconfig/iptables 文件中.
6、DNS端口53设置
下面我们来看看若何设置iptables来翻开DNS端口,DNS端口对应的是53

大家看到我目前的情形了吧,只开放22和80端口, 我目前看看能不能解析域名.

host www.谷歌.com 输入这个号令后,一向等候,阐明DNS不通

呈现下面提醒 :
;; connection timed out; no servers could be reached

ping 一下域名也是不通
[root@localhost ~ping www.谷歌.com
ping: unknown host www.谷歌.com

我这里的缘由就是 iptables 限制了53端口.

有些服务器,分外是Web服务器减慢,DNS其实也有关系的,无法发送包到DNS服务器招致的.

下面演示下若何利用 iptables 来设置DNS 53这个端口,假如你不知道 域名服务端口号,你

可以用号令 : grep domain /etc/services

[root@localhost ~grep domain /etc/services
domain          53/tcp                          # name-domain server
domain          53/udp
domaintime      9909/tcp                        # domaintime
domaintime      9909/udp                        # domaintime

看到了吧, 我们普通利用 udp 协议.

好了, 开始设置...

iptables -A OUTPUT -p udp –dport 53 -j ACCEPT
这是我们 ping 一个域名,数据就是从本机出去,所以我们先设置 OUTPUT,
我们按照ping这个流程来设置.

然后 DNS 服务器收到我们发出去的包,就回应一个回来
iptables -A INPUT -p udp –sport 53 -j ACCEPT

同时还要设置
iptables -A INPUT -p udp –dport 53 -j ACCEPT
iptables -A OUTPUT -p udp –sport 53 -j ACCEPT

好了, 下面开始测试下, 可以用 iptables -L -n 查看设置情形,肯定没有问题便可以测试了

[root@localhost ~iptables -L -n
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  –  0.0.0.0/0            0.0.0.0/0           tcp dpt:22
ACCEPT     tcp  –  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
ACCEPT     udp  –  0.0.0.0/0            0.0.0.0/0           udp spt:53
ACCEPT     udp  –  0.0.0.0/0            0.0.0.0/0           udp dpt:53

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  –  0.0.0.0/0            0.0.0.0/0           tcp spt:22 state ESTABLISHED
ACCEPT     tcp  –  0.0.0.0/0            0.0.0.0/0           tcp spt:80 state ESTABLISHED
ACCEPT     udp  –  0.0.0.0/0            0.0.0.0/0           udp dpt:
  以上是“操纵iptables来配置linux禁止全部端口登陆和开放指定端口[服务器安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 操纵iptables来配置linux禁止全部端口登陆和开放指定端口
  • Linux下操纵iptables屏蔽IP段
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .