云服务器ECS隐藏SSH、Apache、PHP版本信息方法
云服务器ECS隐藏SSH、Apache、PHP版本信息方法,可降低安全风险,具体修改方法如下:
1 SSH版本隐藏
1.1 查找sshd存在路径
查看sshd存在的路径
whereis sshd
返回结果:
1.2 备份sshd文件
备份sshd文件,确保可以恢复
cp /usr/sbin/sshd /usr/sbin/sshd.bak
1.3 查看sshd版本号有关的字符串
过滤版本号
strings /usr/sbin/sshd | grep OpenSSH
第一行为sshd的版本号,即ssh的版本号为:OpenSSH_6.6.1
1.4 修改版本信息
Centos5修改方法如下:
sed -i \'s/OpenSSH_4.3/XinNetN_1.1/g\' sshd
Centos6修改方法如下:
sed -i \'s/OpenSSH_5.3/XinNetN_1.1/g\' sshd
Centos7.1修改方法如下:
sed -i \'s/OpenSSH_6.6.1/XinNetN_1.1.1/g\' sshd
Opensuse12修改方法如下:
sed -i \'s/OpenSSH_6.1/XinNetN_1.1/g\' sshd
Opensuse13修改方法如下:
sed -i \'s/OpenSSH_6.6.1/XinNetN_1.1.1/g\' sshd
Debian6修改方法如下:
sed -i \'s/OpenSSH_5.5/XinNetN_1.1/g\' sshd
Debian7修改方法如下:
sed -i \'s/OpenSSH_6.0/XinNetN_1.1/g\' sshd
Ubuntu12.04修改方法如下:
sed -i \'s/OpenSSH_5.9/XinNetN_1.1/g\' sshd
Ubuntu14.04修改方法如下:
sed -i \'s/OpenSSH_6.6.1/XinNetN_1.1.1/g\' sshd
Ubuntu16.04修改方法如下:
sed -i \'s/OpenSSH_7.2/XinNetN_1.1/g\' sshd
注:OpenSSH_6.6.1字符串长度需要与修改的XinNetN_1.1.1的字符串长度保持一致,否则sshd将无法使用
Centos5 SSH版本为OpenSSH_4.3,修改为XinNetN_1.1
Centos6 SSH版本为OpenSSH_5.3,修改为XinNetN_1.1
Centos7 SSH版本为OpenSSH_6.6.1,修改为XinNetN_1.1.1
Debian6 SSH版本为OpenSSH_5.5,修改为XinNetN_1.1
Debian7 SSH版本为OpenSSH_6.0,修改为XinNetN_1.1
Opensuse12 SSH版本为OpenSSH_6.1,修改为XinNetN_1.1
Opensuse13 SSH版本为OpenSSH_6.6.1,修改为XinNetN_1.1.1
Ubuntu12.04 SSH版本为OpenSSH_5.9,修改为XinNetN_1.1
Ubuntu14.04 SSH版本为OpenSSH_6.6.1,修改为XinNetN_1.1.1
Ubuntu16.04 SSH版本为OpenSSH_7.2,修改为XinNetN_1.1
1.5 查看版本是否变更
Centos和Opensuse重启网卡方式:
service sshd restart
Debian和Ubuntu重启网卡方式:
/etc/init.d/ssh restart
查看版本信息
观察版本是否变更。
2 Apache版本隐藏
2.1 查找Apache配置文件
Centos Apache配置文件一般存放路径为:/etc/httpd/conf/httpd.conf
Ubuntu Apache配置文件一般存放路径为:/etc/apache2/conf-available/security.conf
Windows Apache配置文件存放在安装目录下:C:\\Program Files\\Apache24\\conf\\ httpd.conf
如果用户自行安装的Apache,需要找到Apache配置文件,可以通过搜索找到配置文件,如下图:
2.2 修改Apache配置文件
搜索关键字ServerTokens和ServerSignature
如果查找到,修改方法如下:
ServerTokens OS 修改为 ServerTokens ProductOnly
ServerSignature On 修改为 ServerSignature Off
如果没有,则增加如下配置:
ServerTokens Prod
ServerSignature Off
2.3 重启Apache
Centos重启方法:service httpd restart
Ubuntu重启方法:service apache2 restart
Windows重启方法:找到apache服务,右键点击重启
3 PHP版本隐藏
3.1 查找php配置文件
PHP配置文件一般存放在路径为:/etc/php.ini
Windows PHP配置文件模板存放路径为: C:\\Program Files\\phpserver\\php.ini,
如果用户自行安装的PHP,需要找到PHP配置文件,可以通过搜索找到配置文件,如下图:
3.2 修改php配置文件
修改或加入: expose_php = Off
3.3 重启web服务器
重新启动Nginx或Apache等相应的Web服务器
3.4 Mysql端口隐藏
注:操作mysql之前需要跟客户确认,关闭外网的mysql是否影响客户使用;
对于使用iptables防火墙的用户,执行如下命令:
iptables -A INPUT -i eth0 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
对于使用ufw防火墙的用户,执行如下命令:
ufw allow in on eth0 proto tcp to any port 3306
对于使用firewall防火墙的用户,执行如下命令:
firewall-cmd --permanent --direct --add-rule ipv6 filter INPUT 7 -i eth0 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
二、 通过脚本修改
Windows:https://tz.xincache.cn/download/win_modify_config.rar
Linux:https://tz.xincache.cn/download/vulner_solv.sh
Windows脚本使用方法:
1. 脚本使用:
复制压缩到windows系统当中,运行run.bat脚本。
2. 脚本执行结果:
配置文件修改错误: ***ERROR***:错误原因。
配置文件修改成功: SUCCESS:
3. 脚本功能
修改php、apache24配置文件,重启apache2或 iis服务
4. 适用系统:
Windows 2008; windows 2012
Linux脚本使用方法:
1. 脚本使用:
centos执行命令:
yum install -y wget && wget -O vulner_solv.sh https://tz.xincache.cn/download/vulner_solv.sh && sh vulner_solv.sh
ubuntu执行命令:
wget -O vulner_solv.sh https://tz.xincache.cn/download/vulner_solv.sh && bash vulner_solv.sh
debian执行命令:
wget -O vulner_solv.sh https://tz.xincache.cn/download/vulner_solv.sh && bash vulner_solv.sh
2. 脚本执行结果:
如果存在php,成功则会有 “SUCCESS: change php configuration”输出;
如果存在apache2或者http,成功则会有“SUCCESS: change apache2 configuration”或“SUCCESS: change httpd configuration”输出,失败则会有“Failed: fail to start”输出;
3. 脚本功能:
修改php、apache2或http配置文件,重启apache2或http服务
4. 适用系统:
centos、ubuntu、debian