修改Nginx版本号和隐藏PHP版本号


title: 修改Nginx版本号和隐藏PHP版本号
date: 2018-1-26 20:26:28
tags:

  • nginx
  • 修改Nginx版本号
  • 隐藏PHP版本号
    categories:
  • 服务器
  • nginx

在实践中通常需要主动隐藏或篡改软件版本号,防止攻击者通过特定版本号的已知漏洞进行针对性攻击。下面演示如何修改nginx版本号,以及隐藏php版本号。

请添加图片描述

修改nginx版本号

方法一:修改源码

思路:软件版本号肯定记录在源码中,只要找到对应配置文件进行修改再安装即可。下面演示完整的操作过程。

# 下载软件包
wget -c https://nginx.org/download/nginx-1.12.2.tar.gz
wge -c https://zlib.net/zlib-1.2.11.tar.gz
wget -c https://www.openssl.org/source/openssl-1.0.2n.tar.gz

# 分别进行解压
tar -zxvf nginx-1.12.2.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
tar -zxvf openssl-1.0.2n

# 通常下面的语句查找,可以发现只有一个文件“src/core/nginx.h”符合我们的要求。
grep -rn '1.12.2' nginx-1.12.2

# 编辑文件并修改里面的版本号宏定义语句
vim nginx-1.12.2/src/core/nginx.h
#define NGINX_VERSION      "tianmingxing"

上面的动作算完成了版本号修改,接下来开始手动源码安装nginx。

# 进入nginx解压出来的目录
cd nginx-1.12.2

# 构建编译配置信息,其中/home/xxx需要变成你下载软件的目录。
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-openssl=/home/xxx/openssl-1.0.2n --without-http_gzip_module --with-zlib=/home/xxx/zlib-1.2.11

# 编译并安装
make && make install

# nginx会安装在指定目录“/usr/local/nginx”中
# 此时我们来验证一下nginx的版本是否已经应用上面的修改
/usr/local/nginx/sbin/nginx -v
nginx version: nginx/tianmingxing
# 可以看到版本号已经成功修改

方法二:修改配置

  1. 找到nginx主配置文件
    vim /etc/nginx/nginx.conf
    
  2. http 模块中增加一行 server_tokens off;
    http {
        ...
    
        server_tokens off;
    
        include /etc/nginx/mime.types;
        ...
        
        server {}
    }
    
  3. 重启服务 systemctl restart nginx

隐藏php版本号

可以很容易的通常修改配置文件实现,修改完重启php-fpm进程就应用了。

# 查看php配置文件,如果你明确知道配置文件在哪里,可以跳过这一步
php -i | grep "Loaded Configuration File"
# 输出信息
Loaded Configuration File => /etc/php.ini

# 编辑文件ini文件
vim /etc/php.ini
# 搜索到expose_php参数,并修改成下面形式
expose_php = Off
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在CentOS 8中安装Nginx和Adminer的步骤如下: 1. 安装Nginx 使用以下命令安装Nginx: ``` sudo dnf install nginx ``` 2. 启动Nginx 使用以下命令启动Nginx: ``` sudo systemctl start nginx ``` 也可以使用以下命令将Nginx设置为开机启动: ``` sudo systemctl enable nginx ``` 3. 安装PHPPHP-FPM 使用以下命令安装PHPPHP-FPM: ``` sudo dnf install php-fpm php-mysqlnd ``` 4. 配置PHP-FPM 编辑`/etc/php-fpm.d/www.conf`文件,修改以下两行: ``` user = nginx group = nginx ``` 保存并关闭文件。 5. 启动PHP-FPM 使用以下命令启动PHP-FPM: ``` sudo systemctl start php-fpm ``` 也可以使用以下命令将PHP-FPM设置为开机启动: ``` sudo systemctl enable php-fpm ``` 6. 配置Nginx 创建一个新的Nginx配置文件`/etc/nginx/conf.d/adminer.conf`,添加以下内容: ``` server { listen 80; server_name your_domain.com; #将your_domain.com替换为您的域名或IP地址 location / { root /usr/share/nginx/html; index index.php index.html index.htm; } location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } ``` 保存并关闭文件。 7. 下载Adminer 使用以下命令下载最新版本的Adminer: ``` sudo wget https://github.com/vrana/adminer/releases/latest/download/adminer-x.x.x.php -O /usr/share/nginx/html/adminer.php ``` 将`x.x.x`替换为最新版本号。 8. 设置文件权限 使用以下命令设置文件权限: ``` sudo chown -R nginx:nginx /usr/share/nginx/html/ ``` 9. 重启Nginx 使用以下命令重启Nginx: ``` sudo systemctl reload nginx ``` 现在您可以通过浏览器访问`http://your_domain.com/adminer.php`来使用Adminer了,将`your_domain.com`替换为您的域名或IP地址。请注意,为了安全起见,建议在使用Adminer后将其删除或重命名为其他名称。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值