课堂笔记

本文介绍了安全增强型 Linux(SELinux),它是 Linux 安全子系统,结构配置复杂。还说明了 SELinux 的运行状态,以及 firewalld、iptables 和 netfilter 的关系。此外,详细讲解了 iptables 的过滤规则、DNAT、SNAT、MASQUERADE 原理及限制 syn 速度的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

  • 关于SELINUX
    安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。SELinux 的结构及配置非常复杂,而且有大量概念性的东西,要学精难度较大。很多 Linux 系统管理员嫌麻烦都把 SELinux 关闭了。

  • 关于SELINUX的运行状态
    enforcing    开启状态,会强制执行SELINUX的安全策略
    permissive   提示状态,会打印触发SELINUX安全策略的警告,但是不会执行相应的策略。
    disabled     关闭SELINUX,重启后也不会再启动SELINUX。

  • firewalld、iptables和netfilter之间的关系
  1. 在centos6上,我们用的是iptables服务,而在centos7上,我们用的是firewalld服务。
  2. 同样的,centos6上安装的是iptables包,而centos7上安装的是firewalld包。
  3. 不管是centos6还是centos7,核心其实都是netfilter,netfilter是linux的一个内核模块,iptables命令是linux内核自带的。
  4. centos6上的iptables服务和centos7上的firewalld服务,其实都是用来定义防火墙规则功能的防火墙管理工具。
  5. 它们都是将定义好的规则交由内核中的netfilter即网络过滤器来读取,从而真正实现防火墙功能,所以在配置规则的思路上是完全一致的。

  • iptables 针对一个网段:
  1. 过滤源地址范围:iptables -I INPUT -m iprange --src-range 61.4.176.0-61.4.191.255 -j DROP
  2. 过滤目标地址范围:iptables -I INPUT -m iprange --dst-range 61.4.176.0-61.4.191.255 -j DROP

  • iptables中DNAT、SNAT和MASQUERADE的理解
  1. DNAT(Destination Network Address Translation,目的地址转换) 通常被叫做目的映谢。而SNAT(Source Network Address Translation,源地址转换)通常被叫做源映谢。
  2. 在任何一个IP数据包中,都会有Source IP Address与Destination IP Address这两个字段,数据包所经过的路由器也是根据这两个字段是判定数据包是由什么地方发过来的,它要将数据包发到什么地方去。而iptables的DNAT与SNAT就是根据这个原理,对Source IP Address与Destination IP Address进行修改
  3. 图中正菱形的区域是对数据包进行判定转发的地方。在这里,系统会根据IP数据包中的destination ip address中的IP地址对数据包进行分发。如果destination ip adress是本机地址,数据将会被转交给INPUT链。如果不是本机地址,则交给FORWARD链检测。
  4. 我们要做的DNAT要在进入这个菱形转发区域之前,也就是在PREROUTING链中做,比如我们要把访问202.103.96.112的访问转发到192.168.0.112上:iptables -t nat -A PREROUTING -d 202.103.96.112 -j DNAT --to-destination 192.168.0.112
  5. 而SNAT自然是要在数据包流出这台机器之前的最后一个链也就是POSTROUTING链来进行操作:iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 58.20.51.66 这个语句就是告诉系统把即将要流出本机的数据的source ip address修改成为58.20.51.66。这样,数据包在达到目的机器以后,目的机器会将包返回到58.20.51.66也就是本机。如果不做这个操作,那么你的数据包在传递的过程中,reply的包肯定会丢失。
  6. 假如当前系统用的是ADSL/3G/4G动态拨号方式,那么每次拨号,出口IP都会改变,SNAT就会有局限性。:iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE 重点在那个『 MASQUERADE 』!这个设定值就是『IP伪装成为封包出去(-o)的那块装置上的IP』!不管现在eth0的出口获得了怎样的动态ip,MASQUERADE会自动读取eth0现在的ip地址然后做SNAT出去,这样就实现了很好的动态SNAT地址转换。

  • iptables限制syn速度
  1. 原理,每5s内tcp三次握手大于20次的属于不正常访问。
  2. iptables -A INPUT -s ! 192.168.0.0/255.255.255.0 -d 192.168.0.101 -p tcp -m tcp --dport 80 -m state --state NEW -m recent --set --name httpuser --rsource
  3. iptables -A INPUT -m recent --update --seconds 5 --hitcount 20 --name httpuser --rsource -j DROP

  4. 其中192.168.0.0/255.255.255.0 为不受限制的网段, 192.168.0.101  为本机IP。
  5. 该iptables策略,可有效预防syn攻击,也可以有效防止机器人发垃圾帖。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值