Linux系统管理 –RHEL-7 防火墙篇

Linux系统的防火墙功能是由内核实现的:

2.0 版内核中,包过滤机制是ipfw,管理工具是ipfwadm

2.2 版内核中,包过滤机制是ipchain,管理工具是ipchains

2.4 版及以后的内核中,包过滤机制是netfilter,管理工具是iptables

3.10版内核中,包过滤机制是firewalld,管理工具是firewall-cmd

大家应该都知道RHEL7内核的版本是3.10,在此版本的内核里防火墙的包过滤机制是firewalld ,虽然说它的工具变了,但是‘firewall-cmd’ 命令其实是调用的iptables

[[email protected] ~]# for SERVICE in iptables ip6tables ebtables; do

>   systemctl mask${SERVICE}.service

> done

包过滤防火墙是工作在TCP/IP的网络层

附件  TCP/IP

规则表

具有某一类相似用途的防火墙规则,按照不同处理时机区分到不同的规则链以后,被归置到不同的“表”中规则表是规则链的集合

默认的4个规则表

raw表:确定是否对该数据包进行状态跟踪

mangle表:为数据包设置标记

nat表:修改数据包中的源、目标IP地址或端口

filter表:确定是否放行该数据包(过滤)

其中filter表、nat表是最常用的,每个表的功能不同,通过数据的匹配规则也不同,在今后使用中请确认后再去使用mangle表可以对数据包进行特殊标记,结合这些标记可以在filter表中对数据包进行有选择性的处理(如“策略路由”,举个例子,网关主机有两条ADSL线路,分别使用网通、电信的接口,可以将访问网通服务器的数据交给网通ADSL接口,而访问电信服务器的数据交给电信ADSL接口)raw表是自1.2.9以后版本的iptables新增的表,主要用于决定数据包是否被状态跟踪机制处理,目前raw表中的应用尚不多见

附件 规则表

规则链

“包过滤”防火墙的主要特点是过滤网络层的IP数据包。实际上在应用iptables规则的时候会发现,有些规则应用是针对传输层、链路层的这些规则的实现是由一个叫“规则链”的规则的作用在于对数据包进行过滤或处理,根据处理时机的不同,各种规则被组织在不同的“链”中规则链是防火墙规则/策略的集合。这些规则链有五种默认的分别是:

INPUT:                        处理入站数据包

OUTPUT:                     处理出站数据包

FORWARD:                处理转发数据包

POSTROUTING :在进行路由选择后处理数据包

PREROUTING:   在进行路由选择前处理数据包

在“主机防火墙”中,主要针对服务器本机进出的数据实施控制,多以INPUT、OUTPUT链的应用为主在“网络防火墙”中,主要针对数据转发实施控制,特别是防火墙主机作为网关使用时的情况,因此多以FORWARD、PREROUTING、POSTROUTING链的应用为主

入站数据流向:来自外界的数据包到达防火墙后,首先被PREROUTING规则链处理(是否修改数据包地址等),之后会进行路由选择(判断该数据包应该发往何处),如果数据包的目标地址是防火墙本机(如Internet用户访问防火墙主机中Web服务的数据包),那么内核将其传递给INPUT链进行处理(决定是否允许通过等),通过以后再交给系统上层的应用程序(如httpd服务器)进行响应

转发数据流向:来自外界的数据包到达防火墙后,首先被PREROUTING规则链处理,之后会进行路由选择,如果数据包的目标地址是其他外部地址(如局域网用户通过网关访问QQ站点的数据包),则内核将其传递给FORWARD链进行处理(是否转发或拦截),然后再交给POSTROUTING规则链(是否修改数据包的地址等)进行处理

出站数据流向:防火墙本机向外部地址发送的数据包(如在防火墙主机中测试公网DNS服务时),首先被OUTPUT规则链处理,之后进行路由选择,然传递给POSTTOUTING规则链(是否修改数据包的地址等)进行处理

附件 规则链

防火墙区域

firewall区域许多预定义的区域运输firewalld,每个都有自己的用途,每一个区域都和其他区域是有联系的,不指定区域时,默认区域为public,默认的区域不是一个独立的区域;相反,它指向一个在系统定义的其他区域,在RHEL7中常见的区域有

trusted:允许所有传入的流量

home    拒绝传入流量,允许外出及服务sshmdnsipp-clientsamba-clientdhcpv6-client

internal:拒绝传入流量,允许外出及服务sshmdnsipp-clientsamba-clientdhcpv6-client(同home

work      拒绝传入流量,允许外出及服务ssh ipp-client dhcpv6-client

public   拒绝传入流量,允许外出及服务sshdhcpv6-client,新添加的网络接口缺省的默认区域。

external:拒绝传入流量,允许外出及服务sshmdnsipp-clientsamba-clientdhcpv6-client,允许IPV4的流量输出

dmz         拒绝传入流量,允许外出及服务ssh

block      拒绝流量进出

drop       放弃所有的传入流量,除非外出交通相关(甚至不响应ICMP协议错误)

如果传入的数据包的源地址相匹配的一个区的规则设置,数据包将通过该区域路由如果一个数据包传入接口与一个区域规则的设置匹配,该区域将被使用。

 

防火墙的配置

RHEL7内提供了三种防火墙的管理方式:①命令模式下使用命令 firewall-cmd  ② 图形界面下使用命令 firewall-config③修改配置文件在/etc/firewalld/下,在这里我们重点介绍第一种命令行模式。

firewall-cmd 不得不说RHEL7中的防火墙命令动不动就两三行,而且还有好多我都没见过的选项和参数,至于有哪些选项和参数呢,我列出来给大家看看

例设置 wab服务的访问权限

验证firewall是否启用

第一步Systemctl status firewalld.Service

第二步安装 httpd、mod_ssl 软件包并开启 httpd 服务以及自启动

第三步 创建wab服务的首页文件

第四步  默认配置 防火墙对 主机server1 允许所有流量通过DMZ区域

firewall-cmd –set-defaule-zone=dmz

第五步配置防火墙对主机server1所在网

段的流量通过 即允许172.25.1.0/24通过DMZ区域

firewall-cmd   --permanent  --zone=work   --add-source=172.25.1.0/24

第六步配置区域work 允许访问wab服务的流

量进出(https)

firewall-cmd  --permanent --zone=work  --add-service=https

第六步使防火墙的配置生效

firewall-cmd  --reload

第七步  检测对server1 网段防火墙的配置

Firewall-cmd  --get-default-zone

Firewall-cmd  --get-active-z

ones

Firewall-cmd  --zone=work --list-all

第八步  切换到server1验证网页是否能访问

Curl http://server0.example.com

时间: 2024-10-20 11:21:08

Linux系统管理 –RHEL-7 防火墙篇的相关文章

Linux系统管理——触发挂载篇

所谓触发挂载,简单来说就是用到的时候,就自动挂载,用不到的时候就不挂载.而且一般在自动挂载后5分钟不使用,将会自动卸载. 触发挂载依赖于autofs服务,autofs是一个后台程序,当使用某文件时,自动支持该系统,不使用则不支持. 还记得/misc下的那个神奇的目录cd吗?相信很多初学者都会对它印象深刻吧.下面我们就解开它神秘的面纱,并创建一个这个会"隐身"的家伙吧 想要实现触发挂载,最主要要知道两个它的配置文件: -- /etc/auto.master -- /etc/auto.xx

Linux系统管理——基础命令篇

终于开始接触Linux,现在是一个标准的菜鸟,那么就踏踏实实,一步一步开始进阶,希望我的博客慢慢可以给后来人带来帮助. 废话少说,下面就是我所接触的Linux系统管理的一些基础命令,以及我个人添加的命令的释义,还望大大们多多指教. 一.Linux命令行基础 [[email protected] ~]# uname -r       //查看内核版本 [[email protected] ~]# uname -a       //查看内核相关详细信息 [[email protected] ~]#

linux系统管理

[监控系统的状态] 1. w 查看当前系统的负载 相信所有的linux管理员最常用的命令就是这个'w' 了,该命令显示的信息还是蛮丰富的.第一行从左面开始显示的信息依次为:时间,系统运行时间,登录用户数,平均负载.第二行开始以及下面所有的行,告诉我们的信息是,当前登录的都有哪些用户,以及他们是从哪里登录的等等.其实,在这些信息当中,笔者认为我们最应该关注的应该是第一行中的'load average:'后面的三个数值. 第一个数值表示1分钟内系统的平均负载值:第二个数值表示5分钟内系统的平均负载值

Linux系统管理常用命令

Linux系统管理常用命令 分类: Linux2011-01-10 18:26 1538人阅读 评论(0) 收藏 举报 linuxcommandservicenginxuserunix 目录(?)[+] 1. 时间date 1)显示当前时间: date .//Wed Jul 29 11:05:11 CST 2009  2)date修改时间:date -s  date 修改时间2007-08-29 14:41 date -s 14:36:30   //时间为14点36分30秒 date 08291

Linux系统管理09——引导过程与服务控制

Linux系统管理09--引导过程与服务控制 一.引导过程总览 1.init进程 ·由linux内核加载运行/sbin/init程序 ·是系统中的第一个进程,所有进程的父进程 ·PID(进程标记)号永远为1 2.Upstart启动方式 初始化配置分散存放,响应不同的启动事件 参数 说明 /etc/inittab 配置默认运行级别 /etc/sysconfig/init 控制tty终端的开启数量.终端颜色方案 /etc/init/rcS.conf 加载rc.sysinit脚本,完成系统初始化任务

Linux系统管理远程登录工具PUTTY

PuTTY 简介 PuTTY是一个Telnet.SSH.rlogin.纯TCP以及串行接口连线软件.较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台,并打算移植至Mac OS X上.除了官方版本外,有许多非官方的团体或个人将PuTTY移植到其他平台上,像是以Symbian为基础的移动电话. PuTTY为一开放源代码软件,主要由Simon Tatham维护,使用MIT licence.随着Linux在服务器端应用的普及,Linux系统管理越来越依赖于远程.在各种远程登录工

Linux系统管理技术手册——第6章 添加新用户

6.1/etc/passwd文件 用户登录时Linux识别用户的文件/etc/passwd /etc/passwd包括7个字段: 登录名(不超过32位,使用NIS系统后不超过8位) 经过加密的口令或口令占位符(大多数实际放在/etc/shadow文件中,默认采用MD5加密,SUSE中采用Blowfish,通过passwd命令设置) UID(用户ID)号(32位无符号数,建议限制为32767内,root的UID为0,让多个账号UID为0会产生潜在安全漏洞,LDAP是一种流行的UID管理工具) 默认

Linux系统管理(1)

Linux系统管理主要分为:1.存储管理:2.程序包管理:3.sed.awk的应用:4.进程管理:5.网络管理:6.Linux内核管理:7.Linux系统的启动流程:8.系统安装:9.完善shell脚本的使用:我们接下来先给大家说一说Linux存储管理. Linux存储管理主要有磁盘控制器.总线.磁盘的接口:磁盘控制器一般有两种,IDE以及SCSI:而总线有主要分为数据总线,地址总线,控制总线,当然了,总线是不会单独工作,一般都是集成在主板上的:磁盘接口可以衡量一个磁盘的IO能力,磁盘接口的类型

linux初学者-CIFS网络文件系统篇

linux初学者-CIFS网络文件系统篇 CIFS是一种通用网络文件系统,主要用于网络设备之间的文件共享.CIFS可以在linux系统和windows系统之间共享文件,因此这种文件系统主要用于客户端是windows系统. 提供CIFS的服务是SAMBA,下文将介绍SAMBA服务的一些配置以及用法. 1.SAMBA的安装和配置 "yum install samba samba-common samba-client -y".安装SAMBA服务. "systemctl start

Linux系统中的防火墙的实现:iptables/netfilter

防火墙:包括软件防火墙(基于iptables/netfilter的包过滤防火墙)和硬件防火墙,在主机或网络边缘对经由防火墙的报文以一定条件进行检测过滤的一系列组件. Linux系统中的防火墙的实现:利用iptables/netfilter既可以实现主机防火墙(安全服务范围仅限于当前某台主机),又可以实现网络防火墙(安全服务范围为当前局域网).netfilter:Linux系统内核中防火墙的框架,防火墙功能实现的主体:iptables:为netfilter编写数据传输的匹配规则的用户空间中的应用程