当前位置: 首页 > news >正文

WEB常用iptables规则

规则:

iptables --delete-chain
iptables  --flush
iptables  -P INPUT DROP    #1
iptables  -P FORWARD DROP  #1
iptables  -P OUTPUT DROP   #1
iptables  -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #2
iptables  -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT #3
iptables  -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT #3
iptables  -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT  #3
iptables  -A INPUT -p tcp -m tcp --dport 873 -j ACCEPT #3
iptables  -A INPUT -i lo -j ACCEPT #4
iptables  -A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT #允许ping别人
iptables  -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT  #5
iptables  -A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT #5
iptables  -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #6
iptables  -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT #7
iptables  -A OUTPUT -o lo -j ACCEPT #4
iptables  -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT #8
iptables  -A OUTPUT -p tcp -m tcp --dport 25 -j ACCEPT #9
iptables  -A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT  #10
iptables  -A OUTPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT #10
#11
iptables -N syn-flood
iptables -A syn-flood -p tcp -m limit --limit 3/sec --limit-burst 6 -j RETURN
iptables -A syn-flood -j REJECT --reject-with icmp-port-unreachable

iptables-save>/etc/sysconfig/iptables
service iptables restart

说明:

#1、设置INPUT,FORWARD,OUTPUT链默认target为DROP,也就是外部与服务器不能通信。
#2、设置当连接状态为RELATED和ESTABLISHED时,允许数据进入服务器。
#3、设置外部客户端连接服务器端口80,22,21,873。
#4、允许内部数据循回。
#5、允许外部ping服务器 。
#6、设置状态为RELATED和ESTABLISHED的数据可以从服务器发送到外部。
#7、允许服务器使用外部dns解析域名。
#8、设置服务器连接外部服务器端口80。
#9、允许服务器发送邮件。
#10、允许从服务器ping外部。
#11、抵御洪水攻击

限制单位时间内连接数

iptables -N syn-flood
iptables -A FORWARD -p tcp --syn -j syn-flood
iptables -A INPUT -p tcp --syn -j syn-flood
iptables -A syn-flood -p tcp --syn -m limit --limit 3/s --limit-burst 1 -j ACCEP
iptables -A syn-flood -j DROP
iptables -A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -j DROP
iptables -A INPUT -p tcp --syn -m state --state NEW -j DROP

参考文章

  1. http://blog.sina.com.cn/s/blog_6915bcb101013st7.html
  2. https://www.frozentux.net/iptables-tutorial/iptables-tutorial.html

相关文章:

  • 我常用的Linux设置
  • 免安装Oracle客户端使用PL/SQL连接Linux Oracle 注意事项
  • CLI PHP WebSocket服务器
  • Nginx 自带防盗链模块
  • 在MTK中添加TASK与常用函数分析
  • 大数据时代必不可少的大数据分析和制作工具大全
  • SubVersion服务器Windows安装指南
  • CentOS里ifcfg的device指的是什么?
  • SQLServer2005批量查询自定义对象脚本
  • 使用Let's encrypt保护你的网络通信
  • SQLServer中求两个字符串的交集
  • 139说客的优势和局限性
  • phpjm php加密的解密过程
  • 被遗忘的SQLServer比较运算符修饰词
  • PHP MySQL 数据字典生成器
  • 「译」Node.js Streams 基础
  • 2017 年终总结 —— 在路上
  • Android Volley源码解析
  • Angular 响应式表单 基础例子
  • avalon2.2的VM生成过程
  • AWS实战 - 利用IAM对S3做访问控制
  • C++类的相互关联
  • CEF与代理
  • go语言学习初探(一)
  • JavaScript类型识别
  • Python学习之路13-记分
  • select2 取值 遍历 设置默认值
  • swift基础之_对象 实例方法 对象方法。
  • 服务器之间,相同帐号,实现免密钥登录
  • 给第三方使用接口的 URL 签名实现
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 前嗅ForeSpider采集配置界面介绍
  • 如何进阶一名有竞争力的程序员?
  • 正则表达式
  • hi-nginx-1.3.4编译安装
  • # 飞书APP集成平台-数字化落地
  • #{}和${}的区别?
  • #162 (Div. 2)
  • #pragma 指令
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (¥1011)-(一千零一拾一元整)输出
  • (12)Linux 常见的三种进程状态
  • (NSDate) 时间 (time )比较
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (四) Graphivz 颜色选择
  • (学习日记)2024.02.29:UCOSIII第二节
  • (轉貼) UML中文FAQ (OO) (UML)
  • ***检测工具之RKHunter AIDE
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .Net Core与存储过程(一)
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .netcore 获取appsettings