Linux集群 安全防御-iptables

一、安全防御概述

1.常见的攻击手段

拒绝式攻击(DOS):通过大量的访问请求使服务器资源耗尽,无法向正常用户处理请求连接。常见的解决手段是使用云服务商的流量清洗功能;

口令破解:常用的攻击手手段俗称“跑字典”,常见的解决方法设置登录错误次数限制;

已知漏洞:通过已知漏洞进行数据获取或提权,常见的解决手段是定时更新防御补丁;

欺骗权限用户:又称社会工程学,通过欺骗权限用户得到授权资格的方法

2.常见的安全防御设备

基础类防火墙:主要实现包过滤防火墙

IDS防火墙:入侵检测系统提供报告和事后监督为主

IPS防火墙:入侵防御系统,分析数据包内容,根据模式匹配去阻断非法访问

主动安全类防火墙:对特定服务类型进行转向防御,换成那个键的设备:WAF、DAF

二、基础类防护墙

1.何为防火墙

工作在主机边缘或网络边缘处对数据报文进行检测,并且能够根据事先定义好的规则,对数据报文进行相应处理的模块

2.防火墙的分类

结构: 软件        iptables        硬件        深信服、网御、华为

工作机制:

                包过滤防火墙:源地址、目的地址、源端口、目标端口、连接状态

                应用层防火墙:URL

模块:内核态  netfilter        用户态:iptables

3.iptables工作结构

                                user        iptables

                               kernel        netfilter

4.iptables历经的构造变化

        kernel        2.0.X        firewall        ipfw

        kernel        2.2.X        firewall        ipchains

        kernel        2.4.X        netfilter        iptables

        kernel        3.13.X       netfilter       firewall

5.iptables四表五链

五链:入站:INPUT        出站:OUTPUT        转发:FORWARD        

           路由前应用规则:修改目标地址PREROUTING

           路由后应用规则:修改源地址POSTROUTING

四表(规则表):raw:状态跟踪        mangle:标记TTL        nat:实现地址转换         filter:过滤

防火墙链表结构

 防火墙相关顺序

规则匹配顺序:由上至下,匹配即停止(LOG策略除外),若找不到相匹配规则,则按该链的默认策略处理

表应用:raw>mangle>nat>filter

链的应用顺序:入站PREROUTING>INPUT

                        出站OUTPUT>POSTROUTING

                        转发PREROUTING>FORWARD>POSTROUTING

数据处理流程图

 ①当入站请求时,先经过raw表的PREROUTING链、mangle表的PREROUTING链、nat表的PREROUTING链,再经过mangle表的INPUT链、filter表的INPUT链;

②当出站时,先经过raw表的OUTPUT链、mangle表的OUTPUT链、nat表的OUTPUT链、filter表的OUTPUT链,再经过mangle表的POSTROUTING链、nat表的POSTROUTING链;

③转发请求时,先经过raw表的PREROUTING链、mangle表的PREROUTING链、nat表的PREROUTING链,再经过mangle表的FORWARD链、filter表的FORWORD链,再经过mangle表的POSTROUTING链、nat表的POSTROUTING链。

6.iptables语法规则

书写规则

语法构成:iptables  [-t 表名]    选项  [链名]   [条件]    [-j  控制类型]

几个注意事项:不指定表名时,默认指的是filter表

                        不指定链名时,默认指的是表内的所有链

                        除非设置链的默认策略,否则必须制定匹配条件

                        选项、链名、控制类型使用的是大写字母,其余均为小写

常见动作类型:

        ACCEPT:允许通过;

        DROP:直接丢弃,不做出任何回应;

        REJECT:拒绝通过,必要时会给出提示;

        LOG:记录日志信息,然后传给下一条规则继续匹配;

        SNAT:修改数据包源地址;

        DNAT:修改数据包源地址;

        REDIRECT:重定向

常见选项:

添加规则:-A        在链的末尾追加一条规则

                -I         在链的开头(或指定序号)插入一条规则

查看规则列表:-L         列出所有规则条目

                        -n         以数字形式显示地址、端口号等信息

                         -v        以更详细的方式显示规则信息

                        --line-number        查看规则时,显示规则的序号

删除、清空规则:-D        删除链内指定的序号(或内容)的一条规则

                             -F        清空所有的规则

设置默认策略:-P         为指定的链设置默认规则

7.基于centos6演示iptables

首先清空规则并查看:iptables -F        iptables -L

 我们在filter表的INPUT链里的末尾加入一行允许TCP协议的通过规则:

iptables -t filter -A INPUT -p tcp -j ACCEPT
iptables -L  #查看

 我们在filter表的INPUT链里的开头加入一行允许ICMP协议的拒绝规则:

iptables -I INPUT -p icmp -j DROP
iptables -L #查看

 我们用本机再去ping这个虚拟机,进行查看,可以看到请求超时,我们再讲DROP动作换成REJECT

换成REJECT后再进行ping,他会显示无法连接到端口,这就是DROP和REJECT的区别,所以在做优化时,这也是一个重要选择,DROP是不做出回应,不会消耗资源,REJECT要做出回应,所以会消耗资源。

 

 我们再进行友好显示:我们能够看到处理的数据包数量和所处理的比特数,所在这也是一个优化的地方,在一些大量的数据包处理的规则时,我们优先将处理的多的放前面,避免因查找浪费资源

iptables -L -v

 按行号显示,并在第二行加入一条规则:

iptables -L --line-numbers #(行号显示)
iptables -t filter -I INPUT 2 udp -j ACCEPT
iptables -L --line-numbers 

 我们看到,有两个ICMP规则,所以删除第三个:

iptables -t filter -D INPUT 3  #删除第三条规则

 我们再添加基于端口的策略:

iptables -t filter -A INPUT -p tcp --dport 80 -j REJECT
ipyables -L --line-numbers

我们拒绝了80端口,在进行浏览器访问时不能正常访问了

我们再添加默认策略:

iptables -P INPUT DROP
iptables -L --line-numbers

 (注:不正之处还请批评指正)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大白将

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值