一,隐藏Nginx软件版本号信息

查看版本号

curl -I 192.168.0.220

HTTP/1.1 200 OK

Server: nginx/1.6.2           #这里清晰的暴露了Web版本号(1.6.2)及软件名称(nginx)

Date: Wed, 23 Aug 2017 10:45:47 GMT

Content-Type: text/html; charset=UTF-8

隐藏版本号

Nginx配置文件nginx.conf中的http标签段内加入“server_tokens off”

server_tokens off;   #作用是控制http response header内的Web服务版本信息的显示,以及错误信息中Web服务版本信息的显示。

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

(1)依次修改3个Nginx源码文件。

修改nginx.h

vim /usr/src/nginx-1.14.0/src/core/nginx.h  #进入源码文件的/src/core/里修改版本及软件名

修改后

修改/ngx_http_header_filter_module.c

vim /usr/src/nginx-1.14./src/http/ngx_http_header_filter_module.c     #进入源码文件/src/http/里修改第49行nginx修改为其他服务名

修改 /ngx_http_special_response.c

vim /usr/src/nginx-1.14./src/http/ngx_http_special_response.c    #定义对外展示的内容对外展示的NGINX_VER_BUILD名字更改为apache

三个配置文件修改好后 编译安装nginx 启动服务

三更改Nginx服务的默认用户

(1)为Nginx服务建立新用户

useradd -s /sbin/nologin -M nginx           #不需要有系统登录权限,应当禁止登陆。        

(2)配置Nginx服务,让其使用刚建立的nginx用户

方法有2

1.

vim /usr/local/nginx/conf/nginx.conf               #修改主配置文件user项 设为nginx用户和组

2.源码编译安装时指定用户和组

./configure --user=nginx --group=nginx     

检查更改用户的效果

ps -ef | grep nginx | grep -v grep          #此时worker processes进程对应的用户都变成了nginx

Nginx优化之基本安全优化 (隐藏Nginx软件版本号信息,更改源码隐藏Nginx软件名及版本号,更改Nginx服务的默认用户)的更多相关文章

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

    为什么要更改 Nginx 服务的默认用户:就像更改 ssh 的默认 22 端口一样,增加安全性,Nginx 服务的默认用户是 nobody ,我们更改为 nginx 1.添加 nginx 用户 use ...

  2. Nginx源码安装及调优配置

    导读 由于Nginx本身的一些优点,轻量,开源,易用,越来越多的公司使用nginx作为自己公司的web应用服务器,本文详细介绍nginx源码安装的同时并对nginx进行优化配置. Nginx编译前的优 ...

  3. Nginx源码安装及调优配置(转)

      导读 由于Nginx本身的一些优点,轻量,开源,易用,越来越多的公司使用nginx作为自己公司的web应用服务器,本文详细介绍nginx源码安装的同时并对nginx进行优化配置. Nginx编译前 ...

  4. Nginx 源码安装和调优

    常见web架构: LAMP  =Linux+Apache+Mysql+PHP LNMP  =Linux+Nginx+Mysql+PHP   nginx概述: 知道:1  不知道:2 Nginx (&q ...

  5. Nginx基础知识点总结和优化项

    1.什么是Nginx? Nginx是一个高性能的HTTP和反向代理服务器,常用于做负载均衡服务器 2.为什么要用Nginx?跨平台.配置简单非阻塞.高并发连接:处理2-3万并发连接数,官方监测能支持5 ...

  6. 安全开发运维必备,如何进行Nginx代理Web服务器性能优化与安全加固配置,看这篇指南就够了

    本章目录 1.引言 1.1 目的 1.2 目标范围 1.3 读者对象 2.参考说明 2.1 帮助参考 2.2 参数说明 3.3 模块说明 3.服务优化 3.1 系统内核 3.2 编译优化 3.3 性能 ...

  7. nginx全局配置和性能优化

    nginx目录结构和命令 1.ls /apps/nginx/:         html是测试页,sbin是主程序 2.ls /apps/nginx/sbin/:  nginx 只有一个程序文件 3. ...

  8. nginx源码层面探究request_time、upstream_response_time、upstream_connect_time与upstream_header_time指标具体含义

    背景概述 最近计划着重分析一下线上各api的HTTP响应耗时情况,检查是否有接口平均耗时.99分位耗时等相关指标过大的情况,了解到nginx统计请求耗时有四个指标:request_time.upstr ...

  9. Nginx学习笔记(六) 源码分析&启动过程

    Nginx的启动过程 主要介绍Nginx的启动过程,可以在/core/nginx.c中找到Nginx的主函数main(),那么就从这里开始分析Nginx的启动过程. 涉及到的基本函数 源码: /* * ...

随机推荐

  1. Kubernetes的yaml文件中command的使用

    前面说了init容器initContainers,这主要是为应用容器做前期准备工作的,一般都会用到shell脚本,这就会用到command,这里写写command的用法. command就是将命令在创 ...

  2. Redis之哨兵机制(五)

    什么是哨兵机制 Redis的哨兵(sentinel) 系统用于管理多个 Redis 服务器,该系统执行以下三个任务: ·        监控(Monitoring): 哨兵(sentinel) 会不断 ...

  3. [转]web.xml中servlet ,filter ,listener ,interceptor的作用与区别

    原文链接:https://blog.csdn.net/netdevgirl/article/details/51483273 一.概念: 1.servlet:servlet是一种运行服务器端的java ...

  4. HDU 6074 - Phone Call | 2017 Multi-University Training Contest 4

    看标程的代码这么短,看我的.... 难道是静态LCA模板太长了? /* HDU 6074 - Phone Call [ LCA,并查集 ] | 2017 Multi-University Traini ...

  5. 【leetcode】1289. Minimum Falling Path Sum II

    题目如下: Given a square grid of integers arr, a falling path with non-zero shifts is a choice of exactl ...

  6. EMS命令

    Tibco EMS 初级使用方法小结 http://blog.csdn.net/bincavin/article/details/8290905

  7. delphi将两个Strlist合并,求并集

    Function StrList_Merge(StrListA,StrListB:String):String; //将两个Strlist合并,求并集 var SListA,SListB,SListC ...

  8. quartz.net 执行后台任务

    ... https://www.cnblogs.com/zhangweizhong/category/771057.html https://www.cnblogs.com/lanxiaoke/cat ...

  9. [Vue] : vue-resource 实现 get, post, jsonp请求

    vue-resource 实现 get, post, jsonp请求 常见的数据请求类型:get,post,jsonp 除了vue-resource之外,还可以使用axios的第三方包实现实现数据的请 ...

  10. codeforces700B

    CF700B Connecting Universities 题意翻译 树之王国是一个由n-1条双向路连接着n个城镇的国家,任意两个城镇间都是联通的. 在树之王国共有2k所大学坐落于不同的城镇之中. ...