selinux
SEL Linux 概述-美国NSA国家安全局主导开发,一套增强Linux系统安全的强制访问控制体系-集成到Linux内核中SEL Linux的运行模式-enforcing(强制)、permissive(宽松)-disabled(彻底禁用)切换运行模式-临时切换:setenforce 1|0-固定配置:/etc/sel inux/config 文件操作:虚拟机A:[root@svr7 ~]# ge
下载链接
SEL Linux 概述
-美国NSA国家安全局主导开发,一套增强Linux系统安全的强制访问控制体系
-集成到Linux内核中
SEL Linux的运行模式
-enforcing(强制)、permissive(宽松)
-disabled(彻底禁用)
切换运行模式
-临时切换:setenforce 1|0
-固定配置:/etc/sel inux/config 文件
操作:
虚拟机A:
[root@svr7 ~]# getenforce #查看当前运行模式
Enforcing
[root@svr7 ~]# setenforce 0 #修改当前运行模式
[root@svr7 ~]# getenforce
Permissive
[root@svr7 ~]# vim /etc/selinux/config
SELINUX=permissive
虚拟机B:
[root@pc207 ~]# getenforce
Enforcing
[root@pc207 ~]# setenforce 0
[root@pc207 ~]# getenforce
Permissive
[root@pc207 ~]# vim /etc/selinux/config
SELINUX=permissive
重设root用户密码
破解root密码思路:
前提:必须是服务器的管理者,涉及重启服务器
1)重启系统进入恢复模式(救援模式)
重启后上下键停留在此界面
按 e 键进入
按 ctrl + x 启动,会看到switch_root:/#
2)切换到硬盘操作系统环境
# chroot /sysroot #切换环境,切换到硬盘操作系统的环境
3)重新设置root的密码
sh-4.2# echo 1 | passwd --stdin root
4)如果SELinux是强制模式,才需要重设SELinux策略(其他模式不需要做此操作)
sh-4.2# vim /etc/selinux/config #查看SELinux开机的运行模式
sh-4.2# touch /.autorelabel #让SELinux失忆
5)强制重启系统完成修复
sh-4.2# reboot -f
然后 reboot -f 强制重启
修复完成
构建基本服务
构建Web服务:
Web服务:提供一个页面内容的服务
提供Web服务的软件:httpd、Nginx、tomcat
http协议:超文本传输协议
1.在虚拟机svr7安装httpd软件包:
[root@svr7 ~]# yum -y install httpd
2.运行提供Web服务程序
]# > /etc/resolv.conf #清空此文件内容
]# /usr/sbin/httpd #绝对路径运行程序
]# pgrep -l httpd #查看进程信息
[root@svr7 ~]# cat /etc/resolv.conf
[root@svr7 ~]#
[root@svr7 ~]# > /etc/resolv.conf
[root@svr7 ~]# /usr/sbin/httpd
[root@svr7 ~]# pgrep -l httpd
4614 httpd
4615 httpd
4616 httpd
4617 httpd
4618 httpd
4619 httpd
4.书写一个页面文件
[root@svr7 ~]#vim /var/www/html/index.html
阳光明媚NSD2108
5.浏览器访问测试
[root@svr7 ~]# curl http://192.168.4.7
阳光明媚NSD2108
例:
[root@svr7 ~]# vim /var/www/html/index.html #写入页面文件
[root@svr7 ~]# cat /var/www/html/index.html #查看文件内容
程序猿在爬长城
[root@svr7 ~]# curl http://192.168.4.7 #192.168.4.7是自己主机的地址
程序猿在爬长城
如果程序无法运行:
[root@svr7 ~]# yum -y reinstall httpd #重新安装一遍
在虚拟机浏览器中输入地址访问
构建FTP服务
FTP:文本传输协议
实现FTP服务功能的软件:vsftpd
默认共享数据的主目录:/var/ftp
[root@svr7 ~]# yum -y install vsftpd #安装FTP包
[root@svr7 ~]# /usr/sbin/vsftpd #启动程序
[root@svr7 ~]# pgrep -l vsftpd #查看
5277 vsftp
[root@svr7 ~]# curl ftp://192.168.4.7 #访问
在虚拟机A浏览器访问:
防火墙策略管理
防火墙的策略管理
作用:隔离,严格过滤入站,放行出站
硬件防火墙
软件防火墙
- 系统服务:firewalld----》iptables(底层防火墙)
- 管理工具:firewall-cmd、firewall-config
- 根据所在的网络场所区分,预设区域
- public:仅允许访问本机的ssh、dhcp、ping服务
- trusted:允许任何访问
- block:拒绝任何来访请求,明确拒绝客户端
- drop:丢弃任何来访的数据包,不给任何回应
- 防火墙判定原则:
1.查看客户端请求中来源IP地址,查看自己所有区域中规则,那个区域中有该源IP地址规则,则进入该区域
2.进入默认区域(默认情况下为public)
- 防火墙默认区域的修改
虚拟机A
]# firewall-cmd --get-default-zone #查看默认区域
虚拟机B
]# curl http://192.168.4.7 #失败
]# curl ftp://192.168.4.7 #失败
]# ping -c 2 192.168.4.7 #成功
虚拟机A:修改默认区域
]# firewall-cmd --set-default-zone=trusted
虚拟机B
]# curl http://192.168.4.7 #成功
]# curl ftp://192.168.4.7 #成功
- 防火墙public区域添加规则
虚拟机A:添加允许的协议
]# firewall-cmd --set-default-zone=public
]# firewall-cmd --zone=public --add-service=http
]# firewall-cmd --zone=public --list-all
虚拟机B
]# curl http://192.168.4.7 #成功
]# curl ftp://192.168.4.7 #失败
虚拟机A:添加允许的协议
]# firewall-cmd --zone=public --add-service=ftp
]# firewall-cmd --zone=public --list-all
虚拟机B
]# curl http://192.168.4.7 #成功
]# curl ftp://192.168.4.7 #成功
- 防火墙public区域添加规则(永久)
-永久(--permanent)
]# firewall-cmd --reload #加载防火墙永久策略
]# firewall-cmd --zone=public --list-all
]# firewall-cmd --permanent --zone=public --add-service=http
]# firewall-cmd --permanent --zone=public --add-service=ftp
]# firewall-cmd --zone=public --list-all
]# firewall-cmd --reload #加载防火墙永久策略
]# firewall-cmd --zone=public --list-all
实操:
A:
[root@svr7 ~]# firewall-cmd --get-default-zone
public
B:
[root@pc207 ~]# curl http://192.168.4.7
curl: (7) Failed connect to 192.168.4.7:80; 没有到主机的路由
[root@pc207 ~]# curl ftp://192.168.4.7
curl: (7) Failed connect to 192.168.4.7:21; 没有到主机的路由
[root@pc207 ~]# 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.289 ms
64 bytes from 192.168.4.7: icmp_seq=2 ttl=64 time=0.481 ms
此时防火墙默认只支持 ssh dhcp ping 操作,其他操作全部拒绝
修改为trusted后:
A:
[root@svr7 ~]# firewall-cmd --set-default-zone=trusted
success
[root@svr7 ~]# firewall-cmd --get-default-zone
trusted
B:
[root@pc207 ~]# curl ftp://192.168.4.7
drwxr-xr-x 2 0 0 6 Aug 03 2017 pub
[root@pc207 ~]# curl http://192.168.4.7
程序猿在爬长城
添加策略:
A
[root@svr7 ~]# firewall-cmd --zone=public --add-service=http
success
[root@svr7 ~]# firewall-cmd --zone=public --list-all
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh dhcpv6-client http
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
B:
[root@pc207 ~]# curl http://192.168.4.7
程序猿在爬长城
curl: (7) Failed connect to 192.168.4.7:80; 没有到主机的路由
[root@pc207 ~]# curl ftp://192.168.4.7
A:
[root@svr7 ~]# firewall-cmd --zone=public --add-service=ftp
success
[root@svr7 ~]# firewall-cmd --zone=public --list-all
B:
[root@pc207 ~]# curl ftp://192.168.4.7
drwxr-xr-x 2 0 0 6 Aug 03 2017 pub
防火墙public区域添加永久规则
-永久(-permanent)
[root@svr7 ~]# firewall-cmd --reload
[root@svr7 ~]# firewall-cmd --zone=public --list-all
[root@svr7 ~]# firewall-cmd --permanent --zone=public --add-service=http #添加策略
[root@svr7 ~]# firewall-cmd --permanent --zone=public --add-service=ftp
[root@svr7 ~]# firewall-cmd --permanent --zone=public --list-all
[root@svr7 ~]# firewall-cmd --reload #加载永久防火墙策略
[root@svr7 ~]# firewall-cmd --zone=public --list-all
- 防火墙单独拒绝PC207所有的访问
[root@svr7 ~]# firewall-cmd --zone=block --add-source=192.168.4.207
关闭防火墙
[root@svr7 ~]# systemctl stop firewalld #停止防火墙
[root@svr7 ~]# systemctl disable firewalld #禁止开机启动
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
服务的管理
用户---》systemd---》服务
•上帝进程:systemd
•Linux系统和服务管理器
–是内核引导之后加载的第一个初始化进程(PID=1)
–负责掌控整个Linux的运行/服务资源组合
•一个更高效的系统&服务管理器
–开机服务并行启动,各系统服务间的精确依赖
–配置目录:/etc/systemd/system/
–服务目录:/lib/systemd/system/
–主要管理工具:systemctl
[root@svr7 ~]# systemctl -t service --all #列出所有的服务
•对于服务的管理(与手动启动有冲突)
systemctl restart 服务名 #重起服务
systemctl start 服务名 #开启服务
systemctl stop 服务名 #停止服务
systemctl status 服务名 #查看服务当前的状态
systemctl enable 服务名 #设置服务开机自启动
systemctl disable 服务名 #设置服务禁止开机自启动
systemctl is-enabled 服务名 #查看服务是否开机自启
[root@svr7 ~]# yum -y install httpd
[root@svr7 ~]# > /etc/resolv.conf #清除文件内容
[root@svr7 ~]# killall httpd #杀死手动启动的httpd
[root@svr7 ~]# systemctl restart httpd #重启hppd服务
[root@svr7 ~]# systemctl start httpd #查看服务状态
[root@svr7 ~]# systemctl enable httpd #设置开机自动启动
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@svr7 ~]# systemctl is-enabled httpd #查看是否开机自动启动
enabled
[root@svr7 ~]# systemctl disable httpd #关闭开机自动启动
Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.
[root@svr7 ~]# systemctl is-enabled httpd #查看是否开机自动启动
disabled
更多推荐
所有评论(0)