记住:总有刁民想害朕!!!
所以对于个人服务器要进行加固设置
1.提高root密码复杂度
2.禁止root账户ssh远程登陆
普通用户登陆,通过sudo su切换到root
3. 不要设置简单的用户名和密码
4. 一定要查看系统暴露了哪些网络端口
netstat -ant
netstat -anu
lsof -i:port 查看哪个进程使用端口
pstree -p 查看进程树
对于阿里云服务器要在控制台中进行网络安全规则设置
查看日志总结:
一些网络服务进程是易受攻击或者扫描,所以主要查看这些服务的日志
sshd
nginx
mysql
redis
ntpd
/var/log/secure 这个文件下的日志保留了哪里刁民想害朕的证据
nginx/access.log, nginx/error.log往往会记录web攻击日志
遇到的一些问题记录
ssh会话每过一定时间就会自动断开
解决方法:在ssh客户端配置ServerAliveInterval的值 比服务端的要小
验证方法:通过tcpdump port 22 进行抓包查看ssh 如何配置公钥登陆【也就是免密登陆】
假如C为客户端,想要免密登陆S服务端,要进行如下配置
C中执行
ssh-keygen -t rsa生成公钥匙
cat .ssh/id_rsa.pub 进行查看
ssh-copy-id user@S_host_ip【这一步本质就是把公钥添加到S服务端的.ssh/authorized_keys,从而实现信任】
S中执行
把C端生成的公钥放到.ssh/authorized_keys中我完全照着第二步进行配置了,为什么我还是不能免密登陆?
(远在异国的人也遇到了同样的问题)
https://www.daveperrett.com/articles/2010/09/14/ssh-authentication-refused/
我刚才尝试通过公钥登陆服务器,花了我一个小时,下面这几点我真希望自己能早一点知道
ssh -v user@host_ip查看日志
tail -f /var/log/secure
Aug 18 17:15:36 host_name_demo sshd[3844]: Authentication refused: bad ownership or modes for directory /home/user_name/.ssh
原来是目录的权限问题,通过如下命令进行修复
chmod 700 /home/user_name/.ssh
chmod 600 /home/user_name/.ssh/authorized_keys
⚠️阅读此文档需有一周左右的linux使用基础