今天收到了阿里云异地登录的短信报警,登录阿里云后台发现,有人从深圳登录了我的服务器(本人在北京),查看详细信息一共登录了5次,前两次是使用的git用户进行登录,后两次已经变成了root用户,怀疑是有人通过使用git用户登录到服务器并破解了我的root账户,首先我的阿里云服务器是只支持秘钥登录的,相应的在后续做了如下调整,没有再次发现相关问题。
- 修改
/etc/passwd
中git用户的相关权限。
gitlab-www:x:997:994::/var/opt/gitlab/nginx:/bin/false
git:x:996:993::/var/opt/gitlab:/bin/git-shell
gitlab-redis:x:995:992::/var/opt/gitlab/redis:/bin/false
gitlab-psql:x:994:991::/var/opt/gitlab/postgresql:/bin/git-shell
gitlab-prometheus:x:993:990::/var/opt/gitlab/prometheus:/bin/git-shell
将/bin/bash
修改为/bin/git-shell
。
使用 Git 自带的 git-shell 工具限制 Git 库所属用户的活动范围。将此设置为git-shell,那么该用户就无法使用普通的 bash 或者 csh 什么的 shell 程序。
如果此时使用git用户想要登录服务器,将会出现如下报错。
[root@iZ2zei5wmjez4qjb9g9yw8Z ~]# ssh git@123.123.123.123
The authenticity of host '[123.123.123.123]:22 ([123.123.123.123]:22)' can't be established.
ECDSA key fingerprint is 91:e0:11:e1:ef:8f:e5:93:35:1a:16:e8:f5:80:23:70.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[123.123.123.123]:22' (ECDSA) to the list of known hosts.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
- 检查当前系统是否正常
2.1、使用top
或htop
命令查看当前服务器的运行状态,是否有cpu或内存使用过高的情况,确定服务器当前的安全情况。
2.2、检查当前历史命令使用history
命令查看当前有没有异常命令
2.3、注意关注阿里云后台运行情况,有无短信报警。 - 检查当前有没有特殊用户被创建,查看当前公钥认证文件中是否存在其他异常公钥。
- 修改
sshd_config
配置文件,增加ssh安全性。