安全技术和防火墙——iptables

安全技术:

1.入侵检测系统:不阻断任何网络访问,量化、定位来之内外网络的威胁情况,主要以提供报警和事后监督为主,提供有针对性的指导措施和安全决策依据,类似监控系统,一般采用旁路部署的方式

2.入侵防御系统:以透明模式工作,分析数据包的内容,如:溢出攻击,拒绝服务攻击、木马、系统漏洞等惊醒准确的分析判断,在判断为攻击行为后立即予以阻断,主动而有效的保护网络的安全,一般采用在线部署方式

3.防火墙:隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时间由规定定义的行为进行处理的一组功能的组件,基本上的实现都是默认情况下关闭所有的通过型访问,只开放允许访问的策略,会将希望外网访问的主机放在DMZ网络中

防火墙分类:

按保护范围划分:

1.主机防火墙:服务范围为当前一台主机

2.网络防火墙:服务范围为防火墙一侧的局域网

按实现方式划分:

1.硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于让软件实现

2.软件防火墙:运行于通用硬件平台之上的防火墙的应用软件

按网络协议划分:

1.网络层防火墙:OSI模型下四层,又称为包过滤防火墙

网络层对数据包进行选择,选择的依据是系统内设置的过滤逻辑,被称为访问控制列表,通过检查数据流中每个数据的源地址,目的地址,所用端口号和协议状态等因素,或他们的组合来确定是否 允许该数据包通过

优点:对用户来说透明,处理速度快且易于维护

缺点:无法检查应用层数据,如病毒等

2.应用层防火墙/代理服务器:proxy代理网关,OSI模型七层

应用层防火墙/代理服务型防火墙,也称为代理服务器

将所有跨越防火墙的网络通信链路分为两段,内外网用户的访问都是通过代理服务器上的“链接”来实现

优点:在应用层对数据进行检查,比较安全

缺点:增加防火墙的负载

四表/五表      五链

 四表:

filter:过滤规则表,根据预定义的规则过滤符合条件的数据包,默认表

nat:地址转换规则表

mangle:修改数据标记位规则表

raw:关闭启用的链接跟踪机制,加快封包穿越防火墙的速度

五表:

security:用于强制访问控制网络规则,由linux安全模块实现

五链:

INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING

安全技术和防火墙——iptables_第1张图片

 安全技术和防火墙——iptables_第2张图片

报文流向:

1.流入本机:PREROUTING --> INPUT-->用户空间进程(访问我的服务)

2.流出本机:用户空间进程 -->OUTPUT--> POSTROUTING(穿过我)

3.转发:PREROUTING --> FORWARD --> POSTROUTING(分摊流量)

规则表的作用:容纳各种规则链; 表的划分依据:防火墙规则的作用相似

规则链的作用:容纳各种防火墙规则;规则的作用:对数据包进行过滤或处理 ;链的分类依据:处理数据包的不同时机

总结:表里有链,链里有规则

iptables

基本语法

iptables  [-t  表名]  管理选项  [链名]  [匹配条件]  [-j  控制类型]

安全技术和防火墙——iptables_第3张图片

 

-t 指定表的名称

-p 网络协议名称

-i 入站网卡

-o 出站网卡

-s 指定数据包的来源ip地址        #可以是IP、网段、域名、空(任何地址)

-d 指定数据包的目的ip地址        #可以是IP、网段、域名、空(任何地址)

--sport 源端口号                         #可以是个别端口、端口范围

--dport 目的端口号                     #可以是个别端口、端口范围

--j 动作

- ACCEPT:允许数据包通过

- DROP:直接丢弃数据包,不给出任何回 应信息

- REJECT:拒绝数据包通过,必要时会给数据发送端一个响应信息

- LOG:在/var/log/messages 文件中记录日志信息,然后将数据包传递给下一条规则

- SNAT:修改数据包的源地址

- DNAT:修改数据包的目的地址

- MASQUERADE:伪装成一个非固定公网IP地址

管理选项 用法示例
-A 在指定链末尾追加一条 iptables -A INPUT (操作)
-I 在指定链中插入一条新的,未指定序号默认作为第一条 iptables -I INPUT (操作)
-P 指定默认规则 iptables -P OUTPUT ACCEPT (操作)
-D 删除 iptables -t nat -D INPUT 2 (操作)
-p 服务名称 icmp tcp
-R 修改、替换某一条规则 iptables -t nat -R INPUT (操作)
-L 查看 iptables -t nat -L (查看)
-n 所有字段以数字形式显示(比如任意ip地址是0.0.0.0而不是anywhere,比如显示协议端口号而不是服务名) iptables -L -n,iptables -nL,iptables -vnL (查看)
-v 查看时显示更详细信息,常跟-L一起使用 (查看)
--line-number 规则带编号 iptables -t nat -L -n --line-number /iptables -t nat -L --line-number
-F 清除链中所有规则 iptables -F (操作)
-N 新加自定义链
-X 清空自定义链的规则,不影响其他链 iptables -X
-Z 清空链的计数器(匹配到的数据包的大小和总和)iptables -Z
-S 看链的所有规则或者某个链的规则/某个具体规则后面跟编号

总结:

多端口匹配:

-m multiport --sport 源端口列表
-m multiport --dport 目的端口列表

iptables -A INPUT -p tcp -m multiport --dport 80,22,21,20,53 -j ACCEPT

IP范围匹配:

-m iprange --src-range IP范围

iptables -A FORWARD -p udp -m iprange --src-range 192.168.80.100-192.168.80.200 -j DROP
#禁止转发源地址位于192.168.80.100-192.168.80.200的udp数据包

MAC地址匹配:

-m mac --mac-source MAC地址

iptables -A FORWARD -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP
#禁止来自某MAC地址的数据包通过本机转发

状态匹配:

-m state --state 连接状态

常见的连接状态:

NEW :与任何连接无关的,还没开始连接

ESTABLISHED :响应请求或者已建立连接的,连接态

RELATED :与已有连接有相关性的(如FTP主被动模式的数据连接),衍生态,一般与

ESTABLISHED 配合使用

INVALID:不能被识别属于哪个连接或没有任何状态

iptables -A FORWARD -m state --state NEW -P tcp ! --syn -j DROP
#禁止转发与正常TCP连接无关的非--syn请求数据包

你可能感兴趣的:(安全,服务器,运维)