
系统安全保护 系统故障修复 防火墙策略管理 服务管理
切换运行模式 - 临时切换 :
找到Linux16该行,在改行的最后,空格输入
按Ctrl + x 启动,会看到switch_root 😕#
如果SELinux是强制模式,那么我们需要设置SELinux策略(其他模式不需要做此操作)
· 根据所在的网络场所区分,预设保护规则集
发布日期:2021-05-08 03:57:12
浏览次数:24
分类:精选文章
本文共 7373 字,大约阅读时间需要 24 分钟。
· 系统安全保护
· 系统故障修复 · 防火墙策略管理 · 服务管理系统安全保护
SELinux安全机制
· Security - Enhanced Linux- 美国NSA国家安全局主导开发,一套增强Linux系统安全的强制访问控制体系
- 集成到Linux内核(2.6及以上)中运行
- RHEL7基于SELinux体系针对用户、进程、目录和文件提供了预设的保护策略,已经管理工具
SELinux的三种运行模式
- enforcing (强制) 、 permissive(宽松)
- disabled(彻底禁用)
· 任何模式变成disabled(彻底禁用),都要经历重启系统

setenforce 1/0
(只能切换强制模式和宽松模式,如果想变成彻底禁用的状态,只能修改配置文件) - 固定配置 : /etc/selinux/config
文件 临时切换:getenforce 查看当前SElinux的运行的模式# Enforcing setenforce 0 切换SELinux为宽松状态setenforce 1 切换SELinux为强制状态永久更改:vim /etc/selinux/config 修改配置文件,需要下一次开机才生效 SELINUX=permissive 将配置文件SELinux的模式改成宽松模式
系统故障的修复
遗忘root用户密码
· 故障现象- 无法执行需要root权限的管理操作
- 若没有其他账户号,将无法登陆系统
· 解决思路
- 引导进入修复模式,然后重设密码
破解root用户密码
前提: 必须是服务器的管理者,涉及重启服务器 1)重启系统,进入 恢复模式 开启虚拟机,在此界面按e键
rd.break console=tty0


vim /etc/selinux/config 查看SELinux开机的运行模式touch /.autorelabel SELinux是强制模式,让SELinux失忆也可以进入/etc/selinux/config的配置文件,修改SELinux的模式
构建基本服务
构建Web服务器
- Web服务 : 提供一个网页内容
- Web服务器 : 提供一个网页内容机器
- http协议 : 超文本传输协议
- 实现Web服务功能的软件 : httpd 、Nginx 、Tomcat
Httpd的使用
- 安装httpd软件
yum -y install httpd rpm -q httpd
- 书写一个网页内容
vim /var/www/html/index.html 安装好httpd软件后,写入页面的内容必须写入该文本文件内 biubiubiu
- 启动服务
rpm -ql httpd | grep bin 查看httpd的软件安装清单,寻找httpd的执行程序ls /usr/sbin/httpd 找到执行程序# /usr/sbin/httpd>/etc/resolv.conf web程序运行的时候,会自动寻找域名解析DNS服务器。所以我们要清空域名解析文件的文件内容,不然web启动会很慢/usr/sbin/httpd 运行程序curl http://192.168.4.7 curl是命令行浏览器,专门用于测试用的# biubiubiukillall httpd 停掉服务
构建FTP服务器
- FTP服务 : 传输数据
- ftp协议 : 文件传输协议
- 实现FTP服务软件 : vsftpd
vsftpd的使用
- 安装vsftpd软件
yum -y install vsftpd
- vsftpd的主目录
ls /var/ftp/ 默认会把这个目录下的所有内容共享给客户端# pubtouch /var/ftp/a.txt 在/var/ftp/目录下创建一个a.txt文件
- 启动服务
/usr/sbin/vsftpd 运行执行程序curl ftp://192.168.4.7 测试服务是启动是否成功# -rw-r--r-- 1 0 0 0 Mar 14 15:52 a.txt# drwxr-xr-x 2 0 0 6 Oct 13 16:10 pub
防火墙策略管理
- 作用 : 隔离,严格过滤入站请求,放行出站 硬件防火墙 : 保护一个网络中所有的主机
软件防火墙 : 保护本机
· 系统服务: firewalld · 管理工具: firewall-cmd、firewall-config
-
public : 仅允许访问本机的ssh、dhcp、ping服务
-
trusted : 允许任何访问
-
block : 阻塞任何来访请求,客户端得到回应
-
drop : 丢弃任何来访的数据包,客户端没有得到回应
· 防火墙判断规则
-
首先防火墙会先查看访问请求中来源IP地址,查看所有区域中哪个区域有该源IP地址规则,则进入该区域
-
如果防火墙找不到访问请求中的源IP地址,进入默认区域(默认情况下为public)
虚拟机A firewall-cmd --get-default-zone 查看默认区域# public虚拟机B 访问测试ping -c 2 192.168.4.7 成功# PING 192.168.4.7 (192.168.4.7) 56(84) bytes of data.# 64 bytes from 192.168.4.7: icmp_seq=1 ttl=64 time=0.663 ms# 64 bytes from 192.168.4.7: icmp_seq=2 ttl=64 time=1.09 ms# --- 192.168.4.7 ping statistics ---# 2 packets transmitted, 2 received, 0% packet loss, time 1000ms# rtt min/avg/max/mdev = 0.663/0.877/1.091/0.214 mscurl http://192.168.4.7 失败# curl: (7) Failed connect to 192.168.4.7:80; No route to hostcurl ftp://192.168.4.7 失败# curl: (7) Failed connect to 192.168.4.7:21; No route to host
如上所示,当虚拟机A的访问默认区域规则为public时,我们可以ping通,但是无法访问web服务。
那么我们来修改一下默认区域的访问规则,将默认区域的访问规则改成trusted,再来做一个测试。虚拟机A 修改默认区域firewall-cmd --set-default-zone=trusted 修改默认区域# success firewall-cmd --get-default-zone 查看默认区域# trusted虚拟机B 访问测试curl http://192.168.4.7 成功# biubiubiu curl ftp://192.168.4.7 成功# -rw-r--r-- 1 0 0 0 Mar 14 15:52 a.txt # drwxr-xr-x 2 0 0 6 Oct 13 16:10 pub
当我们把虚拟机A的访问默认区改成trusted,那么我们是可以直接通过虚拟机B来访问到虚拟机A的web服务的。
在区域中添加允许的协议
临时添加
虚拟机A修改 public区域的协议规则firewall-cmd --set-default-zone=public 修改默认区域# successfirewall-cmd --zone=public --list-all 查看区域的规则 # public (active)# target: default# icmp-block-inversion: no# interfaces: eth0# sources: # services: dhcpv6-client ssh# ports: # protocols: # masquerade: no# forward-ports: # source-ports: # icmp-blocks: # rich rules: firewall-cmd --zone=public --add-service=ftp 添加ftp协议# successfirewall-cmd --zone=public --add-service=http 添加http协议# success firewall-cmd --zone=public --list-all 查看区域规则# services: dhcpv6-client ftp http ssh虚拟机B 访问测试curl http://192.168.4.7 成功curl ftp://192.168.4.7 成功删除协议firewall-cmd --zone=public --remove-service=http 删除http协议firewall-cmd --zone=public --remove-service=ftp 删除ftp协议
永久添加
虚拟机A在public区域中永久添加ftp规则和http规则 -永久 (--permanent)firewall-cmd --permanent --zone=public --add-service=ftp 永久添加ftp规则firewall-cmd --permanent --zone=public --add-service=http 永久添加http规则加了--permanent后,会直接把配置信息的更改写入配置文件中,不会立即成效。需要加载防火墙永久策略才会立即生效firewall-cmd --reload 加载防火墙永久策略firewall-cmd --zone=public --list-all 查看区域的规则
虚拟机A单独拒绝虚拟机B的所有访问
虚拟机A 修改block规则firewall-cmd --zone=block --add-source=192.168.4.207 将虚拟机B添加到虚拟机A的block规则中firewall-cmd --zone=block --list-all 查看区域的规则# block (active)# target: %%REJECT%%# icmp-block-inversion: no# interfaces: # sources: 192.168.4.207# services: # ports: # protocols: # masquerade: no# forward-ports: # source-ports: # icmp-blocks: # rich rules:虚拟机B 访问测试curl http://192.168.4.7 失败curl ftp://192.168.4.7 失败真机 访问测试http://192.168.4.7 成功
服务管理
· 上帝进程 : systemd
· linux系统和服务管理器- 是内核引导之后加载的的一个初始化进程(PID=1)
- 负责掌控整个Linux的运行/服务资源组合
· 一个更高校的系统&服务管理器
- 开机服务并行启动,个系统服务间的精确依赖
- 配置目录:
/etc/systemd/system/
- 服务目录:
/lib/systemd/system/
- 主要管理工具:
systemctl
对于服务的管理
systemctl restart 服务名 # 重启服务systemctl start 服务名 # 开启服务systemctl stop 服务名 # 停止服务systemctl status 服务名 # 查看服务当前的状态systemctl enable 服务名 # 设置服务开机自启动systemctl disable 服务名 # 设置服务禁止开机自启动systemctl is-enabled 服务名 # 查看服务是否开机自启
killall httpd 杀死进程httpdsystemctl status httpd 查看进程httpd状态# ● httpd.service - The Apache HTTP Server# Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)# Active: inactive (dead)# Docs: man:httpd(8)# man:apachectl(8)systemctl restart httpd 重启进程httpdsystemctl status httpd 查看进程httpd状态# ● httpd.service - The Apache HTTP Server# Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)# Active: active (running) since Mon 2021-03-15 17:53:06 CST; 10s ago# Docs: man:httpd(8)# man:apachectl(8)# Main PID: 1703 (httpd)# Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"# CGroup: /system.slice/httpd.service# ├─1703 /usr/sbin/httpd -DFOREGROUND# ├─1704 /usr/sbin/httpd -DFOREGROUND# ├─1705 /usr/sbin/httpd -DFOREGROUND# ├─1706 /usr/sbin/httpd -DFOREGROUND# ├─1707 /usr/sbin/httpd -DFOREGROUND# └─1708 /usr/sbin/httpd -DFOREGROUND# Mar 15 17:53:06 svr7.tedu.cn systemd[1]: Starting The Apache HTTP Server...# Mar 15 17:53:06 svr7.tedu.cn systemd[1]: Started The Apache HTTP Server.systemctl enable httpd 设置进程httpd服务为开机自动启动# Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.systemctl is-enabled httpd 查看进程httpd是否是开机自启# enabledsystemctl disable httpd 禁止进程httpd开机自动启动# Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.systemctl is-enabled httpd 查看进程是否开机自启# disabled
管理运行级别
RHEL6:运行级别 300
0: 关机 0个服务1:单用户模式(基本功能的实现,破解Linux密码) 50个服务2:多用户字符界面(不支持网络) 80个服务3:多用户字符界面(支持网络) 服务器的默认允许级别 100个服务4:未定义 0个服务5:图形界面 300个服务6:重启 0个服务切换允许级别:init数字
RHEL7:运行模式(运行级别)
字符模式:multi-user.target图形模式:graphical.target当前直接切换到字符模式systemctl isolate multi-user.target # 相当于原来的init 3当前直接切换到图形模式systemctl isolate graphical.target # 相当于原来的init 5查看每次开机默认进入模式systemctl get-default设置永久策略,每次开机自动进入multi-user.targetsystemctl set-default multi-user.targetreboot 重启计算机
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年03月27日 23时29分25秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Shell脚本学习指南
2021-05-09
C#开发BIMFACE系列35 服务端API之模型对比6:获取模型构建对比分类树
2021-05-09
C# 规范建议
2021-05-09
C语言+easyX图形库的推箱子实现
2021-05-09
反汇编-流程控制语句-2-循环控制语句分析
2021-05-09
调试vs2019代码的流程
2021-05-09
游戏外挂基础-概述
2021-05-09
脱壳与加壳-加壳-6-代码实现加密导入表
2021-05-09
Typora配置PicGo时,提示Failed to fetch
2021-05-09
ASP.NET CORE MVC 实现减号分隔(Kebab case)样式的 URL
2021-05-09
bcolz的新操作
2021-05-09
Linux的s、t、i、a权限(转)
2021-05-09
zmq的send
2021-05-09
C++中的delete加深认识
2021-05-09
windows消息机制(转)
2021-05-09
STL笔试面试题总结(干货)(转)
2021-05-09
XML 和 HTML 之间的差异
2021-05-09
阿里钉钉面试题
2021-05-09
华为社招笔试
2021-05-09
C++中找资源或者函数的方法
2021-05-09