您现在的位置是:首页 >其他 >从零开始学习Linux运维,成为IT领域翘楚(十)网站首页其他

从零开始学习Linux运维,成为IT领域翘楚(十)

造次阿 2024-06-11 18:01:02
简介从零开始学习Linux运维,成为IT领域翘楚(十)

?Linux网络防火墙

在这里插入图片描述

防火墙管理工具
在这里插入图片描述

firewalld概述

Centos 系统中集成了多款防火墙管理工具,其中 firewalld服务是默认的防火墙配置管理工具,它拥有基于 CLI(命 令行界面)和基
于 GUI(图形用户界面)的两种管理方式。

firewalld 中常用的区域名称及策略规则

区域默认策略规则
trusted允许所有的数据包
home拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh、mdns、ipp-client、amba-client 与 dhcpv6-client 服务相关,则允许流量
internal等同于 home 区域
work拒绝流入的流量,除非与流出的流量数相关;而如果流量与 ssh、ipp-client 与dhcpv6-client 服务相关,则允许流量
public拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh、dhcpv6-client 服务相关,则允许流量
external拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh 服务相关,则允许流量
dmz拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh 服务相关,则允许流量
block拒绝流入的流量,除非与流出的流量相关
drop拒绝流入的流量,除非与流出的流量相关

firewalld防火墙的配置

?	使用firewall-cmd 命令行工具。
?	使用firewall-config 图形工具。
?	编写/etc/firewalld/中的配置文件。
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态:
systemctl status firewalld firewall-cmd --state
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld

终端管理工具

Linux 命令时曾经听到,命令行终端是一种极富效率的工作方式,firewalld-cmd 是 firewalld 防火墙配置管理工具的 CLI(命令行界面)版本。

firewalld-cmd 命令中使用的参数以及作用

参数作用
–get-default-zone查询默认的区域名称
–set-default-zone=<区域名称>设置默认的区域,使其永久生效
–get-zones显示可用的区域
–get-services显示预先定义的服务
–get-active-zones显示当前正在使用的区域与网卡名称
–add-source=将源自此 IP 或子网的流量导向指定的区域
–remove-source=不再将源自此 IP 或子网的流量导向某个指定区域
–add-interface=<网卡名称>将源自该网卡的所有流量都导向某个指定区域
–change-interface=<网卡名称 >将某个网卡与区域进行关联
–list-all显示当前区域的网卡配置参数、资源、端口以及服务等信息
–list-all-zones显示所有区域的网卡配置参数、资源、端口以及服务等信息
–add-service=<服务名>设置默认区域允许该服务的流量
–add-port=<端口号/协议>设置默认区域允许该端口的流量
–remove-service=<服务名>设置默认区域不再允许该服务的流量
–remove-port=<端口号/协议>设置默认区域不再允许该端口的流量
–reload让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
–panic-on开启应急状况模式
–panic-off关闭应急状况模式

注意:

使用 firewalld 配置的防火墙策略默认为运行时(Runtime)模式,又称为当前生效模式,而且随着系统的重启会失效。如果想让配 置策略一直存在,就需要使用永久(Permanent)模式了,方法就是在用 firewall-cmd 命令正常设置防火墙策略时

添加 --permanent 参数,

这样配置的防火墙策略就可以永久生效了。但是,永久生效模式有一个“不近人情”的特点,就是使用它设置的策略只有在系统重启之后才能自动生效。

常用示例

区域管理示例

? 显示当前系统中的默认区域

firewall-cmd --get-default-zone

? 显示默认区域的所有规则

firewall-cmd --list-all

? 显示当前正在使用的区域及其对应的网卡接口

firewall-cmd --get-active-zones

? 设置默认区域

firewall-cmd --set-default-zone=home
firewall-cmd --get-default-zone

服务管理示例

? 查看默认区域内允许访问的所有服务

 firewall-cmd --list-service

? 添加httpd 服务到public 区域

 firewall-cmd --add-service=http --zone=public

? 查看public 区域已配置规则

firewall-cmd --list-all --zone=public

? 删除public 区域的httpd 服务

firewall-cmd --remove-service=http --zone=public

? 同时添加httpd、https 服务到默认区域,设置成永久生效

firewall-cmd --add-service=http --add-service=https --permanent
firewall-cmd --reload 
firewall-cmd --list-all

端口管理示例

? 查看开启的端口列表

[root@localhost local]# firewall-cmd --zone=public --list-ports

? 开启某端口

[root@localhost local]# firewall-cmd --zone=public --add-port=8080/tcp
success

? 关闭某端口

[root@localhost local]# firewall-cmd --zone=public --remove-port=8080/tcp success

SELinux

安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。

SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。
在这里插入图片描述
说明:

当您全神贯注地使用它给照片进行美颜 的时候,它却在后台默默监听着浏览器中输入的密码信息,而这显然不应该是它应做的事情,SELinux 安全子系统就是为了杜绝此类情况而设计的,它能够从多方面监控违法行为。

?	对服务程序的功能进行限制(确保程序干不了出格的事情)
?	对文件资源的访问资源限制(SELinux安全上下文确保文件资源只能被其他所属的服务程序进行访问)

SELinux 服务有三种配置模式:

?	enforcing:强制启用安全策略模式,将拦截服务的不合法请求。
?	permissive:遇到服务越权访问时,只发出警告而不强制拦截。
?	disabled:对于越权的行为不警告也不拦截。

在这里插入图片描述

SELinux 服务的主配置文件中,定义的是 SELinux 的默认运行状态,可以将其理解为系 统重启后的状态,因此它不会在更改后立即生效。可以使用 getenforce 命令获得当前 SELinux 服务的运行模式:

[root@linuxprobe ~]# getenforce
Enforcing

注意:

修改 SELinux 当前的运行模式(0 为禁用,1 为启用)。这种修改只是临时的,在系统 重启后就会失效:
setenforce 0
getenforce

?Linux内核机制

在这里插入图片描述
今天为大家解读一副来自极客漫画网站作者Daniel Stori关于Linux有趣的作品。
在这里插入图片描述

地基
在这里插入图片描述

解释:

地基(底层)由一排排的文件柜组成,然有序,文件柜里放置着“文件”—-电脑中的文件。左上角,有一只胸前挂着421号牌的小企鹅,它表示着PID (进程ID(Process ID) )为421的进程、它正在查看文件柜中的文件,这代表系统中正有一个进程在访问文件系统。在右下角有一只小狗,它是看门狗(watchdog) 、这代表对文件系统的监控。

地面层
在这里插入图片描述
看完了地基,接下来我们来看地基上面的一层,都有哪些东西。
在这里插入图片描述

解释:

左上角有一个小企鹅,站着,仿佛在说些什么这显然是一位家长的人物,不过看起来周围坐的那些小企鹅不是很听话—你看有好多走神的、自顾自聊天的——“喂喂,说你呢,哇塞娃(191),转过身来”。它代表着Linux内核中的初始化(init)进程,
也就是我们常说的PID 为1的进程。桌子上坐的小企鹅都在等待状态(wait)中,等待工作任务。

大门
在这里插入图片描述

解释:

在这层的左侧,有一只号牌为1341的小企鹅,守在门口,门上写着80,说明这个PID为1341的小企子负责接待80端口,也就是我们常说的HTTP (网站)的端口。小企鹅头上有一片羽毛,这片羽毛大有来历,它是著名的HTTP服务器Apache 的Logo。
在这里插入图片描述

解释:

他就是著名的HTTP服务器Aache的Logo。

在这里插入图片描述

解释:

FTP协议有点老旧了,目前用的人也比以前少了,以至于这里都没人接待了。

在这里插入图片描述

解析:

22端口是SSH端口,是一个非常重要的远程连接端口,通常通过这个端口进行远程管理,所以对这个端口进来的人要仔细审查。它的身上写的52,说明它是第52个小企鹅。

时间
在这里插入图片描述

解释:

在这一层中,有一个身上写着219的小企鹅,他正满头大汗地看着自己的手表。这只小企鹅就是定时任务(Crontab) ,他会时刻关注时间,查看是否要去做某个工作。

在这里插入图片描述

解释:

有两个小企鹅扛着管道(PipeLine)在行走,一只小企鹅可以把自己手上的东西通过这个管道。传递给后面的小企鹅。

二楼
在这里插入图片描述

解释:

这一层有很多屏幕,每个屏幕写着TTY(这就是对外的终端)。

敌人
在这里插入图片描述
解释:

这个小丑是谁呀?我也不知道或许是病毒吧。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。