Linux之安全应用

一、关于iptables

定义:常见于linux系统下的应用层防火墙工具

二、Iptables规则原理和组成

1) Netfilter

Netfilter是Linux操作系统核心层内部的一个数据包处理模块

2) Hook point

数据包在Netfilter中的挂载点。五个挂载点(PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING)

3) Netfilter与iptables

 

4) iptables规则组成

1、 组成部分:四张表+五条链(Hook point)+规则

四张表:filter表、nat表、mangle表、raw表

五条链:INPUT、OUTPUT、FORWARD、PRE_ROUTING、POST_ROUTING

raw表:数据包状态的跟踪和分析(iptables1.2.9版本之后)

mangle表:需要对应交换机的一些支持,修改数据包,改变包头中内容(TTL,

TOS,MARK)

                 filter表:访问控制、规则匹配

                 nat表:地址转发

2、 数据包在规则表、链匹配流程

 

#数据包通过每一条链时,有机会调用函数来进行数据包规则的更改和访问的控制。

#数据包在进来时,通过路由的选择(Destination),如果是传给本机的,走INPUT到localhost;如果不是本机的,就走FORWARD

3、 iptables规则组成

数据包访问控制:ACCEPT(接收允许通过)、DROP(丢弃,无消息返回客户端)、

REJECT(拒绝,有对应消息返回)

数据包改写:SNAT(对原地址即发起端ip数据包地址改写)、DNAT(对目标

                   地址进行改写)

信息纪录:LOG

组成部分:四张表+五条链(Hook point)+规则

iptables

table

command

chain

Parameter&Xmatch

target

-t filter

  nat

-A

-D

-L

-F

-P

-I

-R

-n

INPUT

FORWARD

OUTPUT

PREROUTING

POSYROUTING

-p tcp

-s (发起源IP)

-d (目标地址)

--sport(源端口)

--dport(目标端口)

--dports(端口断)

-m tcp

   state

   multiport

-j ACCEPT

DROP

REJECT

DNAT

SNAT

说明:

-A  添加一条规则(添加到末尾)

-D  删除一条规则

-L  以列表方式显示

-F  flush, 清空规则链

-P  policy,设置默认策略,对filter表来讲,默认规则为accept或DROP

-I   插入一条规则(默认排列到第一行)

-R  修改一条规则

-n  数字格式显示主机地址和端口

三、Iptables实践场景

1) iptables配置-场景一

规则1、对所有的地址开放本机的tcp(80、22、10-21)端口的访问

规则2、允许对所有的地址开放本机的基于ICMP协议的数据包访问

规则3、其他未被允许的端口则禁止访问

思路:先清空之前所有的规则,然后设置白名单方式,允许哪些端口访问,然后允

许哪些协议访问,其他未被允许的端口则被拒绝或者禁止访问

注意:以上设置会导致以下问题

        ①本机无法访问本机

        ②本机无法访问其他主机

2) iptables配置-场景二

3) iptables配置-场景三

四、Iptables中NAT模式设置

五、Iptables防攻击及企业场景应用

六、 

posted @ 2017-03-28 21:18  赤道上的冰雕  阅读(343)  评论(0编辑  收藏  举报