今天早上阿里云给我发短信,大致内容是
【阿里云】尊敬的h****@126.com:云盾安骑士为您服务器进行基线检查时发现存在高危安全风险,建议您登录云盾-安骑士控制台,进行查看和处理,及时加固您的服务器,防止被黑客入侵。
到公司后登录阿里云控制台的云盾服务器安全(安骑士)管理控制台查看,风险项如下:
一般情况,我都是直接用root账户操作的,所以有的时候手快的话,一不小心就删了一些重要的文件。然而我还是按照阿里云的建议,打算把root账户直接登录关掉,并且修改了ssh默认登录端口。
一、禁止root账户直接通过ssh远程登录
不过在此之前你要创建一个普通用户,要不然你禁用了root账户,还怎么登录服务器。
创建一个普通权限的用户:
# useradd –d /home/abc -m abc
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-s Shell文件 指定用户的登录Shell。
修改abc的密码
# passwd abc
为了让普通用户abc能直接sudo执行命令,还需要配置abc的权限。
# vim /etc/sudoers
找到
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
在这行后面添加
abc ALL=(ALL) NOPASSWD:ALL
:wq保存退出
这样,abc账户就直接使用sudo执行各种命令,并且不需要输入abc的密码。
生产机器禁止ROOT远程SSH登录:
#vim /etc/ssh/sshd_config
把
PermitRootLogin yes
改为
PermitRootLogin no
重启sshd服务
#service sshd restart
远程管理用普通用户abc登录,然后用 su root 切换到root用户拿到最高权限,或者直接sudo执行命令。
二、修改ssh远程登录的默认端口号
由于linux服务器默认远程ssh登录端口号是22,众所周知,所以使用默认端口号登录就很不安全。
通过修改/etc/ssh/sshd_config来修改ssh登录端口号
# sudo vim /etc/ssh/sshd_config
找到
#Port 22
将其修改为
Port 其他端口号
即去掉Port前的#号,并将22改为你想要的端口号,建议修改为1024 – 65535之间一个没有被其他应用软件等占用的端口号。
然后重启sshd服务
# sudo service sshd restart
其实做完以上操作,你并不一定能使用新端口登录服务器,你还要修改防火墙,开放你所修改的端口号。
由于我用的是阿里云服务器,所以可以直接在阿里云控制台上修改防火墙开放端口
登录控制台->云计算基础服务->云服务器ECS,找到你要修改的实例,点击更多,找到安全组配置
点击配置规则
点击右上角的添加安全组规则,然后配置如下,假如修改的端口号是1111
注意修改红框里的配置就可以了,其他默认
然后可以就通过新的端口远程登录服务器了。为了安全起见,把之前的22端口号删掉。
暂无评论内容