如何在Ubuntu 20.04/CentOS 8上隐藏Nginx和PHP版本的服务器签名

时间:2020-03-21 11:47:38  来源:igfitidea点击:

服务器签名是一种痕迹类型,其中攻击者认为Web服务器模块(如Ngnix和PHP)的版本号是通过使用简单的Linux命令或者使用某些工具或者某些Web来收集用于服务器痕迹的数据的攻击者已知的必须使用用于隐藏服务器签名的浏览器才能从集中删除信息,以保护Web服务器免受外部攻击。

步骤1:通过输入来检查Nginx版本

首先通过命令验证服务器是否显示Nginx版本

# curl -I http://www.theitroad.com

输出示例

HTTP/1.1 200 OK
Server: nginx/1.4.4
Date: Fri, 5 Jun 2014 11:38:47 CDT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/5.4.23
Set-Cookie: CACHED_FRONT_FORM_KEY=bCunlLxt1Sw1qHfw; path=/
P3p: CP="CAO PSA OUR"
WCN-WEB01: WCNWEB01

步骤2:编辑Nginx配置文件

转到“ nginx.conf”

# vi /etc/nginx/nginx.conf

添加以下参数并保存

server_tokens off;

像这样

user nginx;
worker_processes 4;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events { worker_connections 1024; }
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
' $status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
keepalive_timeout 65;
server_tokens off;
gzip on;
gzip_static on;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_buffers 16 8k;
gzip_vary on;
## Detect when HTTPS is used
map $scheme $fastcgi_https
{
default off;
https on;
}
include /etc/nginx/conf.d/*.conf;

步骤3:编辑PHP配置文件以编辑设置

然后转到'php.ini'文件并设置'expose_php = Off'

# vi /etc/php.ini
expose_php = Off

注意:(O必须为大写)

步骤4:检查并验证Nginx和PHP-FPM服务

重新加载Nginx和php-fpm服务,然后再次检查

# curl -I http://www.theitroad.com

现在,它必须隐藏版本和服务器签名,如图所示。

HTTP/1.1 200 OK
Server: nginx
Date: Fri, 5 Jun 2014 11:56:03 CDT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
Set-Cookie: CACHED_FRONT_FORM_KEY=NX3yUkgwxgJwQRLR; path=/
P3p: CP="CAO PSA OUR"
WCN-WEB01: WCNWEB01

我们已经在Ubuntu和CentOS上隐藏了Nginx服务器签名和PHP版本。