Preface
在上个月月底的时候,阿里云通知我服务器在美国被异地登陆了,今天有时间整理了一些关于服务器安全的设置。
Locate the Matter
当时我正好在用服务器,感觉异常的卡,用
htop
监控程序查看发现cpu正在被两个一样的进程100%占用,Command是/usr/sbin/ApacheX
,去目录下找了下,没有该脚本,网上搜了也没该进程的信息。现在看来应该是黑客伪造的查看日志,
vi /var/log/auth.log
,发现下面几行很奇怪,我平时都是用ssh连接服务器的,正常应该是这样的
居然被人用密码登录了,一查IP,果然是美国的。当初测试切换用户时嫌麻烦修改了密码,直接用的root,被人试出来了。
Solve
执行
passwd
修改密码,不加参数默认当前用户,加参数指定用户修改ssh配置文件sshd_config,友情提示修改配置时开启多个窗口,以免登不上去还能用别的窗口修改回来
1
vi /etc/ssh/sshd_config
修改ssh端口,为防止黑客暴力破解22端口
1
Port xxx
Tips
- 现在你需要使用
ssh {user}@{IP} -p {port}
来登录你的服务器。如果觉得麻烦,可以!ssh
执行上一次的ssh命令,或者history | grep ssh
粘贴命令。 - 传输文件时使用
scp -P {port}
来指定端口。scp(secure copy)通过ssh端口就行加密传输。 - ssh_config是针对客户端的配置文件,sshd_config是针对服务器端的配置文件,服务器后台运行的也是sshd守护进程(Daemon)。
启用ssh密钥认证,指定密钥存放路径
1
2
3RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile /root/.ssh/authorized_keys /home/s1mple/.ssh/authorized_keys禁用密码登录,只允许ssh登录
1
2
3PasswordAuthentication no
UseLogin no
PermitRootLogin yes另外,阿里云的服务器在你终端一段时间没有指令输入会断开,可以这样避免
1
ClientAliveInterval 30
每30s发送一个心跳包
修改完成后
service sshd restart
使配置生效