防止阿里云Centos系统root用户被暴力破解的方法

2019-01-31  本文已影响0人  飞奔的阿甘

Linux系统默认情况下,是可以通过ssh以root权限登录的。但出于安全考虑,这样的权限是不合适的,黑客可以通过密码暴利破解进入你的系统;另外也防止一些开发或者对系统不熟悉的人员进入系统横冲直撞,进行一些危险操作。

禁止root用户通过ssh登录,是通过操作sshd_config配置文件来实现。

1、打开ssh配置文件

$ vim /etc/ssh/sshd_config

2、找到文件中下面一行文字

#PermitRootLogin no也有可能是#PermitRootLogin yes

3、去掉该行前面的#号,使其成为下面这样:

PermitRootLogin no

4、添加用户admin

useradd admin

5、设置admin用户密码

passwd admin **********

6、查看用户是否添加成功

cat /etc/passwd |cut -f 1 -d :

7、打开sshd_config文件,然后在文件的末尾加上下面一行文字,admin即为允许通过ssh登录的用户

vim /etc/ssh/sshd_config

AllowUsers admin

8、修改ssh登录端口号:

vim /etc/ssh/sshd_config

/Port 找到端口配置

修改为

Port 22

Port 7777

注:先别把22端口关闭,要不7777登不上去,就只能登陆阿里云的web端进行远程连接了

9、重启ssh服务

Ubuntu: $ /etc/init.d/sshd restart

Centos:  service sshd restart

接下来试着用root账号再登陆发现拒绝登陆,然后在用普通用户登录即可。如果通过普通用户登录了需要root权限进行相关操作,可以通过su -命令切换到root账号。

如果机器里有很多普通用户,而我们又不希望所有的用户都能通过shh登录,也可以通过sshd_config配置来实现。

以下步骤是非必须的,一般生产环境会开防火墙

10、查看默认防火墙状态

firewall-cmd --state

注:CentOS7之前用来管理防火墙的工具是iptable,7之后使用的是Firewall

11、检查防火墙服务的状态

systemctl list-unit-files|grep firewalld.service

12、打开防火墙,打开防火墙后,可能会造成ssh连接断开的情况,此时需要在浏览器中登录阿里云web远程连接,在远程连接中执行13步骤,然后即可再次通过ssh连接服务器

systemctl start firewalld.service

13、为防火墙添加开放端口(按需添加)

firewall-cmd --zone=public --add-port=7777/tcp --permanent 

firewall-cmd --zone=public --add-port=9001/tcp --permanent 

firewall-cmd --zone=public --add-port=9742/tcp --permanent 

firewall-cmd --zone=public --add-port=3456/tcp --permanent 

firewall-cmd --zone=public --add-port=9876/tcp --permanent 

firewall-cmd --zone=public --add-port=8081/tcp --permanent 

firewall-cmd --zone=public --add-port=8080/tcp --permanent 

firewall-cmd --zone=public --add-port=8888/tcp --permanent 

firewall-cmd --zone=public --add-port=8889/tcp --permanent 

firewall-cmd --zone=public --add-port=80/tcp --permanent 

firewall-cmd --zone=public --add-port=23/tcp --permanent 

firewall-cmd --zone=public --add-port=6379/tcp --permanent 

firewall-cmd --zone=public --add-port=22/tcp --permanent 

firewall-cmd --zone=public --add-port=3306/tcp --permanent 

firewall-cmd --zone=public --add-port=1433/tcp --permanent 

firewall-cmd --zone=public --add-port=443/tcp --permanent 

firewall-cmd --zone=public --add-port=5432/tcp --permanent 

firewall-cmd --zone=public --add-port=1521/tcp --permanent 

14、查看开放的端口和服务

firewall-cmd --permanent --zone=public --list-services

firewall-cmd --permanent --zone=public --list-ports

注:一个服务对应一个端口,这里的服务是底层服务(例如http 、ssh、ftp)打开了端口后需要打开服务才能访问服务

15、查看可以打开的服务

firewall-cmd --get-services

16、添加服务到防火墙

firewall-cmd --permanent --add-service=http

firewall-cmd --permanent --add-service=https

firewall-cmd --permanent --add-service=ftp

firewall-cmd --permanent --add-service=dhcp

firewall-cmd --permanent --add-service=dhcpv6

firewall-cmd --permanent --add-service=dhcpv6-client

firewall-cmd --permanent --add-service=dns

firewall-cmd --permanent --add-service=docker-registry

firewall-cmd --permanent --add-service=elasticsearch

firewall-cmd --permanent --add-service=privoxy

firewall-cmd --permanent --add-service=proxy-dhcp 

firewall-cmd --permanent --add-service=smtp

firewall-cmd --permanent --add-service=smtp-submission

firewall-cmd --permanent --add-service=telnet

17、查看已经打开的服务

firewall-cmd --permanent --zone=public --list-services

18、加载防火墙新策略

 firewall-cmd --reload  

19、开启防火墙

systemctl start firewalld.service

20、重启防火墙

systemctl restart firewalld.service

21、开机启动防火墙

systemctl enable firewalld.service

22、如果防火墙有配置问题,可以先关掉防火墙

systemctl stop firewalld.service

上一篇下一篇

猜你喜欢

热点阅读