Nginx 服务安全优化---隐藏版本号、网页缓存、日志分割

网友投稿 274 2022-10-14

Nginx 服务安全优化---隐藏版本号、网页缓存、日志分割

实验目的

1.使用2种方法成功隐藏Nginx版本号

2.配置网页缓存时间为1天

3.设置日志分割

实验环境

已搭建Nginx服务基础,可参考6.5系统

IP地址 :192.168.100.10window 7 做客户端:192.168.100.22yum仓库已搭建,共享软件包挂载在linux下

关闭防火墙,安全性

实验步骤

隐藏Nginx服务版本号需求:

在实际生活中,需要隐藏nginx版本号,使其他人员不能针对版本进行不当操作,一定程度上增强安全功能。下面简单介绍2种方法对版本号进行设置:第一种是修改Nginx配置文件,第二种是修改Nginx源码文件。

一、方法1:隐藏版本号

1.查看版本号

[root@localhost conf]# curl -I 200 OKServer: nginx/1.2.8               #显示出版本号

2.修改配置文件

[root@localhost ~]# cd /usr/local/nginx/conf[root@localhost conf]# vim nginx.conf{    include       mime.types;    default_type  application/octet-stream;    server_tokens off;                            #添加此行,关闭版本号

3.再次查看版本号

[root@localhost conf]# service nginx restart[root@localhost conf]# curl -I 200 OKServer: nginx                #只显示名字,已隐藏版本号

方法2:修改Nginx源码文件

4.修改版本号

[root@localhost conf]# vim /opt/nginx1.2.8/src/core/nginx.h  #编辑源码文件

5.重新编译安Nginx装源码文件

[root@localhost nginx-1.2.8]# ./configure \      #重新配置--prefix=/usr/local/nginx \--user=nginx \--group=nginx \--with-conf]# make && make install     #重新编译安装

6.打开版本号

[root@localhost conf]# vim nginx.conf{    include       mime.types;    default_type  application/octet-stream;    server_tokens on;                    #打开版本号

……

7.查看版本号

[root@localhost conf]# curl -I #查看版本号HTTP/1.1 200 OKServer: nginx/1.1.2                        #版本号已修改为虚假版本号

需求:当nginx将网页数据返回给客户时,可设置缓存时间,以便日后进行相同内容的请求时可直接返回 ,避免重复请求,加快访问速度,一般针对静态资源。

二、配置网页缓存

1.用抓包图片缓存信息

2.修改配置文件

[root@localhost conf]# vim nginx.conf

……

location / {            root   html;            index  index.html index.htm;

}             location ~\.{gif|jpg|jepg|png|bmp|ico)$ {         #加入新的location            root   html;            expires 1d;                                   #指定缓存时间,这里设1天时间        }    ……

3.重启Nginx

[root@localhost ~]# service nginx restart

4.抓包验证

日志切割原因:

随着nginx运行时间的增加,产生日志也会增加。而太大的日志文件对监控是一个大灾难,非常不方便分析排查,因此需要定期进行日志文件切割

三、日志分割

1.编写脚本

[root@localhost conf]# cd /usr/local/nginx/logs/access.log

[root@localhost conf]# vim /opt/fenge.sh    #编写shell脚本

#!/bin/bash

# Filename:fenge.sh

d=$(date -d "-1 day" "+%Y%m%d")   #获取当前时间的前一天,也就是往前推一天

logs_path="/var/log/nginx"    #指定保存Ngixn日志路径

pid_path="/usr/local/nginx/logs/nginx.pid"   #Nginx进程ID路径

[ -d $logs_path ] || mkdir -p $logs_path     #判断定义的路径是否存在,不存在创建目录

mv /usr/local/nginx/logs/access.log  $logs_path/bt.com-access.log-$d    #将Nginx剪切至定义的目录下,并且用日期定义名称

kill -USR1 $(cat $pid_path)       #平滑重载Nginx服务

find $logs_path -mtime +30 | xargs rm –rf    #文件最后修改的时间超过30天,直接删除

2.执行脚本[root@localhost logs]# chmod +x /opt/fenge.sh   #添加执行权限

[root@localhost logs]# /opt/fenge.sh                     #执行脚本

3.设置计划性任务,定期自动执行日志分割[root@localhost ~]# crontab –e

00 0 * * * /opt/fenge.sh           #每天凌晨0点00分执行脚本,进行日志分割

4.启动计划性任务

[root@localhost ~]# service crond start

[root@localhost conf]# crontab -l   #查看计划性任务

00 0 * * * /opt/fenge.sh            #设置成功

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:非常适合新手学生的Java线程池优化升级版
下一篇:轻松部署Tomcat服务器
相关文章

 发表评论

暂时没有评论,来抢沙发吧~