CentOS 6和CentOS 7系统修改SSH端口的方法

  • A+
所属分类:建站笔记
摘要

SSH是系统安全中最需要重视的一点,针对SSH的攻击非常多,但其实很多攻击并不是有针对性的,而是来自于工具的自动端口扫描,简单的将SSH的端口从默认的22修改为不常见端口,就可以屏蔽大多数的SSH恶意攻击。

SSH是Linux经常使用的一个功能,但因为其具有的高权限,同时也是成为了一个经常被攻击的目标,很多攻击者都是使用穷举法,不停暴力测试25端口的root密码,为了避免这种攻击,最简单的方法就是将SSH的默认25端口改为一个不常见的端口,如果再配合防火墙的黑名单功能(自动同步SSH恶意攻击黑名单),基本可以杜绝针对SSH的攻击
CentOS 6和CentOS 7系统修改SSH端口的方法

想要查看自己是否被SSH攻击,可以使用下面的命令

[callout class="info" title="查询SSH是否被攻击攻击"]

  1. # SSH攻击IP排序
  2. grep -i -o -E -r -e "([0-9]{1,3}\.){3}[0-9]{1,3}" /var/log/secure | sort -n | uniq -c | sort -n
  3. grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
  4. # SSH 错误登录排序
  5. lastb | awk '{ print $3}' | sort | uniq -c | sort -nr | more

 

CentOS 6和CentOS 7系统修改SSH端口的方法

1、首先,为了避免麻烦和出错,先关闭SElinux,我们可以输入下面的命令,快速关闭:

  1. sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config

 

2、查看SElinux是否返回为disable

  1. sestatus
  2. 返回:SELinux status:   disable

 

3、修改ssh的配置文件(如果您不熟悉vi,也可以使用操作比较简单的WinSCP修改)

  1. vi /etc/ssh/sshd_config

 

4、#port 22前面的注释#删除,然后添加一行port 12345(新的SSH端口,本文以12345为例,之后不再解释,数字可以随意设置,为防止和常用端口冲突,建议设置为10000-65535之间的端口),如下:

  1. Port 22
  2. Port 12345

 

5、设置防火墙放行ssh新端口:

  1. # CentOS 6:
  2. /sbin/iptables -I INPUT -p tcp --dport 12345 -j ACCEPT
  3. /etc/rc.d/init.d/iptables save
  4. /etc/rc.d/init.d/iptables restart
  5. # CentOS 7:
  6. firewall-cmd --permanent --zone=public --add-port=12345/tcp
  7. firewall-cmd --reload

 

6、查看ssh新端口是否已打开:

  1. # CentOS 6:
  2. /etc/init.d/iptables status
  3. # CentOS 7:
  4. firewall-cmd --permanent --query-port=12345/tcp

 

7、重启sshd服务:

  1. # CentOS 6:
  2. service sshd restart
  3. # CentOS 7:
  4. systemctl restart sshd.service

 

8、删除步骤3、4中的port 22,并使用步骤7的命令再次重启sshd服务

 

[callout class="warning" title="注意"]修改SSH端口存在一定风险,如果新端口无法登录SSH,千万不要删除22端口,否则将导致无法登录SSH!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: