iptables防火墙配置
iptables防火墙配置
一、防火墙简介
1、功能:
1)通过源端口,源IP地址,源MAC地址,包中特定标记和目标端口,IP,MAC来确定数据包是否可以通过防火墙
2)分割内网和外网【附带的路由器的功能】
3)划分要被保护的服务器
如果Linux服务器启用了防火墙,SELinux等的防护措施,那么,他的安全级别可以达到B2[原来是C2]
2、防火墙分类
1)数据包过滤【绝大多数的防火墙】
分析IP地址,端口和MAC是否符合规则,如果符合,接受
2)代理服务器
3、防火墙的限制
1)防火墙不能有效防止病毒,所以防火墙对病毒攻击基本无效,但是对木马还是有一定的限制作用的。
2)防火墙一般不设定对内部[服务器本机]访问规则,所以对内部攻击无效
【附】现当今的杀毒软件对病毒的识别率大约在30%左右。也就是说,大部分的病毒是杀毒软件并不认识的!
4、防火墙配置原则【交叉使用】
拒绝所有,逐个允许
允许所有,逐个拒绝
【附:】防火墙规则:谁先配置,谁先申请!
5、Linux常见防火墙
2.4/2.6内核 iptables #现在常用的
2.2内核 ipchains
二 、iptables防火墙
1、结构:表-------链--------规则
PREROUTING 和 POSTROUTING

2、表:在iptables中默认有以下三个表
filter表 数据过滤表 #filter过滤,渗透
NAT表 内网与外网地址转换
Mangle 特殊数据包标记
3、链
filter表中: INPUT OUTPUT FORWARD
三、iptables基础语法
1、规则的查看和清楚
iptables [-t表名] [选项]
选项:
-L 查看
-F 清除所有规则
-X 清除自定义链
-Z 清除所有链统计
-n 以端口和ip显示
示例:
iptables -t nat -L #查看nat表中规则
iptables -L #查看filter表中规则,不写表名默认查看的是filter表!
2、定义默认策略
iptables -t 表名 -P 链名 ACCEPT|DROP #-P(大) 定义默认策略
实例:
iptables -t filter -P INPUT DROP
注意:不要把自己踢出服务器,所以这条规则应该最后设定。
3、限定IP和网卡接口设置
iptables [-AI 链] [-io 网卡接口] [-p 协议] [-s 源IP] [-d 目标ip] -j 动作
说明:
-A 追加链规则 #在链规则最后加入此规则
-I INPUT 2 #把此规则插入到INPUT链,变成第二条规则
-D 链 条数 #删除指定链的指定条数防火墙
示例:
iptables -D INPUT 2 #删除input链上的第二条规则
-i eth0 #指定进入接口,要在INPUT链上定义
-o eth0 #指定传出接口,要在OUTPUT链上定义
-p 协议 #[tcp/udp/icmp/all]
-j 动作 #[ACCEPT|DROP]
实例:
iptables -A INPUT -i lo -j ACCEPT
允许本机回环网卡通信,在INPUT链
iptables-A INPUT -i eth0 -s 192.168.140.254 -j ACCEPT
允许254进入eth0
iptables-A INPUT -i eth0 -s 192.168.140.0/24 -j DROP
拒绝140网段访问
4、设定端口访问
iptables -A INPUT -i eth0 -p all -s源ip --sport 源端口 -d 目标IP --dport 目标端口-j 动作
#一般需要指定的是目标端口,而且一定要设置协议类型!
实例:
iptables -A INPUT -i eth0 -p tcp -s 192.168.140.0/24 --dport 22 -j DROP
iptables -A INPUT -i eth0 -p tcp -s 192.168.140.0/24 --dport 137:139 -j ACCEPT #允许访问137到139端口
注意:指定端口时,协议不能用all,要指定确切协议,如TCP
5、设置多端口访问
iptables可以方便的配置多个端口。其中根据端口的连续性,又可分为连续端口配置和不连续端口配置。
1)、连续端口配置
如:
iptables -A INPUT -p tcp --dport 81:89 -j ACCEP
2)、使用multiport参数配置不连续端口
如:
iptables -A INPUT -p tcp -m multiport --dport 21:25,135:139 -j DROP
6、模块调用
-m 模块名 模块选项加载iptables功能模块
1) -m state --state ESTABLISHED,RELATED
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
#state状态模块常见状态ESTABLISHED【联机成功的状态】RELATED【返回包状态】
2)-m mac --mac-source按照mac地址限制访问
iptables -A INPUT -m mac --mac-source aa:bb:cc:dd:ee:ff -j DROP
#拒绝某mac访问
3)-mstring --string "想要匹配的数据包中字串"
iptables -A FORWARD -p udp --dport 53 -m string --string "tencent"--algo kmp -j DROP
#通过dns拒绝QQ登录
#--algo指定字符串模式匹配策略,支持KMP和BM两种字符串搜索算法,任意指定一个即可
7、简易防火墙实例
iptables -F
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#iptables -A INPUT -p tcp --dport 22 -s <IP地址>-j ACCEPT
iptables -A INPUT -p tcp --dport 873 -j ACCEPT
iptables -A INPUT -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -P INPUT DROP
拦截目的或者源端口为相应服务端口(123 - ntp)的所有UDP报文(一次UDP反射DDOS攻击设置规则)
iptables -A INPUT -p udp -m udp --sport 123 -j DROP
iptables -A INPUT -p udp -m udp --dport 123 -j DROP
iptables -A OUTPUT -p udp -m udp --sport 123 -j DROP
iptables -A OUTPUT -p udp -m udp --dport 123 -j DROP
8、防火墙服务开机自启动
chkconfig iptables on
9、防火墙规则开启自启动
1) service iptables save
会把规则保存到/etc/sysconfig/iptables文件中,重启会自动读取
2) a.手工写防火墙脚本
如 vi /root/iptables.rule
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 873 -j ACCEPT
iptables -A INPUT -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -P INPUT DROP
b.赋予执行权限 chmod 755 /root/iptables.rule
c.开机运行 vi/etc/rc.local
d.写入 /root/iptables.rule
转载自:http://www.cnblogs.com/luyiba/p/6304032.html
iptables防火墙配置的更多相关文章
- Linux学习笔记 --iptables防火墙配置
iptables防火墙配置 一.防火墙简介 1.功能: 1)通过源端口,源IP地址,源MAC地址,包中特定标记和目标端口,IP,MAC来确定数据包是否可以通过防火墙 2)分割内网和外网[附带的路由器的 ...
- Keepalived 无法自动转换主备角色,请关注 iptables 防火墙配置
最近在研究服务器高可用集群 (HA)…… 搭建了主备两台Keepalived,配置什么的全是网上照抄的,被验证过无数遍的示例…… 然而Master和Backup无法自动切换.两边会同时绑定浮动IP(V ...
- LINUX IPTABLES 防火墙配置
0.iptables(ACL)的匹配原则: 与cisco等一致,从上到下依次匹配. 1.iptables的基本用法:. (1)命令格式 iptables [–ttable] command [mat ...
- CentOS切换为iptables防火墙并进行相关配置
CentOS切换为iptables防火墙 切换到iptables首先应该关掉默认的firewalld,然后安装iptables服务. 1.关闭firewall: service firewalld s ...
- CentOS 7中firewall防火墙详解和配置以及切换为iptables防火墙
官方文档介绍地址: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Gui ...
- CentOS 7.4中firewall防火墙详解和配置以及切换为iptables防火墙
转载:https://blog.csdn.net/xlgen157387/article/details/52672988 一.firewall介绍 CentOS 7中防火墙是一个非常的强大的功能,在 ...
- CentOS 7中firewall防火墙详解和配置以及切换为iptables防火墙--转载
最近在linux(这里用到的是Centos7的64位版本)安装nginx时,在开放80端口时用iptables设置端口 和重启服务发现提示未找到文件,在网络上收集查找后发现在Centos7中iptab ...
- Centos7 防火墙关闭和启用iptables防火墙
操作系统环境:CentOS Linux release 7.0.1406(Core) 64位CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤. 1.关闭f ...
- linux网络及防火墙配置命令
/etc/sysconfig/network 包括主机基本网络信息,用于系统启动 /etc/sysconfig/network-script/ 此目录下是系统启动最初始化网络的信息 /etc/sy ...
随机推荐
- DIYer最担心的事来了!CPU降价彻底无望
12月27日,IDC发布2019年中国PC市场十大预测.IDC指出,2018年全年中国PC市场预计最终销售为5200万台左右,下滑了3.4%.2019年中国PC市场会处于一种习惯性艰难期,但是市场也不 ...
- Vue2 第一天学习
个人小总结:1年多没有写博客,感觉很多知识点生疏了,虽然工作上能解决问题,但是当别人问到某个知识点的时候,还是迷迷糊糊的,所以坚持写博客是硬道理的,因为大脑不可能把所有的知识点记住,有可能某一天忘了, ...
- git安装配置
1.git 安装 sudo apt-get install git 2.配置本机git的两个重要信息,user.name和user.email git config --global user.nam ...
- OOM异常的4种可能分析
OOM异常:OutOfMemoryError 1.JAVA堆溢出 JAVA堆用于存储对象实例,只要不断的创建对象,并且保证GC Roots到这些对象之间有路径可以来避免垃圾回收机制清除这些对象,那么在 ...
- OpenGL初学:安装配置与第一个程序
OpenGL初学:安装配置与第一个程序 2014年10月12日 12:37:03 process-z 阅读数:12413 标签: opengl安装教程 更多 个人分类: OpenGL 计算机图形学 ...
- C#创建自己的扩展方法
C#可以创建自己的扩展方法Extension Method: 参考这篇<判断是否为空然后赋值>http://www.cnblogs.com/insus/p/8004097.html 里,前 ...
- JSON WEB TOKEN,简单谈谈TOKEN的使用及在C#中的实现
十年河东,十年河西,莫欺少年穷. 学无止境,精益求精. 突然发现整个十月份自己还没有写一篇博客......哎,说出来都是泪啊,最近加班实在实在实在是太多了,真的没有多余的时间写博客.这不,今天也在加班 ...
- React 等框架使用 index 做 key 的问题
React 等框架使用 index 做 key 的问题 假如有两个树,一个是之前,一个是更变之后,我们抽象成两种可能性. 插入内容在最后 插入内容在最前 关于插在中间,原理一样,就不阐述. 使用 ul ...
- ABPZero中的Name和SurName处理,以及EmailAddress解决方案(完美)。
使用ABPzero的朋友们都知道,User表中有Name和Surname两个字段,这两个字段对于国内的用户来说相当的不友好. 以及我们的一些系统中是不会涉及到EmailAddress字段.也就是说不会 ...
- Git push 时如何避免出现 "Merge branch 'master' of ..."
在使用 Git 的进行代码版本控制的时候,往往会发现在 log 中出现 "Merge branch 'master' of ..." 这句话,如下图所示.日志中记录的一般为开发过程 ...