SELinux 系统安全防护、系统故障修复(破解root密码,修复重要文件)、防火墙策略管理、服务管理

SELinux 系统安全防护

系统安全保护

 

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用户密码

重启操作系统,进入修复模式,然后修改密码

  1. 重启系统,进入 recovery 恢复模式

    按e键,找到linux16行,末尾添加 rd.break console=tty0 按 ctrl +x 启动

    进入之后 ls 显示的都是恢复模式的操作系统,而硬盘的操作系统环境在 /sysroot 目录下;需要2步骤切换环境

  2. 以可写方式重新挂载 / 并切换到此环境

  3. 
        switch_root# chroot /sysroot 
        
        切换环境 将sysroot的所有数据直接挂载到救援模式的根上 但是是只读的
    
    
        switch_root# mount -o remount,rw /
    
        赋予写权限
        -o 选项
        remount 重新挂载
        rw 读写
    
  4. 修改密码

    echo 123 | passwd –stdin root

  5. 强制重启

    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

评论