`
Fred_Han
  • 浏览: 147061 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

iptables 参数

 
阅读更多

一、iptables入门

     当今黑客入侵电脑有很多种途径,其中通过端口进行入侵比较普遍。特别是作为服务器的计算机,关闭不必要的端口,这是最简单的也是最常用的防御黑入侵的做法。用Linux作为服务器操作系统,使用Linux自带的iptables可以实现这功能。

 

   1、查看一下iptables策略的组成

[root@localhost ~]# iptables -L -n
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  

 

得知, iptables 策略由3个部分组成:INPUT, FORWARD 和 OUTPUT

a.INPUT 网络数据包流向服务器

b.OUTPUT 网络数据包从服务器流出

c.FORWARD 网络数据包经服务器路由

 

    2、关闭策略

关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放。

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

用命令 iptables -L -n 查看,得到:

[root@localhost ~]# iptables -L -n
Chain INPUT (policy DROP)
target     prot opt source               destination        

Chain FORWARD(policy DROP)
target     prot opt source               destination        

Chain OUTPUT(policy DROP)
target     prot opt source               destination  

    

这样的设置只是临时的, 重启服务器还是会恢复原来没有设置的状态(policy ACCEPT),要想重启后仍然生效需要

使用service iptables save 进行保存,会提示保存信息到 /etc/sysconfig/iptables,所以我们可以打开文件查看 vi /etc/sysconfig/iptables

    

DROP 可以这样理解:

    当INPUT =DROP,表示防火墙遇到数据就不接受它,不让它进入服务器

    当OUTPUT=DROP,表示防火墙阻止从服务器流出的数据

    当FORWARD=DROP,表示服务器不允许经服务器路由

 

    3、开启INPUT策略
# iptables -P INPUT  ACCEPT

# iptables -P FORWARD ACCEPT

# iptables -P OUTPUT ACCEPT

 

 

二、只开启某个端
在配置服务器时候,通常是只打开某个特定的端口(服务需要的端口),关闭不需要的端口来提高服务器的安全性。

下面就用端口22来举个例子如何实现只允许端口22的访问,其他端口全部都不能访问的(端口22是用ssh软件访问Linux的端口)。

 

a、查看当前服务器端口开启情况:

通过netstat -tnl 查看当前服务器打开了哪些端口

[root@localhost ~]# netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State     
tcp        0      0 127.0.0.1:2208              0.0.0.0:*                   LISTEN     
tcp        0      0 0.0.0.0:673                 0.0.0.0:*                   LISTEN     
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN     
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN     
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN     
tcp        0      0 127.0.0.1:2207              0.0.0.0:*                   LISTEN     
tcp        0      0 :::22                       :::*                        LISTEN     
tcp        0      0 ::1:631                     :::*                        LISTEN     

开启的端口挺多的,其中22(ssh)端口也是开启的

 

b、查看防火墙设置

通过命令:iptables -L -n 查看,得知防火墙 INPUT FORWARD OUTPUT 三个部分全部是 ACCEPT 的,也就是没有做任何限制

通过 SSH软件来链接服务器,可以成功链接上去。

 

c、关闭所有的端口

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

稍等会发现SSH链接断开了,说明已经关闭了端口。

 

d、只打开22端口

# 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端口,用SSH测试,可以链接上去。
通过命令:service iptables save 进行保存

 

备注:

# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
-A :添加一条 INPUT 的规则
-p :指定是什么协议 我们常用的tcp 协议,当然也有udp 例如53端口的DNS

--dport :目标端口 当数据从外部进入服务器为目标端口
反之 数据从服务器出去 则为数据源端口 使用 --sport

-j :指定是 ACCEPT 接收 或者 DROP 不接收

转自:http://blog.csdn.net/test_me/article/details/5572195

分享到:
评论

相关推荐

    iptables命令参数大全

    1. 打开ip包转发功能  echo 1 > /proc/sys/...2. 在NAT/防火墙计算机上的NAT表中添加目的地址转换规则: iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 202.96.134.130:80

    iptables思维导图

    iptables思维导图 很精致 很全面 很强大

    iptables基本命令规则简介

    iptables 主要参数: * -A 向规则链中添加一条规则,默认被添加到末尾 * -T 指定要操作的表,默认是 filter * -D 从规则链中删除规则,可以指定序号或者匹配的规则来删除 * -R 进行规则替换 * -I 插入一条规则,...

    Linux iptables Pocket Refrence

    - **iptables Command Reference(iptables命令参考)**:详细介绍了iptables的各个子命令及其参数。 - **The iptables Subcommands(iptables子命令)**:包括如`-A`添加规则、`-D`删除规则、`-R`替换规则等。 - **...

    iptables脚本

    用户可以方便地通过Web界面输入所需参数,脚本则根据这些参数动态生成iptables命令,并设置相应的规则。此外,脚本还支持默认策略的设置以及规则的保存与恢复,极大地提高了iptables规则管理的灵活性和便捷性。

    iptables命令全参数大全.doc

    iptables命令全参数大全.doc

    Iptables速查手册

    - **命令参数解释**: - `-t table`: 指定使用的表。 - `{command}`: 操作命令,如 `INSERT`, `APPEND`, `DELETE`, `FLUSH`, `SAVE`, `RESTORE` 等。 - `[chain]`: 链名称。 - `[match]`: 匹配条件。 - `-j ...

    iptabler:节点的iptables!

    iptables参数 请参见以获取可能的参数列表。 原料药 iptabler([options]) options参数是一个对象,它的属性名称映射到链接的方法名称,而方法名称又映射到命令行参数。 对于带连字符的参数,方法名称和属性采用驼峰...

    iptables高级应用实战案例

    在iptables中设置SNAT的步骤包括配置内外网网卡的网络参数、开启路由转发功能、编写规则、配置客户端网关,并且还需要做好安全控制,比如设置INPUT规则和FORWARD链,以防止未授权的访问。 对于DNAT目的地址转换而言...

    iptables指南 1.1.19

    rc.firewall是iptables防火墙配置的一个实例,它涉及一系列参数配置、模块加载、/proc设置、规则位置优化、缺省策略设置和自定义链设置。rc.firewall的实际应用包括INPUT链、FORWARD链、OUTPUT链、PREROUTING链和...

    iptables常用命令和使用

    ### iptables常用命令详解 #### 一、iptables简介 **iptables** 是一款强大的包过滤防火墙工具,它允许用户通过定义一系列复杂的规则来控制进出主机的数据包。此工具需要Linux内核版本至少为2.4及以上,对于2.6及...

    配置 Linux-iptables

    这些规则存储在内核空间的信息包过滤表中,并且包含了各种参数如源地址、目的地址、传输协议(TCP、UDP、ICMP等)以及服务类型(HTTP、FTP、SMTP等)。当数据包与规则匹配时,iptables会根据规则所定义的动作来处理...

    iptables帮助文件

    #### 命令参数 - `-t table`: 指定操作的表,默认为`filter`表。 - `-p protocol`: 指定协议类型,如`tcp`、`udp`等。 - `-s source`: 指定源IP地址或子网掩码。 - `-d destination`: 指定目标IP地址或子网掩码。 - ...

    iptables讲义(CU白金)-1.4

    iptables讲义(CU白金)-1.4,讲解点还是清楚明白的,看过后让你知道,iptables的功能以及使用参数。

    Iptables 指南 1.1.19

    7.2.1. 参数配置 7.2.2. 外部模块的装载 7.2.3. proc的设置 7.2.4. 规则位置的优化 7.2.5. 缺省策略的设置 7.2.6. 自定义链的设置 7.2.7. INPUT链 7.2.8. FORWARD链 7.2.9. OUTPUT链 7.2.10. PREROUTING链 7.2.11. ...

    iptables 模块

    New netfilter match 描述了 iptables -m 中一些常用的模块功能,参数,配置实例,例如: ah-esp condition conntrack fuzzy iplimit ipv4options length nth pkttype u32 等,基本全部模块。

    iptables-restore命令 还原iptables表的配置

    语法格式:iptables-restore [参数] 常用参数: -c 指定在还原iptables表时候,还原当前的数据包计数器和字节计数器的值 -t 指定要还原表的名称 参考实例 还原iptables配置: [root@linuxcool ~]# iptables-...

    070604iptables应用L71

    接着,使用 make menuconfig 命令设定内核参数,包括 Code maturity level options、Networking options 和 IP tables support 等。 编译新内核后,需要重新编译 iptables,并安装 Layer7 协议。最后,重启系统并...

Global site tag (gtag.js) - Google Analytics