SELinux 系统安全防护、系统故障修复(破解root密码,修复重要文件)、防火墙策略管理、服务管理
系统安全保护
SELinux :Security-Enhanced Linux - 一套增强Linux系统安全的强制访问体系 - 集成到Linux内核(2.6及以上)中运行 - RHEL7 基于SELinux体系针对用户、进程、目录和文件提供了预设的保护策略,以及管理工具
linux SELinux 防火墙的关系
linux系统 SELinux : 制定linux系统内部规则 防火墙 : 只管网关,进出Linux系统内部
SELinux的运行模式
enforcing (强制 默认) permissive(宽松 80%失效) disabled(彻底禁用)
任何模式切换到 彻底禁用,都需要重启;彻底禁用到其他模式,也需要重启
切换模式:
临时切换 setenforce 1或0 固定配置 /etc/selinux/config
查看SELinux状态
getenforce
系统故障修复(破解root密码,修复重要文件)
忘记root密码 重设root用户密码
重启操作系统,进入修复模式,然后修改密码
-
重启系统,进入 recovery 恢复模式
按e键,找到linux16行,末尾添加 rd.break console=tty0 按 ctrl +x 启动
进入之后 ls 显示的都是恢复模式的操作系统,而硬盘的操作系统环境在 /sysroot 目录下;需要2步骤切换环境
-
以可写方式重新挂载 / 并切换到此环境
-
switch_root# chroot /sysroot 切换环境 将sysroot的所有数据直接挂载到救援模式的根上 但是是只读的 switch_root# mount -o remount,rw / 赋予写权限 -o 选项 remount 重新挂载 rw 读写
-
修改密码
echo 123 | passwd –stdin root
-
强制重启
reboot -f
SELinux 强制模式 破解密码
多做一个步骤 重设SELinux 标签 (让SELinux失忆) touch /.autorelabel 也可以直接修改SELinux配置文件,把SELinux 变成permissive 宽松模式
然后 reboot -f 完成修复
系统文件损坏故障
- 1、第一种 开机等待报错界面 输入root密码 然后可以直接修改文件
防火墙策略管理
查看服务状态 systemctl status httpd systemctl status vsftpd
虚拟机A:构建一个web服务
Web服务:提供网页内容 http:超文本传输协议 构建Web服务器:httpd nginx tomcat httpd:稳定高,功能全 nginx:支持高并发 (tengine) tomcat:与java兼容 安装httpd (d deamon 守护进程) yum -y install httpd
重启httpd 服务 systemctl restart httpd ysytemctl enable httpd (设置开机自启) 书写网页文件 httpd 专门存放网页文件的路径 /var/www/html/
测试 curl 192.168.4.7
虚拟机A:构建一个FTP服务
FTP服务:数据传输 FTP协议:文件传输协议 安装 vsftpd yum -y install vsftpd
重启 vsftpd 服务 systemctl restart vsftpd systemctl enable vsftpd 测试 curl ftp://192.168.4.7 drwxr-xr-x 2 0 0 6 Aug 03 2017 pub /var/ftp 默认共享数据的目录
防火墙策略
作用:隔离 过滤;严格过滤入站,放行出站 防火墙会分成几个区域,每个区域有各自的规则,请求来了,先判断区域,再判断规则 查看防火墙区域: firewall-cmd --list-all-zones 常用的4个区域 public:公共区域,仅允许ssh dhcp ping 其他均拒绝 trusted:信任区域,允许所有访问 block:拒绝区域,拒绝所有访问,明确回应客户端 drop:丢弃区域,丢弃所有访问,不给客户端任何回应
防火墙判断客户端请求进入区域的原则
查看客户端请求的数据包的源IP地址 1、查看数据包的来源IP地址,检测自己所有区域中规则,哪个区域有该IP地址的规则,则进入该区域 2、没有任何一个区域,有该IP的规则,则进入默认区域(默认情况为public) - 硬件防火墙 能力强大,能保护一批机器 - 软件防火墙 能保护本机 linux软件防火墙:firewalld - 安装防火墙 yum -y install firewalld - 启动防火墙 systemctl restart firewalld systemctl enable firewalld 开机自启
- 防火墙设置 firewall-config 图形管理规则界面 (知道即可 不属于我们) - 1、firewall-cmd 纯命令管理规则界面
修改虚拟机A的默认区域
- 查看默认区域 firewall-cmd --get-default-zone - 修改 firewall-cmd --set-default-zone=trusted firewall-cmd --set-default-zone=block firewall-cmd --set-default-zone=drop
编写防火墙规则
- 单独拒绝虚拟机B的访问,其他都能访问 默认区域设置为trusted,然后将B加入block区域 firewall-cmd --set-default-zone=trusted firewall-cmd --zone=block --add-source=192.168.4.207
查看block区域的所有规则 firewall-cmd --zone=block --list-all
- 删除规则: firewall-cmd --zone=block --remove-source=192.168.4.207
给区域添加规则 比如 http ftp
防火墙识别的是协议 一次只能添加一个 firewall-cmd --zone=public --add-service=http firewall-cmd --zone=public --add-service=ftp
命令修改默认区域是永久的,修改区域规则是临时的
实现区域添加规则为永久设置添加参数 –permanent ,改变的是配置文件,当前不会记录
--reload 重新加载防火墙(临时的规则就没有了) firewall-cmd --permanent --reload
服务管理
systemd 上帝进程,所有进程的父进程 (PID=1)
systemctl restart httpd start 启动 restart 重启 enable 开机自启 stop 停止 78 初始化程序为 systemd 5 初始化程序为 system v 6 upstart ------------------------- init程序的作用
linux系统和服务管理器 systemd
- 是内核引导之后加载的第一个初始化进程(PID=1) - 负责掌控整个linux的运行/服务资源组合
systemd
- 一个更高效的系统&服务管理器 开机服务并行启动,各系统服务件的精确依赖 配置目录 /etc/systemd/system 服务目录 /lib/systemd/system
ls -l /sbin/init lrwxrwxrwx. 1 root root 22 1月 11 23:41 /sbin/init -> ../lib/systemd/systemd - 主要管理工具 systemctl
列出所有活动的服务
systemctl -t service
包括不活动的
systemctl -t service --all
常用命令
- 启动服务 systemctl start 服务名 - 重启服务 systemctl restart 服务名 - 停止服务 systemctl stop 服务名 - 开机自启 systemctl enable 服务名 - 取消开机自启 systemctl disable 服务名 - 查看服务是否开机自启 systemctl is-enabled 服务名
管理运行级别
- RHEL6 运行级别: 0:关机 1:单用户模式(基本功能的实现 破解linux密码) 2:多用户字符界面(不支持网络) 3: 多用户字符界面(支持网络)系统默认的运行级别 4:未定义 5:图形界面 6:重启 切换运行界别: init 数字 - RHEL7 运行模式: 字符模式:multi-user.target 图形模式:graphical.target 当前直接切换到字符模式 systemctl isolate multi-user.target 当前模式直接切换到图形模式 systemctl isolate graphical.target 获取默认运行级别 systemctl get-default 设置默认运行级别 systemctl set-default multi-user.target
点赞
评论