`

Iptables防火墙(配置防DDOS攻击)

 
阅读更多



 一、案例讲解

本例中的规则将会阻止来自某一特定IP范围内的数据包,因为该IP地址范围被管理员怀疑有大量恶意攻击者在活动
如何判断服务是否受攻击?
(1)ping测试服务是否丢掉? 丢包的几种可能原因: 你服务受攻击、机房上层线路受攻击、互联网上某个路由不稳定、机器服务/硬件问题(较少)
(2)可以搭建流量检查服务来监控服务网络流量 如:Cacti 、MRTG 2种较出名的流量监控 ,但都不是实时的!一般5分钟探测一次

 二、在linux上可以用一些脚本代码来监控网卡的实时流量

#查看实时流量脚本 
#用vim创建个脚本文件,将以下代码复制进去.赋予权限,运行脚本监测
[root@localhost ~]vim /opt/traffic.sh
#!/bin/bash
while [ "1" ]
do
eth=$1
RXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
TXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
sleep 1
RXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
TXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
clear
echo  -e  "\t RX `date +%k:%M:%S` TX"
RX=$((${RXnext}${RXpre}))
TX=$((${TXnext}${TXpre}))
if [[ $RX -lt 1024 ]];then
RX="${RX}B/s"
elif [[ $RX -gt 1048576 ]];then
RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}')
else
RX=$(echo $RX | awk '{print $1/1024 "KB/s"}')
fi
if [[ $TX -lt 1024 ]];then
 TX="${TX}B/s"
 elif [[ $TX -gt 1048576 ]];then
 TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')
 else
 TX=$(echo $TX | awk '{print $1/1024 "KB/s"}')
fi
 
echo -e "$eth \t $RX   $TX "
done
[root@localhost ~]chmod +x /opt/traffic.sh

 

 三、测试验证

 



  

上图是执行脚本后显示服务器流量的状态
执行命令如下:
[root@loaclhost ~]#/opt/./traffic.sh
查看网卡的流量时   
rx是接收(receive)    tx是发送(transport)
目前流量正常

  我们可以使用软件在另外一台机器上不停的访问本站点我们就可以看到下图流量的变化



 

假如你认为这流量已是不正常流量,可以用以下命令查看有哪些IP在连接本机80端口,然后进行屏蔽!

[root@loaclhost ~]#netstat -ant | grep ":80" | awk '{printf "%s %s\n",$5,$6}' | sort

假如你认为192.168.0.123 IP有可疑,想进行屏蔽,用以下命令

屏蔽流进IP:
[root@loaclhost ~]#iptables -I INPUT -s 192.168.0.123 -j DROP
解封IP:
[root@loaclhost ~]#iptables -D INPUT -s 192.168.0.123 -j DROP
只屏蔽192.168.0 IP段访问本机80端口,其他端口可以正常,命令如下:
iptables -I INPUT -p tcp --dport 80 -s 192.168.0.123/24 -j DROP
解封屏蔽:
iptables -D INPUT -p tcp --dport 80 -s 192.168.0.123/24 -j DROP
命令添加的规则只是临时生效,重起iptables服务后将会恢复,永久进行保存命令service iptables save或者直接修改配置文件
修改完/etc/sysconfig/iptables 防火墙配置文件,需要重启iptables服务才会生效

四、防DDOS攻击完整策略与讲解

默认的iptables规则是无法过滤DDOS攻击数据的,我们需要添加过滤规则实现iptables拥有抗DDOS的能力



 

以下是iptables 配置规则讲解:

屏蔽 SYN_RECV 的连接
-A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/sec -j ACCEPT

限制IP碎片,每秒钟只允许100个碎片,用来防止DoS攻击
-A FORWARD -f -m limit --limit 100/sec --limit-burst 100 -j ACCEPT

限制ping包每秒一个,10个后重新开始
-A FORWARD -p icmp -m limit --limit 1/sec --limit-burst 10 -j ACCEPT
 
限制ICMP包回应请求每秒一个
-A FORWARD -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j ACCEPT

此处自定义一个表
-A FORWARD -j RH-Firewall-1-INPUT

完全接受 loopback interface 的封包
-A RH-Firewall-1-INPUT -i lo -j ACCEPT

允许主机接受 ping
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT

网际网路印表机服务 (可以删除)
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT

允许连线出去后对方主机回应进来的封包
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

允许防火墙开启指定端口 (本服务器规则开了常用端口 22 21 80 25 110 3306等)
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport port -j ACCEPT

 限制SSH登陆
只允许在172.16.0.2上使用ssh远程登录,从其它计算机上禁止使用ssh
iptables -A INPUT -s 172.16.0.2 -p tcp --dport 22 -j ACCEPT

iptables -A INPUT -p tcp --dport 22 -j DROP
Iptables 防火墙是一种很强悍的防火墙,只要规则配置好,能大量提高系统安全性,要比windows下的很多防火墙都好,有兴趣可以试下!

  

  • 大小: 12.8 KB
  • 大小: 173.1 KB
  • 大小: 7 KB
分享到:
评论

相关推荐

    iptables 与firewalld 防火墙.docx

    iptables 与 firewalld 防火墙配置使用方法 iptables 和 firewalld 是 Linux 系统中两种常用的防火墙解决方案,用于过滤不合法的流量,保护内网安全。本文将对比 iptables 和 firewalld 的配置使用方法,并详细介绍...

    防ddos攻击

    在Linux环境下,防范CC(Challenge Collapsar)这种特定类型的DDoS攻击是一项重要的任务。CC攻击主要针对Web服务,通过模拟大量合法用户请求来耗尽服务器资源。 以下是一些在Linux系统下防止CC攻击的策略和工具: ...

    Linux主机防CC攻击的方法.pdf

    1. 使用 iptables 防火墙限制访问主机的端口,减少攻击面。 2. 使用 xt_recent 模块来实现对 TCP 连接数的控制,限制单个客户端 IP 地址在一定时间内的 TCP 连接数。 3. 使用 connlimit 模块来限制单个客户端 IP ...

    Linux防火墙.pdf

    书中全面阐述了iptables防火墙,并详细讨论了如何应用psad、fwsnort、fwknop 3个开源软件最大限度地发挥iptables检测和防御攻击的效力。大量真实例子以及源代码更有助于读者理解安全防御的原理、技术和实际作。 ...

    OpenStack云安全部署指导书.zip

    对平台安全性进行配置,包括https传输加密、存储加密、云主机迁移、防火墙即服务、安全组规则、浮动IP、iptables防火墙、用户登录密码策略、VxLAN网络、KVM热添加硬盘、openstack服务组件日志集中收集、DDoS攻击防范...

    Nginx防攻击的调研

    DDoS攻击是分布式拒绝服务攻击,通过大量源头同时发起攻击。防范措施包括: 1. **限制最大连接数**:设置Nginx的最大并发连接数,避免资源耗尽。 2. **缩短超时时间**:减少长时间未响应的连接占用资源。 3. **使用...

    Linux Web服务器配置

    5. **防火墙配置**:确保服务器安全,需要正确配置防火墙如`iptables`或`ufw`,允许必要的Web服务端口(如HTTP的80端口和HTTPS的443端口)开放,同时阻止不必要的入站连接。 6. **SSL/TLS证书配置**:为了提供安全...

    Apache防DDOS模块mod_evasive安装和配置方法详解

    这条命令会在检测到攻击时,通过iptables防火墙规则阻止该IP访问80端口。 8. **DOSLogDir** 设置日志文件的保存位置。例如: ```apache DOSLogDir "/var/log/" ``` 所有与mod_evasive相关的日志都会记录在这...

    linux路由集群

    4. **分布式防火墙**:在Linux集群中,可以设置分布式防火墙来过滤异常流量,对DDoS攻击进行预防和抵御。例如,iptables和nftables等工具可以配置规则,限制特定IP的访问频率,阻挡恶意请求。 5. **IP欺骗防御**:...

    2小时玩转 iptables

    - 限制攻击:设置速率限制,防止DDoS攻击。 5. 使用总则与FAQ - 在编写iptables规则时,应遵循从具体到通用的顺序,避免误拦截合法流量。 - 保存和恢复规则集:使用`service iptables save`保存配置,`service ...

    宝塔Linux面板开启CC防护

    随着互联网的快速发展,网站的安全问题日益凸显,其中CC攻击(Challenge Collapsar)成为一种常见的DDoS攻击方式,它通过大量合法请求占用服务器资源,导致服务无法正常响应。对于使用宝塔Linux面板的用户来说,了解...

    CSU 信安实验(一)实验报告

    #### 实验二:边界安全与防火墙配置 **实验目的** - **边界安全概念:** 理解边界安全的重要性和基本范畴。 - **防火墙原理:** 掌握防火墙的基本原理及其在边界安全中的作用。 - **iptables命令:** 熟练使用...

    浅析大中型网站云计算解决方案.doc

    云计算解决方案可以启用 mod_evasive 模块、配合 iptables 设置、配置服务器负载均衡的技术、启用硬件防火墙等防火墙设备等多种方式来防范 DDOS 攻击。 六、网站流量及数据进行实时监控 云计算解决方案可以实时...

    109个shell脚本合计

    这个脚本通过分析Nginx的访问日志文件,找出在特定时间内访问次数超过预设阈值的IP地址,然后将其添加到iptables防火墙规则中,阻止进一步的访问。此外,它还记录了被屏蔽的IP地址到日志文件。这有助于保护服务器免...

    Nginx 安全配置指南技术手册.rar_PFN_nginx_televisiona99_安全运维

    5. **反DDoS攻击** - **限速设置**:通过`limit_rate`限制单个客户端的请求速度。 - **IP黑名单**:自动识别并阻止高频率异常IP,如使用`fail2ban`。 6. **缓存管理** - **安全缓存**:谨慎使用缓存,避免存储...

    mod_evasive_1.10.1.tar.gz

    虽然mod_evasive提供了基本的防护,但为了最大化效果,还需要结合防火墙规则和其他安全工具,如iptables、Fail2ban等。同时,合理设置mod_evasive的参数以平衡安全性和用户体验也很关键,避免误封正常用户。 总结来...

    Memcached服务安全加固1

    可以通过ECS(Elastic Compute Service)安全组规则或iptables防火墙设置访问控制规则,只允许特定IP地址或IP段访问服务。例如,iptables命令`-A INPUT -p tcp -s 192.168.0.2 --dport 11211 -j ACCEPT`将仅允许192....

    潘爱民信息安全讲义

    其次,Windows安全方面,可能涉及了操作系统安全设置、权限管理、防火墙配置、恶意软件防护以及Windows事件日志分析等内容。了解如何在Windows环境中保障系统的安全性,防止病毒、木马和黑客攻击,是每个IT人员必备...

    Linux系统加固.pdf

    具体操作可能包括修改/etc/sysctl.conf文件来调整内核参数,或安装配置如iptables等防火墙规则。 文档最后提到了一个名为Reinforce_for_Linux.sh的shell脚本。这个脚本能够帮助用户自动化执行上述加固操作。在信息...

Global site tag (gtag.js) - Google Analytics