Nginx 基本安全优化

5 篇文章 0 订阅
3 篇文章 0 订阅

1.调整参数隐藏 Nginx软件版本号信息

编辑 nginx.conf 配置文件增加参数,实现隐藏 Nginx 版本号。 在 Nginx 配置文件 nginx.conf 中的 http标签段内加入 “server_tokens off;”参数,具体如下:
http
{	
	server_tokens off;
}

配置完毕后,重新加载配置文件。
官方资料地址:http://nginx.org/en/docs/http/ngx_http_core_module.html

2.更改源码隐藏 Nginx 软件名及版本号

**第一步是一次修改3个 Nginx 源码文件。 **修改的第一个文件为 nginx-1.18.0/src/core/nginx.h,代码如下**:**

#define nginx_version      1019008
#define NGINX_VERSION      "1.18.0"   #修改为想要显示的版本号,如2.2.21
#define NGINX_VER          "nginx/" NGINX_VERSION  #将 Nginx 修改为想要修改的软件名称,如OWS

#ifdef NGX_BUILD
#define NGINX_VER_BUILD    NGINX_VER " (" NGX_BUILD ")"
#else
#define NGINX_VER_BUILD    NGINX_VER
#endif

#define NGINX_VAR          "NGINX"  #将 Nginx 修改为想要修改的软件名称,如OWS
#define NGX_OLDPID_EXT     ".oldbin"

修改第二个文件是 nginx-1.18.0/src/http/ngx_http_header_filter_module.c的第49行,需要修改的字符串如下:

static u_char ngx_http_server_string[] = "Server: nginx" CRLF;  #将本行nginx 替换为OWS
static u_char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;
static u_char ngx_http_server_build_string[] = "Server: " NGINX_VER_BUILD CRLF;

修改的第三个文件是 nginx-1.18.0/src/http/ngx_http_special_response.c,对外页面报错时,它会控制是否战士敏感信息。修改第21~30行,代码如下:

static u_char ngx_http_error_full_tail[] =
"<hr><center>" NGINX_VER "</center>" CRLF #修改为"<hr><center>" NGINX_VER "(www.baidu.com)</center>" CRLF
"</body>" CRLF
"</html>" CRLF
;
static u_char ngx_http_error_build_tail[] =
"<hr><center>" NGINX_VER_BUILD "</center>" CRLF #修改为"<hr><center>" OWS "</center>" CRLF 
"</body>" CRLF

第二步是修改后编译软件,使其生效。
修改后再编译安装软件,如果是已安装好的服务,则需要重新编译 Nginx,配好配置,启动服务。

3.更改 Nginx 服务的默认用户

一般情况下,Nginx 服务启动后,默认使用的用户是 nobody。为了防止黑客猜到这个Web服务的用户,我们需要将其改成特殊的用户名,例如 nginx 或特殊点的 inca,但是这个用户必须是系统里事先存在的,下面以 nginx用户为例进行说明。 (1)为Nginx 服务建立新用户。
useradd nginx -s /sbin/nologin -M #不需要有登录系统的能力
id nginx  #检查用户

(2)为Nginx 服务,让其使用刚建立的nginx用户。
更改配置文件参数。

user nginx nginx;

(3)检查更改用户的效果。
重新加载配置后,检查 Nginx 服务进程的对应用户,代码如下:

# ps -ef|grep nginx|grep -v grep 




参考书籍:运维前线

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值