一、安装Nginx服务
1、安装nginx源
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install -y nginx
2、启动Nginx
systemctl restart nginx
systemctl enable nginx
3、测试web服务,默认页面

4、查看默认Type类型
ll -Z /usr/share/nginx/html
SELinux的三种模式
enforcing 强制模式
permissive 宽容模式
diabled 关闭
5、获取当前SELinux的模式
getenforce

临时生效:
usage: setenforce [ Enforcing | Permissive | 1 | 0 ] 0宽容模式,1强制
6、Nginx修改web目录路径测试
将默认路径/usr/share/nginx/html 更改为/var/www ,重启后出现403页面
location / {
root /var/www;
index index.html index.htm;

7、异常问题排查
经排查,发现默认目录和新添加的目录,可执行文件类型不太一样
ll -Z /usr/share/nginx/html
ll -Z /var/www/

8、权限异常问题解决
将设置目录文件类型为:
chcon -Rt httpd_sys_content_t /var/www/


已经可以正常访问了。

二、安装PHP服务
1、安装 php源
yum install epel-release
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel
2、服务启动
systemctl enable php-fpm
service php-fpm restart
vim /etc/php-fpm.d/www.conf //将apache改为nginx
测试php服务,发现一切正常。

三、提权测试
1、SELinux开启时webshell后门上传测试
结论:经测试,发现创建失败。

结论:测试上传功能,依然失败。

2、SELinux关闭时webshell后门上传测试
将SELinux修改为宽容模式,再测试。
[root@localhost abc]# setenforce 0
[root@localhost abc]#
[root@localhost abc]# getenforce
Permissive

结论:测试发现,上传文件、新建文件均成功。


3、SELinux开启关闭时,测试端口扫描服务
端口扫描测试:
结论:经测试,SELinux关闭和开启,扫描结果存在严重误差。


4、SELinux关闭时,测试NC反弹提权测试
结论: NC反弹成功!

5、SELinux开启时,测试NC反弹提权测试
结论:NC反弹失败!

6、总结
测试证明:当SELinux开启时,想获取webshell、漏洞利用等黑客攻击行为很难成功。即便能够获取到webshell,但是无法利用其上传、创建、篡改文件;以及端口扫描、NC反弹提权等操作,均失败。说明是SELinux是一个非常强大和安全的策略控制系统,当selinux功能开启时,能够防御一定程度的黑客攻击,在生产环境中,可以大大降低被入侵攻击的风险。