防火墙
2021/4/13 18:55:41
本文主要是介绍防火墙,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
防火墙服务概念
开放源代码的完全自由的基于包过滤的防火墙工具,根据二层、三层、四层实现数据包过滤处理
防火墙表概念: 是将不同的配置功能进行分类处理
防火墙链概念: 根据不同数据流方向进行访问控制
防火墙规则信息: 具体访问二层或三层,以及四层具体策略配置
工作原理
对数据包进行控制:
1. 防火墙是层层过滤的,实际是按照配置规则的顺序从上到下,从前到后进行过滤的。
2. 如果匹配上规则,即明确表示是阻止还是通过,数据包就不再向下匹配新的规则。
3. 如果规则中没有明确表明是阻止还是通过的,也就是没有匹配规则,向下进行匹配,
直到匹配默认规则得到明确的阻止还是通过。
4. 防火墙的默认规则是所有规则执行完才执行的。
对数据包进行转换:
1. 防火墙会根据用户访问源地址以及端口信息,进行数据包的转换,将外网数据包转换到内网
2. 防火墙会根据内部用户地址信息进行转换,将内网数据转换到外网
防火墙各种链和表以及规则作用:
Filter表: 实现对数据包过滤处理作用
INPUT链: 对进入数据包进行过滤处理
OUTPUT链: 对出去数据包进行过滤处理
FORWARD链:阻止经过流量数据包
NAT表: 实现数据包中地址或端口映射转换
POSTROUTING: 实现内网到外网路由映射过程
PREROUTING: 实现外网到内网路由映射过程
OUTPUT: 对本地产生数据包做映射处理
Managle表:实现数据包信息标记处理 了解
raw表: 实现数据包信息取消标记
防火墙服务实际配置过程:
环境准备:
安装并激活iptables服务:yum install -y iptables-services
关闭firewalld服务:省略
1)根据filter表实现防火墙配置过程
第一个步骤:掌握防火墙初始化配置方法
将原有配置保存备份:cp /etc/sysconfig/iptables{,.bak}
清理默认配置信息:
iptables -F --- 清理Filter表中所有配置信息 (慎用)
iptables -Z --- 清理计数器信息
iptables -X --- 清除自定义链
第二个步骤:掌握防火墙查看命令信息
iptables -nL --- 显示防火墙策略列表信息,并以数字方式显示
iptables -nL -v --- 显示防火墙策略详细信息
iptables -h 显示帮助信息
iptables -v 查看版本
========================================================
默认INPUT链规则配置:
1)允许其他主机和本地主机建立连接
2)允许其他主机和本地主机进行ping测试
3)允许其他主机和本地主机进行远程连接
4)拒绝其他主机和本地主机任意服务程序建立通讯
========================================================
iptables -nL --line-number --- 显示规则的序号信息
第三个里程:实现防火墙过滤配置:
1)根据四层进行过滤
练习题一:禁止ssh默认22端口访问
iptables -t filter -A INPUT -i eth0 -s 10.0.0.1 -p tcp --dport 22 -j DROP
iptables -t filter -A INPUT -i eth0 -p tcp --dport 22 -j DROP
练习题二:进行多端口匹配设置
非连续多端口匹配设置:
iptables -I INPUT -m multiport -p tcp --dport 21,23,26 -j ACCEPT
连续多端口匹配设置:
iptables -I INPUT -p tcp --dport 3306:8809 -j ACCEPT
总结防火墙命令参数:
-t 指定所配置的表名称
-A 在指定链上添加规则
-D 在指定链上删除规则
-i 指定数据流量进入的接口
-o 指定数据流量就出的接口
-s 指定数据包源地址信息或者网段信息
-d 指定数据包目标地址或者网段信息
-p 指定数据包传输数据协议信息 (all tcp udp icmp)
-j 流量匹配后具体执行的动作
-m 防火墙加载扩展模块功能
--sport 表示流量匹配源端口信息
--dport 表示流量匹配目标端口信息
==============================================================
iptables参数前符号:什么时候用- 或 -- 有什么规划:
1)结合iptables的参数信息,一般主要参数都有--或-格式输出方法
2)确认参数配置是否属于主要参数子集信息
-p tcp --dport --sport
-m state --state
==============================================================
2)根据三层进行过滤
练习一:禁止某个网段连接访问主机
iptables -t filter -A INPUT -i eth0 -s 10.0.0.0/24 -j DROP
练习二:只允许指定网段连入
iptables -t filter -A INPUT -i eth0 -s 10.0.0.0/24 -j ACCEPT
iptables -t filter -A INPUT -i eth0 -j DROP
简化:
iptables -t filter -A INPUT -i eth0 ! -s 10.0.0.0/24 -j DROP
练习三:实现禁ping功能
--icmp-type 8 : 表示请求包
--icmp-type 0 : 表示响应包
从入口禁止访问:实现禁ping
iptables -A INPUT -p icmp --icmp-type 8 -j DROP
iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT 简化配置
从出口禁止响应:实现禁ping
iptables -A OUTPUT -p icmp --icmp-type 0 -j DROP
iptables -A OUTPUT -p icmp -m icmp --icmp-type any -j ACCEPT 简化配置
3)补充配置说明:
练习题一:规则添加和插入区别
默认规则配置:
阻止 10.0.0.0/24 访问数据库服务:3306
允许10.0.0.10访问:
iptables -t filter -A INPUT -i eth0 -s 10.0.0.10 -p tcp --dport 3306 -j ACCEPT
iptables -t filter -I INPUT -i eth0 -s 10.0.0.10 -p tcp --dport 3306 -j ACCEPT
iptables -t filter -I INPUT 数字 -i eth0 -s 10.0.0.10 -p tcp --dport 3306 -j ACCEPT --- 插入到指定某个规则前面
练习题二:表链上的默认规则配置
白名单默认规则配置: 比较安全 比较复杂
黑名单默认规则配置: 比较简单 比较不安全
filter表配置:
INPUT设置默认阻止规则:
iptables -t filter -P INPUT DROP
FORWARD设置默认阻止规则:
iptables -t filter -P FORWARD DROP
练习题三:保存设置
iptables-save >/etc/sysconfig/iptables
练习题四:自定义链配置
服务器 tomcat--多个业务实例 8080
服务器 tomcat--多个业务实例 8081
创建自定义链:
iptables -N tomcat_access
规划自定义链策略信息:
iptables -A tomcat_access -p tcp --dport 8080 -j ACCEPT
改动
iptables -A tomcat_access -m multiport -p tcp --dport 8080,8082 -j ACCEPT
调用自定义链
iptables -t filter -A INPUT -s 192.168.10.0 -j tomcat_access
iptables -t filter -A INPUT -s 192.168.20.0 -j tomcat_access
iptables -t filter -A INPUT -s 192.168.30.0 -j tomcat_access
iptables -t filter -A INPUT -s 192.168.40.0 -j tomcat_access
iptables -t filter -A INPUT -s 192.168.50.0 -j tomcat_access
2)根据nat表实现防火墙配置过程
实现内网主机访问外网:
环境准备:
外网主机: 223.5.5.5
防火墙: 外网 10.0.0.61 内网 172.16.1.61
内网主机: 172.16.1.7
第一个里程:内网主机进行配置
关闭内网主机外网网卡:ifdown eth0
调整内网网卡,设置网关和dns地址信息
第二个里程:防火墙主机配置:
开启系统路由转发功能:
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth0 -j SNAT --to-source 10.0.0.61
实现实现外网主句访问内网:
经理 电脑访问架构服务器 172.16.1.7 22
防火墙服务进行设置:
iptables -t nat -A PREROUTING -d 10.0.0.61 -p tcp --dport 9000 -i eth0 -j DNAT --to-destination 172.16.1.7:22
这篇关于防火墙的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南