centos 7下SSH的一些安全配置

文章目录

[隐藏]

  • 0、说明
  • 1、修改SSH默认连接端口
  • 2、禁止root用户远程登录
  • 3、限制ssh访问服务器的源IP
  • 4、限制ssh访问服务器的用户名
  • 5、修改telnet ssh端口时显示的版本号
0、说明

0.1、实验环境系统为Centos 7.4系统,最小化安装后未做任何配置

1、修改SSH默认连接端口

1.1、确保SELinux处于关闭状态

[[email protected] ~]# setenforce 0  [[email protected] ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config  

1.2、编辑sshd_config配置文件,修改默认端口(17行左右)。并重启sshd服务使配置生效

[[email protected] ~]# grep ^Port /etc/ssh/sshd_config  Port 10022  [[email protected] ~]# systemctl restart sshd  

1.3、firewalld防火墙添加规则,放行tcp/10022端口

#添加防火墙规则  [[email protected] ~]# firewall-cmd --permanent --zone=public --add-port=10022/tcp  [[email protected] ~]# firewall-cmd --reload    #确认配置  [[email protected] ~]# firewall-cmd --list-all |grep 10022    ports: 10022/tcp  

这时候就可以使用10022端口连接ssh服务器了。
可能遇到的问题:

如果修改完ssh端口号,重启sshd服务报错,然后注释掉之前的更改就能正常重启,请使用getenforce命令检查下selinux状态是否为关闭

2、禁止root用户远程登录
#2.1、修改sshd_config配置文件(38行左右)  [[email protected] ~]# grep ^PermitRootLogin /etc/ssh/sshd_config  PermitRootLogin no  [[email protected] ~]#    #2.2、重启sshd服务,使配置立即生效  [[email protected] ~]# systemctl restart sshd  
3、限制ssh访问服务器的源IP
#编辑hosts.allow配置文件,追加一行内容  [[email protected] ~]# echo "sshd:192.168.43.226:allow" >>/etc/hosts.allow    #编辑hosts.deny配置文件,追加一行内容  [[email protected] ~]# echo "sshd:ALL" >>/etc/hosts.deny  

这里只写了一种方法,还可以通过修改sshd_config配置文件来限制源IP,也可以使用firewalld来限制源IP

4、限制ssh访问服务器的用户名
#修改sshd_config配置文件,允许zcy用户ssh访问服务器(以空格分开用户;添加完允许,默认拒绝其他所有用户)  [[email protected] ~]# echo "AllowUsers zcy" >>/etc/ssh/sshd_config    #重启sshd服务,使配置立即生效  [[email protected] ~]# systemctl restart sshd  
5、修改telnet ssh端口时显示的版本号
#5.1、查看sshd位置  [[email protected] ~]# whereis sshd  sshd: /usr/sbin/sshd /usr/share/man/man8/sshd.8.gz    #5.2、查看SSH版本  [[email protected] ~]# ssh -V  OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017    #5.3、查看sshd程序关于版本的信息  [[email protected] ~]# strings /usr/sbin/sshd |grep OpenSSH_7.4  OpenSSH_7.4p1-RHEL7-7.4p1-11  OpenSSH_7.4  OpenSSH_7.4p1    #5.4、使用sed替换版本(记得一定要先备份下)  [[email protected] ~]# cp -p /usr/sbin/sshd ./  [[email protected] ~]# sed -i 's/OpenSSH_7.4/OpenSSH_2.3/g' /usr/sbin/sshd    #5.5、重启下sshd服务,没有报错即可  [[email protected] ~]# systemctl restart sshd  

再使用telnet连接ssh端口,显示的版本则为:SSH-2.0-OpenSSH_2.3

原文出处:imzcy -> https://www.imzcy.cn/998.html

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。