防火墙之基础篇(iptable)

原创 2004年10月20日 11:17:00
我们知道网上的访问通过tcp/ip封包来进入主机系统的。在linux中它一般要同过ip过滤机制来实现第一层防护,如果通过了这层防护还的通过下一关的检查 那就是TCP_Wrappers 的功能。
封包过滤( IP Filter ):
封包过滤是 linux 提供的第一道防火墙呦!但是不同的核心版本会有不一样的封包过滤机制!以 2.2.xx 为核心的 Linux 主要以 ipchains 作为过滤机制,至于目前新版的 2.4.xx 则以 iptables 为机制!OK!既然我们的 Red Hat 7.1, 7.2, 7.3 为 kernel 2.4.xx ,所以用 iptables 来进行 IP 抵挡的工作啦!那么由于 TCP 封包里头有 IP 及 port ,所以要抵挡来源 IP 或者是自身的 port ,自然就很容易来进行啦!您目前只要知道 iptables 可以经由 TCP 的封包表投资料来进行分析的工作例如:和附规则的就通过,否则就把它丢弃 这样就防止不符合规则的人进入你的电脑。
至于抵挡封包的工作则可以让 TCP_Wrappers 来进行
要常常去看 /var/log/messages 与 /var/log/secure 这两个个档案!都是登陆登录记录等。
要做好主机的防护,第一步就是要建立完善的密码规则啦!因为这个咚咚常常是 cracker 尝试入侵的第一步!你必须要建立好主机的密码规则,可以尝试以 chattr 来将 /etc/passwd 及 /etc/shadow 做成不可变更的档案!较为安全啦!
做好安全的几个常见的工作
1.升级与修补套件漏洞、及移除危险套件:
2.每项系统服务的安全设定项目
3.TCP_Wrappers 的基础防火设定
4.iptables 的防火规则设定
5.主机资源侦测系统( MRTG )
6.登录档案分析系统:

iptables:
iptables 是 linux Kernel 2.4.xx 版本以上的主要 IP 过滤机制!他最大的功能就是可以过滤掉不要的 TCP 封包啦!当然功能还不止于此,他还可以用来进行 IP 伪装,以达成 NAT 的主机功能呢! iptables 的工作方向,必须要依规则的顺序来分析,底下我们简单的谈一谈 iptables 的几个概念吧:
有几个 tables :
跟之前版本的 ipchains 不同的地方是, iptables 可以自行定义一些 tables 的新规定!将可以让防火墙规则变的更为便于管理呢!基本上,原本的 iptable 至少有两个 table ,一个是 filter ( 预设的,没有填写 tables 时,就是 filter 这个 table 啦 ),一个则是相当重要的 nat table 。其中, filter 可以用来管理主机的安全,至于 nat 则是用来处理 NAT 的功能啦!
清除规则:
iptables 的订定方法其实很简单,就是使用指令列的方式来订定而已,他的基础语法在清除规则时,是这样的:
[root @test /root]# /sbin/iptables [-FXZ]
参数说明:
-F :清除所有的已订定的规则;
-X :杀掉所有使用者建立的 chain (应该说的是 tables )啰;
-Z :将所有的 chain 的计数与流量统计都归零
范例:
[root @test /root]# /sbin/iptables -F
[root @test /root]# /sbin/iptables -X
[root @test /root]# /sbin/iptables -Z
请注意,如果在远程联机的时候,『这三个指令必须要用 scripts 来连续执行』,不然肯定『会让你自己被主机挡在门外!』
 
定义政策( Policy ):
清除规则之后,再接下来就是要设定规则的政策啦!这个所谓的政策指的是『当你的封包不在你的规则之内时,则该封包的通过与否,以 Policy 的设定为准』,例如:你设定了十条规则,但有一个封包来的时候,这十条规则都不适用,这个时候此一封包就会依据 Policy 的规定为准,来决定是否可以通过防火墙啰。通常这个政策在 INPUT 方面可以定义的比较严格一点,而 FORWARD 与 OUTPUT 则可以订定的松一些!
[root @test /root]# /sbin/iptables [-t tables] [-P] [INPUT,OUTPUT,FORWARD| PREROUTING,OUTPUT,POSTROUTING] [ACCEPT,DROP]
参数说明:
-t   :定义 table !
tables :table 的名称,例如 nat 啰!
-P   :定义政策( Policy )。
INPUT :封包为输入主机的方向;
OUTPUT :封包为输出主机的方向;
FORWARD:封包为不进入主机而向外再传输出去的方向;
PREROUTING :在进入路由之前进行的工作;
OUTPUT   :封包为输出主机的方向;
POSTROUTING:在进入路由之后进行的工作。
范例:
[root @test /root]# /sbin/iptables -P INPUT ACCEPT
[root @test /root]# /sbin/iptables -P OUTPUT ACCEPT
[root @test /root]# /sbin/iptables -P FORWARD ACCEPT
[root @test /root]# /sbin/iptables -t nat -P PREROUTING ACCEPT
[root @test /root]# /sbin/iptables -t nat -P OUTPUT ACCEPT
[root @test /root]# /sbin/iptables -t nat -P POSTROUTING ACCEPT
将预设的政策都定义为接受啰!
 
增加、插入规则:
接下来则要定义规则啦!我们底下先完全以主机的角度来观察!可以这样来设定啦!
[root @test /root]# /sbin/iptables [-AI] [INPUT,OUTPUT,FORWARD] [-io interface] [-p TCP,UDP] [-s IP/network] [--sport ports] [-d IP/network] [--dport ports] -j [ACCEPT,DROP]
参数说明:
-A   :新增加一条规则,该规则增加在最后面一行;
-I   :在第一条规则加入;
INPUT :封包为输入主机的方向;
OUTPUT :封包为输出主机的方向;
FORWARD:封包为不进入主机而向外再传输出去的方向;
-i    :流入的网卡接口
-o    :流出的网卡接口
interface :网络卡接口,例如 ppp0, eth0, eth1....
-p :请注意,这是小写呦!封包的协议啦!
TCP :封包为 TCP 协议的封包;
UDP :封包为 UDP 协议的封包;
-s :来源封包的 IP 或者是 Network ( 网域 );
--sport:来源封包的 port 号码;
-d :目标主机的 IP 或者是 Network ( 网域 );
--dport:目标主机的 port 号码;
-j   :动作,可以接底下的动作;
ACCEPT :接受该封包
DROP  :丢弃封包
范例:
[root @test /root]# /sbin/iptables -A INPUT -i lo -j ACCEPT
所有的来自 lo 这个接口的封包,都予以接受
[root @test /root]# /sbin/iptables -A INPUT -i eth0 -p TCP -s 192.168.0.1 -j ACCEPT
来自 192.168.0.1 这个 IP 的封包都予以接受
[root @test /root]# /sbin/iptables -A INPUT -i eth0 -p TCP -s 192.168.1.0/24 -j ACCEPT
来自 192.168.1.0 这个 C Class 的网域的任何一部计算机,就予以接受!
[root @test /root]# /sbin/iptables -A INPUT -i eth0 -p TCP -s 192.168.1.25 -j DROP
来自 192.168.1.25 的 IP 的封包,就直接全部给他丢弃!
[root @test /root]# /sbin/iptables -A INPUT -i eth0 -p TCP --dport 21 -j DROP
只要想要进来 21 这个 port 的封包,就把他丢弃!
[root @test /root]# /sbin/iptables -A INPUT -i eth0 -p TCP -s 192.168.0.24 --dport 22 -j ACCEPT
来自 192.168.0.24 的主机,想要到我的 port 22 时,就予以接受!
请注意:防火墙的规则是『一行一行依序来检查的,若符合任何一条规则,则予以动作(接受或丢弃),否则继续往下检查到最后一条』上
TCP_Wrappers:
这个 TCP_Wrappers 实在是很简单的一个设定工作,因为他只要设定 /etc/hosts.allow 及 /etc/hosts.deny 就可以啦!基本上,他是经由 /usr/sbin/tcpd 这个程序来进行 TCP 的检验工作!而检验的方式则是以 /etc/hosts.allow 及 /etc/hosts.deny 来设定的啦!检验的流程是先以 /etc/hosts.allow 这个档案,检验完之后,在到 /etc/hosts.deny 去搜寻!好了,那么 hosts.allow 要怎样设定呢?
<服务名称> : <IP/network> : <action>
特别注意, network 可以使用 192.168.0.0/255.255.255.0 ,但不可使用 192.168.0.0/24 !
[root @test /root]# vi /etc/hosts.allow
in.telnetd: 127.0.0.1 : allow
in.ftpd: 127.0.0.1 : allow
本机的 127.0.0.1 开放 telnet 及 ftp 哩!
[root @test /root]# vi /etc/hosts.deny
in.telnetd: 192.168.2.3 : deny
将 192.168.2.3 的 telnet 服务关掉!

Java 之JNI基础篇(一)

JNI,即Java Native Interface。它其实就是一套java与本地代码交互的接口或者说是一个协议。通俗的比喻,就是中国人讲中国话,日本人讲日本话,于是中国人碰到日本人,各说各话,无法交...
  • yingshukun
  • yingshukun
  • 2018年01月13日 18:51
  • 10039

iptable防火墙命令个人整理

Iptable防火墙介绍: 目前市面上比较常见的有3、4层的防火墙,叫网络层的防火墙,还有7层的防火墙,其实是代理层的网关。 防火墙策略一般分为两种,通策略,默认门是关着的,必须要定义谁能进。堵策...
  • lhs4672
  • lhs4672
  • 2017年04月01日 16:19
  • 684

深度学习word2vec笔记之基础篇

深度学习word2vec笔记之基础篇
  • mytestmy
  • mytestmy
  • 2014年05月25日 16:00
  • 67775

防火墙iptable的原理

1. netfilter与iptables Netfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤、...
  • xinyuan510214
  • xinyuan510214
  • 2016年05月25日 11:27
  • 695

防火墙基础和iptables基本配置

iptables 与最新版本Liunx内核集成的ip信息包过滤系统。 该系统是一种强大的工具可用于添加、编辑和除去规则,这些规则是做信息包过滤决定的,防火墙所遵循和组成的规则。这些规则存储在专用的信...
  • pygain
  • pygain
  • 2016年08月31日 19:22
  • 771

深度学习word2vec笔记之算法篇

深度学习word2vec笔记之算法篇
  • mytestmy
  • mytestmy
  • 2014年05月25日 20:03
  • 33963

人民币汇率上升对外报价--Franny交流启示

人民币汇率上升对外报价--Franny交流启示人民币汇率从X高降到到Y低,差为X-Y=Z元。变化时间一个月(6月初到7月初)。           7.63      7.59        0.04...
  • freefly2078
  • freefly2078
  • 2007年07月04日 10:52
  • 661

Java 之JNI基础篇(二)

上一篇完成了JNI流程的编写,现在来看看javah命令生成的本地方法 #include #include #include "Hello.h" JNIEXPORT void JNICALL...
  • yingshukun
  • yingshukun
  • 2018年01月21日 14:11
  • 9928

使用Iptable实现动态防火墙

 使用Iptable实现动态防火墙 作者: Daniel Robbins (drobbins@gentoo.org)编译: ideal ideal@linuxaid.com.cn>阻止攻击ipdrop...
  • bjbs_270
  • bjbs_270
  • 2004年09月29日 19:22
  • 1591

量化杂谈

转载 【量化杂谈之基础篇1】获取所有股票的代码和名字——一个爬虫的简单例子 http://bbs.pinggu.org/thread-4145710-1-1.html 【量化杂谈之基础篇2】回测的那些...
  • xf_87
  • xf_87
  • 2017年04月15日 14:35
  • 198
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:防火墙之基础篇(iptable)
举报原因:
原因补充:

(最多只允许输入30个字)