SELinux
Security-Enhanced Linux
– 美国NSA国家安全局主导开发,一套增强Linux系统安全的强制访问控制体系
– 集成到Linux内核(2.6及以上)中运行
– RHEL7基于SELinux体系针对用户、进程、目录和文件提供了预设的保护策略,以及管理工具
SELinux的运行模式
– enforcing(强制)、permissive(宽松)
– disabled(彻底禁用)
任何模式变成disabled模式,都要经历重启系统
切换运行模式
– 临时切换:setenforce 1或0
– 固定配置:/etc/selinux/config 文件
[root@server /]# getenforce #查看当前运行模式Enforcing[root@server /]# setenforce 0 #修改当前运行模式[root@server /]# getenforcePermissive[root@server /]# vim /etc/selinux/configSELINUX=permissive
系统故障修复
如果/etc/fstab文件有误:修复办法1.输入root的密码2.修改/etc/fstab文件内容破解root密码思路 前提:必须是服务器的管理者,涉及重启服务器1)重启系统,进入 救援模式[root@A ~]# reboot启动界面按e键在linux16该行,将此行的r/o修改为r/w,空格输入rd.break按 ctrl + x 启动,会看到switch_root:/#2)切换到硬盘操作系统环境# chroot /sysroot #切换环境,切换到硬盘操作系统的环境3)重新设置root的密码sh-4.2# echo 456 | passwd --stdin root #修改root密码4)如果SELinux是强制模式,才需要重设SELinux策略(其他模式不需要做此操作)sh-4.2# vim /etc/selinux/config #查看SELinux的运行模式sh-4.2# touch /.autorelabel #让SELinux失忆或者可以修改SELinux运行模式,修改成宽松模式即可sh-4.2# vim /etc/selinux/config #查看SELinux开机的运行模式5)强制重启系统完成修复sh-4.2# reboot -f
构建Web服务
Web服务:提供一个页面内容的服务
提供Web服务的软件:httpd、Nginx、tomcat
http协议:超文本传输协议
1.安装软件包[root@server ~]# yum -y install httpd2.运行提供Web服务程序]# > /etc/resolv.conf #清空此文件内容]# /usr/sbin/httpd #绝对路径运行程序]# pgrep -l httpd #查看进程信息4.书写一个页面文件]# vim /var/www/html/index.htmlhahaxxxx5.本机浏览器访问测试[root@server ~]# curl 192.168.88.240hahaxxxx
构建FTP服务
FTP:文本传输协议
实现FTP服务功能的软件:vsftpd
默认共享数据的主目录:/var/ftp/
1.安装软件包[root@server ~]# yum -y install vsftpd2.运行程序[root@server ~]# /usr/sbin/vsftpd[root@server ~]# pgrep -l vsftpd #查看进程信息3.访问测试[root@server ~]# curl ftp://192.168.88.240-rw-r--r-- 1 0 0 0 May 16 06:42 dcc.txtdrwxr-xr-x 2 0 0 6 Oct 13 2020 pub
防火墙的策略管理
作用:隔离,严格过滤入站,放行出站
硬件防火墙,软件防火墙
• 系统服务:firewalld——》iptables(底层防火墙)
• 管理工具:firewall-cmd、firewall-config
• 根据所在的网络场所区分,预设区域
– public:仅允许访问本机的ssh、dhcp、ping服务
– trusted:允许任何访问
– block:拒绝任何来访请求,明确拒绝客户端
– drop:丢弃任何来访的数据包,不给任何回应
• 防火墙判定原则:
1.查看客户端请求中来源IP地址,查看自己所有区域中规则,那个区域中有该源IP地址规则,则进入该区域
2.进入默认区域(默认情况下为public)
防火墙默认区域的修改
curl-命令:命令行浏览器
]# firewall-cmd --get-default-zone #查看默认区域]# firewall-cmd --set-default-zone=trusted #修改默认区域]# curl http://192.168.88.240 #使用curl访问http]# curl ftp://192.168.88.240 #使用curl访问ftp防火墙public区域添加允许规则(临时)]# firewall-cmd --set-default-zone=public #设置public区域]# firewall-cmd --zone=public --add-service=http #添加临时http协议]# firewall-cmd --zone=public --add-service=ftp #添加林时ftp协议]# firewall-cmd --zone=public --list-all #查询public区域信息防火墙public区域添加规则(永久)--permanent]# firewall-cmd --reload #一旦加载防火墙永久策略,会导致临时添加的规则失效]# firewall-cmd --permanent --zone=public --add-service=http #永久添加http协议]# firewall-cmd --permanent --zone=public --add-service=ftp #永久添加ftp协议]# firewall-cmd --reload #加载防火墙永久策略]# firewall-cmd --zone=public --list-all]# firewall-cmd --zone=block --add-source=192.168.88.2 #添加拒绝策略-block区域]# firewall-cmd --zone=block --remove-source=192.168.88.2 #删除拒绝策略
服务的管理(运行程序的管理)
方法一:手动进行运行
运行: /usr/sbin/httpd —————停止: killall httpd
方法二:采用systemd方式运行
•自启动服务的管理(与手动启动有冲突)
用户—systemctl命令—>systemd—配置文件—>httpd程序运行
–服务配置文件目录:/lib/systemd/system/
Linux系统和服务管理器
–是内核引导之后加载的第一个初始化进程(PID=1)
–负责掌控整个Linux的运行/服务资源组合
•一个更高效的系统&服务管理器
–开机服务并行启动,各系统服务间的精确依赖
–服务目录:/lib/systemd/system/
–主要管理工具:systemctl
[root@server ~]# systemctl -t service —all ###列出所有的服务
方法二:采用systemd方式运行
systemctl restart 服务名 #重起服务systemctl start 服务名 #开启服务systemctl stop 服务名 #停止服务systemctl status 服务名 #查看服务当前的状态systemctl enable 服务名 #设置服务开机自启动systemctl disable 服务名 #设置服务禁止开机自启动systemctl is-enabled 服务名 #查看服务是否开机自启]# yum -y install httpd #安装httpd软件]# > /etc/resolv.conf #清除文件内容]# killall httpd #杀死手动启动的httpd]# systemctl restart httpd #重启httpd服务]# systemctl status httpd #查看服务httpd状态]# 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是否是开机自启动]# systemctl disable httpd #关闭httpd开机自启动Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.]# systemctl is-enabled httpd #查看httpd是否是开机自启动
RHEL6:运行级别:300
0:关机 0个服务<br />1:单用户模式(基本功能的实现,破解Linux密码) 50个服务<br />2:多用户字符界面(不支持网络) 80个服务<br />**3:多用户字符界面(支持网络)服务器默认运行级别** 100个服务<br />4:未定义 0个服务<br />**5:图形界面 300个服务**<br />6:重起 0个服务<br />切换运行级别:**init 数字**
RHEL7:运行模式(运行级别)
字符模式:multi-user.target
图形模式:graphical.target
当前直接切换到字符模式]# systemctl isolate multi-user.target #相当于原来的init 3当前直接切换到图形模式]# systemctl isolate graphical.target #相当于原来的init 5l 查看每次开机默认进入模式[root@server /]# systemctl get-defaultl 设置永久策略,每次开机自动进入字符模式[root@server /]# systemctl set-default multi-user.target[root@server /]# rebootl 设置永久策略,每次开机自动进入图形模式[root@server /]# systemctl set-default graphical.target[root@server /]# reboot
