第八章 iptables 与firewalld 防火墙 第8天 7月27日
Posted black-cat0987
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第八章 iptables 与firewalld 防火墙 第8天 7月27日相关的知识,希望对你有一定的参考价值。
- iptables实际上也只是防火墙的配置工具而已。实际上,一个服务,如果可以称的上分析过滤流量,那么就可以称的上为防火墙。
- iptables和内核的netfilter 网络过滤器来进行处理。
- 基于的甄别信息?
- 源目地址
- 端口号
- 协议
- 应用
- firewalld 交给内核层面的nftables包过滤框架来处理。
- 策略以及规则链
- 策略是由一条条规则组成的。
- 规则链是一条条规则从上往下形成链条。防火墙识别规则从上往下识别,只匹配第一条符合的规则,其余放弃。
- 两种基本策略。
- 全部允许,就需要配置黑名单。
- 全部拒绝,就需要配置白名单。
- DROP和REJECT的区别。
- DROP:直接抛弃,不返回相应。
- REJECT:返回拒绝信息。
- 防火墙根据规则链的不同处理包的方法如下
- 在进行路由选择前处理数据包(PREROUTING);
- 处理流入的数据包(INPUT);
- 处理流出的数据包(OUTPUT);
- 处理转发的数据包(FORWARD);
- 在进行路由选择后处理数据包(POSTROUTING)。
- Input规则链是最需要被控制的。
- 当然在当前形式下,流出的包控制也很重要。
- 包除了被防火墙识别外,还可以别防火墙操作。
- Accept 接受
- Reject 拒绝并回复
- Drop 直接丢弃包
- Log 记录日志信息
- iptable的基本命令参数
- 什么是四表五链?
- iptables可以根据以下信息来进行匹配
- 源地址
- 目的地址
- 传输协议
- 服务类型
- 防火墙策略规则的匹配顺序是从上至下的,因此要把较为严格、优先级较高的策略规则放到前面,以免发生错误。
- 使用的基本命令
- iptables -L 显示已有的防火墙规则链
- iptables -F 清空已有的防火墙规则链
- iptables -P INPUT DROP 把input的默认规则设置为丢包并拒绝。
- 规则链的默认拒绝动作只能是DROP,而不能是REJECT。
- iptables -I INPUT -p icmp -j ACCEPT 设置默认ping规则可以到达
- iptables -D INPUT1 删除刚刚加入的ping规则,
- iptables -P INPUT ACCEPT 并把默认策略改成允许
- iptables -I INPUT -s 192.168.122.0/24 -p tcp --dport 22 -j ACCEPT 允许本机IP地址段访问本机的22端口
- iptables -A INPUT -p tcp --dport 22 -j REJECT 并拒绝来自其他所有主机的流量
- 一定要把允许流量放在拒绝的前面,要不然会无法访问。
- iptables -I INPUT -p tcp --dport 12345 -j REJECT 添加拒绝所有人通过12345端口访问的规则
- iptables -I INPUT -p udp --dport 12345 -j REJECT 潜台词,UDP和TCP是主要的两种流量
- iptables -I INPUT -p tcp --dport 1000:1024 -j REJECT 添加拒绝地址访问某个端口段的信息
- iptables -I INPUT -p udp --dport 1000:1024 -j REJECT 继续添加UDP
- service iptables save
- 永久保存,使防火墙策略生效
- firewalld Dynamic Firewall Manager of Linux systems Linux系统动态防火墙管理器。
- firewalld其中d有守护进程的意思。
- 优势:
- 动态更新
- 区域技术 针对不同的区域,实现不同的策略
- 针对生产环境的不同,实现不同的策略。设置好区域集合切换就可以了。
? ?
- 管理工具
- 终端管理工具firewall-cmd是firewalld的CLI命令行界面版本。使用长命令。可以使用代码补全。
- 代码补全很好用。TAB
- 防火墙工具有两种模式
- Runtime模式:当前生效模式,重启后失效。
- Permanent模式:永久模式,重启后有效。使用方法,增加--permanent参数。
- 但也只是重启后生效
- 如何立即生效?使用 firewall-cmd --reload命令
- 查询当前防火墙使用哪个区域?firewall-cmd --get-default-zone
- 查询当前网卡在哪个区域里?firewall-cmd --get-zone-of-interface=virbr0
- 更改当前网卡区域为external
- firewall-cmd --permanent --zone=external --change-interface=virbr0
- 注意当前和永久的区域是不同的
- firewall-cmd --get-zone-of-interface=virbr0
- firewall-cmd --permanent --get-zone-of-interface=virbr0
- 把firewalld服务当前默认设置为public
- firewall-cmd --set-default-zone=public
- firewall-cmd --get-default-zone
- 启动/关闭防火墙的应急模式 慎用,会阻断一切链接
- firewall-cmd --panic-on
- firewall-cmd --panic-off
- 查询区域public是否支持相应的流量
- irewall-cmd --zone=public --query-service=ssh
- firewall-cmd --zone=public --query-service=http
- 把firewalld 服务中请求HTTPS 协议的流量设置为永久允许,并立即生效
- firewall-cmd --zone=public --add-service=https
- firewall-cmd --permanent --zone=public --add-service=https
- firewall-cmd --reload
- 把firewall服务中的http协议流量设置为永久拒绝,并立即生效。
- firewall-cmd --permanent --zone=public --remove-service=http
- firewall-cmd --reload
- 把在firewalld 服务中访问8080 和8081 端口的流量策略设置为允许,但仅限当前生效.
- firewall-cmd --zone=public --add-port=8080-8081/tcp
- firewall-cmd --zone=public --list-ports 查看端口段。
- 把原本访问本机888 端口的流量转发到22 端口,要且求当前和长期均有效:
- 格式:firewall-cmd --permanent --zone=<区域> --add-forward-port=port= < 源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>
- firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.122.1
- firewall-cmd --reload
- firewall的富规格编辑。
- 好处:可以针对系统服务,源端口,源地址和目标地址等诸多信息进行更有针对性的配置。优先级在所有的防火墙策略中也是最高的。
- 拒绝192.168.10.0/24 网段的所有用户访问本机的ssh 服务(22 端口)
- firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
- 图形管理工具
- firewall-config
? ?
- 在使用firewall-config 工具配置完防火墙策略之后,无须进行二次确认,因为只要有修改内容,它就自动进行保存。
- SNAT Source Networt Address Translate
- ·主要作用:地址转换,适合内网。
- 服务访问控制列表
- TCP Wrappers ,默认的流量监控程序,能根据来访的主机地址和目标的服务程序来作出允许或拒绝操作。
Linux 系统中其实有两个层面的防火墙,第一种是前面讲到的基于TCP/IP 协议的流量过滤工具,而TCP Wrappers 服务则是能允许或禁止Linux 系统提供服务的防火墙,从而在更高层面保护了Linux 系统的安全运行
? ?
- 两个配置文件 /etc/hosts.allow /etc/hosts.deny
- 先匹配allow,再匹配deny,如果两个都没匹配到,则默认放行。
? ?
以上是关于第八章 iptables 与firewalld 防火墙 第8天 7月27日的主要内容,如果未能解决你的问题,请参考以下文章