Firewalld防火墙

目录

第一部分:

[1. firewalld高级配置](#1. firewalld高级配置)

[1.1 关于iptables的知识](#1.1 关于iptables的知识)

[1.2 firewalld中直接原则](#1.2 firewalld中直接原则)

[1.3 使用富语言](#1.3 使用富语言)

第二部分:配置firewalld防火墙的地址伪装和端口转发


第一部分:

1. firewalld高级配置

1.1 关于iptables的知识

IP数据包过滤系统是一种功能强大的工具,可用于添加、编辑和除去规则,这些规则是在做数据包过滤决定时,防火墙所遵循和组成的规则。这些规则存储在专用的数据包过滤表中,而这些表集成在 Linux 内核中。在数据包过滤表中,规则被分组放在我们所谓的链( chain)中。

虽然netfilter/iptables lP数据包过滤系统被称为单个实体,但它实际上由两个组件netfilter和 iptables组成。

(1).netfilter组件也称为内核空间((kernelspace),是内核的一部分,由一些数据包过滤表组成,这些表包含内核用来控制数据包过滤处理的规则集。

(2). iptables 组件是一种工具,也称为用户空间(userspace),它使插入、修改和除去数据包过滤表中的规则变得容易。

iptables包含4个表,5个链。其中表是按照对数据包的操作区分的,链是按照不同的Hook((挂钩)点来区分的,表和链实际上是 netfilter的两个维度。

1.2 firewalld中直接原则

将iptables 的规则插入到firewalld的管理区域中,这种方式写的规则叫直接规则。

将某个P范围列入黑名单

在这个例子中首先自定义了一个叫 blacklist的链,然后将所有来自192.168.10.0/24的数据包都指向了这个链,最后定义了这个链的规则:首先进行记录,然后drop,记录的方法是使用"blacklisted:"前缀并且限制1分钟记录一次。

(1)创建一个黑名单,并为这个黑名单创建一个链,链名为blacklist
(2)将来自192.168.10.0/24的数据包指向这个链
(3)每分钟记录一次日志(-m limit --limit 1/min每分钟记录一次日志)
(4)设置这个链的规则为DROP
(5)重启 firewalld(重启或重载后生效)
(6)查看直接规则

备注:

用其他主机ping它,然后查看messages日志文件,会看到相关的日志条目

清空直接规则:

/etc/firewalld/direct.xml

1.3 使用富语言

1:什么是富语言

不需要使用iptables 语法,而是使用高级语言配置防火墙规则的机制成为富语言。

2:规则排序、测试和调试

3:理解富规则命令

4:规则配置举例

(1)为认证报头协议AH使用新的IPv4和IPv6连接

(2)允许新的IPv4和IPv6连接http,并使用审核每分钟记录一次

注意:

开启日志记录后

[root@localhost ~ ]# cat /var/log/messages

(3)允许来自192.168.0.0/24地址的TFTP协议的IPv4连接,并且使用系统日志每分钟记录一次

(4)为RADIUS协议拒绝所有来自1:2:3:4:6::的新的IPv6连接,日志前缀为"dns",级别为info,并每分钟最多记录3次。接受来自其他发起段新的IPv6连接

(5)将源192.168.2.2地址加入白名单,以允许来自这个源地址的所有连接

(6)拒绝(删除)来自public区域中IP地址为192.168.0.11的所有流量

(7)丢弃来自默认区域中任何位置的所有传入的 ipsec esp协议包

(8)在192.168.1.0/24子网的dmz区域中,接收端口7900--1905的所有TCP包

(9)接受从work 区域到ssh的新连接,以notice级别且每分钟最多三条信息的方式将新连接记录到syslog

(10)在接下来的5min 内,拒绝从默认区域中的子网192.168.2.0/24到 DNS的新连接,并且拒绝的连接将记录到 audit系统,且每小时最多一条消息

第二部分:配置firewalld防火墙的地址伪装和端口转发

实验环境:

实验需求:

实验过程:

2.1 基本配置

1:基本环境配置

按照实验TOP设置各个服务器网卡的IP地址

(1)在网关服务器上配置主机名

(2)开启网关服务器的路由转发功能

(3)配置web服务器的主机名

2:网站服务器环境的搭建

(1)验证firewalld在网站服务器上是否启动并且正常运行

(2)安装httpd 和l mod_ssl软件包

(3)启用并启动httpd服务

(4)创建网站首页测试页index.html

(5)更改ssh的监听端口,并重启服务,关闭SELinux

3:在网站服务器上配置firewalld防火墙

(1)设置默认区域为dmz区域

(2)为dmz区域打开https 服务并添加TCP的12345端口

(3)禁止ping

(4)因为预定于的ssh 服务已经更改了端口,所以要将预定于ssh服务移除

(5)重新加载firewalld配置。并查看之前的配置

4:在网关服务器上配置firewalld防火墙

(1)验证firewalld在网关服务器上是否启动并且正在运行

(2)设置默认区域为external 区域,并查看配置结果

(3)将ens37网卡配置到trusted区域,将ens38配置到dmz区域

(4)查看配置情况

(5)在企业内网测试计算机上访问网站服务器

(6)关闭SELinux,更改ssh的监听端口,并重启服务

(7)配置external区域添加TCP的12345端口

(8)配置external区域移除ssh服务

(9)配置external区域禁止 ping

(10)重新加载防火墙配置

(11)在互联网测试机上通过ssh登录网关玩不接口地址的12345端口

(12〉在企业内网测试机上ssh登录web 网站服务器的12345端口

2.2 配置IP伪装与端口转发

1:内网用户通过网关服务器共享上网

(1)外网测试机搭建网站服务,并添加测试网页

(2)在企业内网测试机上访问外网网站,结果是可以访问的

(3)在dmz的网站服务器上测试,同样可以访问

(4)查看网关服务器的external区域是否开启了地址伪装

(5)源地址 192.168.1.0/24网段的地址开启IP伪装

在网关服务器上关闭external 的地址伪装,添加富规则,要求external区域内源地址为192.168.1.0/24网段的地址开启地址P伪装

(6)在dmz的网站服务器上测试访问外网,应该不能访问外网,但内网可以

2:配置端口转发实现互联网用户访问内部 web服务器

(1)在网关服务器上配置端口转发

(2)在互联网测试机上访问内部web 服务器,可以访问成功

(3)端口转发也可以使用富规则,这样就可以更大程度的控制端口转发规则,如给内网的web服务器申请了一个新的公网 ip地址100.1.1.15,需要将新的公网地址100.1.1.15配置在网关服务器的外网接口ens33上,作为第二个lp地址

相关推荐
苦逼IT运维13 分钟前
YUM 源与 APT 源的详解及使用指南
linux·运维·ubuntu·centos·devops
前端张三14 分钟前
Mac 电脑pink 后端ip地址进行本地联调
服务器·tcp/ip·macos
第六五22 分钟前
ubuntu命令行连接wifi
服务器·ubuntu
CXDNW25 分钟前
【网络篇】计算机网络——应用层详述(笔记)
服务器·笔记·计算机网络·http·web·cdn·dns
仍有未知等待探索30 分钟前
Linux 传输层UDP
linux·运维·udp
zeruns80238 分钟前
如何搭建自己的域名邮箱服务器?Poste.io邮箱服务器搭建教程,Linux+Docker搭建邮件服务器的教程
linux·运维·服务器·docker·网站
卑微求AC38 分钟前
(C语言贪吃蛇)16.贪吃蛇食物位置随机(完结撒花)
linux·c语言·开发语言·嵌入式·c语言贪吃蛇
北城青44 分钟前
WebRTC Connection Negotiate解决
运维·服务器·webrtc
qxqxa1 小时前
cfg80211是怎么配置无线设备的AP的?
网络·驱动开发
Hugo_McQueen1 小时前
pWnos1.0 靶机渗透 (Perl CGI 的反弹 shell 利用)
linux·服务器·网络安全