欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ssh版本信息隐藏

程序员文章站 2024-01-30 16:39:28
...
1.Q:漏洞名称:SSH版本信息可被获取
描述:SSH服务允许远程攻击者获得ssh的具体信息,如版本号等等。这可能为攻击者发动 进一步攻击提供帮助。"
运维建议解决方案:“NSFOCUS建议您采取以下措施以降低威胁:* 修改源代码或者配置文件改变SSH服务的缺省banner。”
端口号:22
2.A:解决途径:
(1)在 /etc/下创建一个文件 ssh_banner_change,在文件中输入内容,如:welcome!
(2)修改/etc/ssh/sshd_config 文件,找到#Banner none在其下面添加以下内容:Banner /etc/ssh_banner_change
      #no default banner path
      #Banner none
      Banner /etc/ssh_banner_change

(3)重启sshd服务
systemctl restart sshd
(4)验证是否成功
telnet localhost 22
运行该命令,若是提示~bash: telnet: command not found,则安装telnet
yum list telnet*              列出telnet相关的安装包
yum install telnet-server          安装telnet服务
yum install telnet.*           安装telnet客户端
再次运行telnet localhost 22
发现仍然打印出类似SSH-2.0.0-OpenSSH_8.3的版本信息,说明失败,若是成功打印出类似welcome的信息则成功,无需进行以下步骤
5)上述(4)失败的话,那就需要重新编译安装,下载安装包
wget http://www.zlib.net/zlib-1.2.11.tar.gz
wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-8.3p1.tar.gz
注意:
别卸载原版本的ssh,就算下载新版本后也别卸载;按资料说是:如果是远程连接升级,不能卸载旧版本,否则连接会断开。安装新版本后也不能卸载老版本,否则要到服务器直连重新安装。(未验证) 在修复前多开几个连接窗口,防止操作过程产生的影响导致再也连接不上。这样就只能去服务器直连,无法远程连接。(经后续验证后,确实会出现重新打开连接时连接不上的问题,所以务必提前多开几个连接窗口)

(6)安装 zlib-1.2.11.tar.gz
#解压
tar -xvf zlib-1.2.11.tar.gz
#进入解压后的目录
cd zlib-1.2.11
#编译,该目录自己选择
./configure --prefix=/usr/local/zlib 
make && make install
注意:
若是有失败,则是gcc未安装,安装gcc后重复上述步骤(下面其他解压安装时同理,若失败了,也考虑gcc的问题):
yum -y install gcc automake autoconf libtool make

(7)安装 openssl-1.1.1g.tar.gz
#解压
tar -xvf openssl-1.1.1g.tar.gz
#进入解压后的目录
cd openssl-1.1.1g
#编译,该目录自己选择
./config --prefix=/usr/local/ssl -d shared 
make && make install
#安装后查看信息是否成功
ldconfig -v
(8)安装 openssh-8.3p1.tar.gz
#解压
tar -xvf openssh-8.3p1.tar.gz

#进入解压后的目录
cd openssh-8.3p1

#修改 version.h 文件内容
找到类似  #define SSH_VERSION “OpenSSH_8.3(视你下载的版本而定)”  ,将版本信息改为(如:welcome),即改为 #define SSH_VERSION “OpenSSH_welcome”

#编译,该prefix目录自己选择,后面的ssl目录、zlib目录都要与前面解压时对应上
./configure --prefix=/usr/local/openssh --with-ssl-dir=/usr/local/ssl --with-zlib=/usr/local/zlib 

若是有报错,如:
configure: error: *** working libcrypto not found, check config.log ***
或者
configure: error: *** OpenSSL headers missing - please install first or check config.log ***
则将ssl目录改为其上级目录再重新尝试,如--with-ssl-dir=/usr/local/ssl改为--with-ssl-dir=/usr/local
若是还不行,则在上面改动的基础上,yum安装openssl-devel包再重新尝试,命令:
yum install -y openssl-devel
(报错参考链接:https://www.cnblogs.com/wholj/p/10944407.html)
实验时在改动基础上安装openssl-devel包后成功

make && make install

#修改 /usr/local/openssh/etc/sshd_config 文件:
①找到 #PermitRootLogin prohibit-password 在下一行添加 PermitRootLogin yes,启用允许root 远程登录;
②找到 #PubkeyAuthentication yes 在下一行添加 PubkeyAuthentication yes,启用公钥身份验证;
③找到 #PasswordAuthentication yes 在下一行添加 PasswordAuthentication yes,启用隧道明文密码

#备份 /etc/ssh 原有文件(原来没有的文件,mv 命令提示 :No such file or directory,则跳#过 mv 备份),并将新的配置复制到指定目录:
mv /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
cp -f /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config
mv /usr/sbin/sshd /usr/sbin/sshd.bak
cp -f /usr/local/openssh/sbin/sshd /usr/sbin/sshd
mv /usr/bin/ssh /usr/bin/ssh.bak
cp -f /usr/local/openssh/bin/ssh /usr/bin/ssh 
mv /usr/bin/ssh-****** /usr/bin/ssh-******.bak
cp -f /usr/local/openssh/bin/ssh-****** /usr/bin/ssh-******
mv /etc/ssh/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub.bak
cp -f /usr/local/openssh/etc/ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub

#重启,查看版本
systemctl restart sshd
sshd -v

#启动服务后,配置开机启动(需要开机自启)
systemctl enable sshd.service

#验证是否成功
telnet localhost 22
若是提示:SSH-2.0.0-OpenSSH_welcome(你自己配置的),则说明成功
(9)xshell新开窗口连接不上
setsebool -P authlogin_shadow on
该命令具体意思还得调查,-p是永久修改的意思
运行该命令后,再次连接发现成功

(10)Xshell 连接虚拟机出现 “The remote SSH server rejected X11 forwarding request”
#修改ssh配置
vi /etc/ssh/sshd_config
以及vi /usr/local/openssh/etc/sshd_config (openssh-8.3p1.tar.gz的安装目录中)
或者
单纯修改vi /usr/local/openssh/etc/sshd_config,
然后cp -f /usr/local/openssh/etc/sshd_config /etc/ssh/sshd_config

修改内容:
将文件中的 X11Forwarding 参数改为 yes;

保存退出后即可成功,当然最好重启systemctl restart sshd
再次连接发现无此提示
但此种解决还有问题,OpenSSH Server未启动,有待解决

YYQ运维技术博客_运维的工作学习之路
https://www.yeyouqing.top
https://yeyouqing.top
yeyouqing.top
www.yeyouqing.top

相关标签: sshd