文章目录
- 一、试题及考试说明
- 二、操作步骤
- 1. 启动Nginx服务
- 2. 隐藏站点 Response Header 里的Web服务版本信息(见下总图)
- 3. 隐藏站点 Response Header 里的X-Powered-By 字段(见下总图)
- 4. Nginx访问日志存放位置修改为/opt/bak/access.log(见下总图)
- 5. 屏蔽IP为192.168.X.X网段的访问请求(见下总图)
- 6. 启用SSL/TLS,为站点配置HTTPS访问。假设SSL证书路径为/etc/nginx/ssl/site.crt,SSL私钥路径为/etc/nginx/ssl/site.key(见下总图)
一、试题及考试说明
Nginx是Centos上常用的web服务软件,为增强 Nginx Web 服务器的安全性,防止版本号、项目代码编写语言等信息泄露,需要对其进行安全管理,具体要求如下:
- 启动Nginx服务,确保NGINX服务能够在CentOS系统上正常启动并运行;
- 隐藏站点 Response Header 里的Web服务版本信息;
- 隐藏站点 Response Header 里的X-Powered-By 字段;
- Nginx访问日志存放位置修改为/opt/bak/access.log;
- 屏蔽IP为192.168.X.X网段的访问请求;
- 启用SSL/TLS,为站点配置HTTPS访问。假设SSL证书路径为/etc/nginx/ssl/site.crt,SSL私钥路径为/etc/nginx/ssl/site.key;
完成所有配置后,提交NGINX配置文件nginx.conf。
二、操作步骤
1. 启动Nginx服务
systemctl start nginx // 开启nginx服务
systemctl enable nginx // nginx服务开机自启动
systemctl status nginx // nginx服务状态
一开始启动nginx服务失败,journalctl -xe命令查询,发现nginx服务的默认80端口被其它进程占用,故无法成功打开nginx服务。
解决方案:
① netstat -tulnp | grep ‘:80’ 命令,查找占用 80 端口的进程,发现是docker-proxy 进程占用了端口
② kill -9 6602,kill -9 6607杀死占用端口的进程,然后重新systemctl成功打开nginx服务(注意进程pid变化)
2. 隐藏站点 Response Header 里的Web服务版本信息(见下总图)
vim /etc/nginx/nginx.conf
server {......server_tokens off;......
}
3. 隐藏站点 Response Header 里的X-Powered-By 字段(见下总图)
vim /etc/nginx/nginx.conf
server {......more_set_headers 'Server: My-Server';more_clear_headers 'X-Powered-By';......
}
4. Nginx访问日志存放位置修改为/opt/bak/access.log(见下总图)
vim /etc/nginx/nginx.conf
server {......access_log /opt/bak/access.log;......
}
5. 屏蔽IP为192.168.X.X网段的访问请求(见下总图)
vim /etc/nginx/nginx.conf
server {......location / {deny 192.168.0.0/16; // 请根据实际情况修改掩码长度allow all;}......
}
6. 启用SSL/TLS,为站点配置HTTPS访问。假设SSL证书路径为/etc/nginx/ssl/site.crt,SSL私钥路径为/etc/nginx/ssl/site.key(见下总图)
server {listen 443 ssl;ssl_certificate "/etc/nginx/ssl/site.crt"; ssl_certificate_key "/etc/nginx/ssl/site.key";......
}