下文要说的这台gitlab服务器是部署在阿里云上的。阿里云根据他自己的大数据系统,如果发现某台服务器突然在不常出现的地方登录,就会自动发短信告警。
国庆期间,突然同事在工作组里发消息说阿里云提示gitlab在江西登录过一次,运维人员立马进行排查。
vi /var/log/secure 找到可疑的IP,如下图:
可以看出是git账户通过秘钥登录的。
补充一下,刚开始没注意是通过秘钥登录的,以为是服务器的密码登录验证功能没有关闭导致的,就编辑/etc/ssh/sshd_config把各个安全参数都显式的开启了。【槽点1:修改配置文件前应该先stat命令 看下文件的状态,这样便于排查是否存在被入侵的可能性】
当时也没搞清楚这个git用户是为何在异地登录的,没仔细考虑就先把git账户禁用了(修改/etc/passwd 将git用户的改成了/bin/false),防止它再次登录,另外在iptables上也DROP掉这个IP。
下午,正打算git clone 下载些代码到本地,发现git clone报错了,无法下载文件(忘记当时的截图被我放哪里去了,囧)。联想到可能是上午禁用git账户导致的故障。
登录gitlab服务器,将git账户再次启动。继续git clone,发现可以正常下载代码了。
这么说的话,阿里云报警提示江西登陆git,估计是某位同事回老家使用了git同步代码了,
整个过程只是虚惊一场,但我们也有必要看下为何会出现上述的这一些列的情况。
登录到gitlab服务器
su - git
cd .ssh
ll 可以看到authorized_keys这个文件
vim authorized_keys
可以看到authorized_keys文件里面都是些公钥(部分截图如下)
原因:
实际上,我们登陆进gitlab的网页后台,每次添加的公钥,在服务器端就是添加到git账户下面的,因此每次git clone 或者git push 这些操作都是相当于通过密钥登陆git账户到服务器上执行的。
所以我们在/var/log/secure里面看到很多的git 账户使用密钥登陆的信息。
完。
还有一个关于gitlab的笔记姊妹篇(2):http://www.tiejiang.org/11465.html