ssh 安全
ssh 安全
常用入侵检测,防止成为肉鸡
检查history 日志
history # 查看操作日志
检查成功登陆用户
1️⃣ 查看密码登陆成功用户
cat /var/log/secure | grep "Accepted password for"
2️⃣ last
查看登陆信息
last # who /var/log/wtmp
检查是否存在免密登陆
1️⃣ 查看账户.ssh目录下是否存在authorized_keys文件
ls -l /home/test/.ssh/ # 登陆账户
ls -l /root/.ssh/ # root 账户
cat /root/.ssh/authorized_keys
2️⃣ 查看系统账户
cat /etc/passwd #
3️⃣ 检查ssh日志
cat /var/log/secure | grep "Invalid user" # 无效用户
cat /var/log/secure | grep "Failed password" # 失败的记录
cat /var/log/secure | grep "Failed password" | wc | l # 失败的条数
wc /var/log/secure -l # 有多少条日志
ls -lh /var/log/secure # 查看日志文件多少M 是否有大规模爆破行为
4️⃣ 检查定时任务是否存在异常情况
crontab -l # 查看当前用户的定时任务信息
sudo crontab -u root -l # 查看root账户的定时任务信息
🛠️ 修复方案
1️⃣ 修改密码强度
passwd root #设置新密码
2️⃣ 删除keys
rm -rf .ssh/authorized_keys
3️⃣ ssh校验次数限制 禁用密码登陆 修改 sshd_config
vim /etc/ssh/sshd_config
# MaxAuthTries 3
# PasswordAuthentication no
4️⃣ 锁定用户 编辑/etc/pam.d/sshd
/etc/pam.d/login
auth required pam_tally2.so deny=3 unlock_time=86400 even_deny_root root_unlock_time=86400 # 24 hours
查看锁定用户
sudo pam_tally2 --user
解除锁定
sudo pam_tally2 --user test --reset
5️⃣ 限制只允许特定ip地址访问ssh
vim /etc/hosts.allow
# sshd:192.168.1.1:allow
vim /etc/hosts.deny
# sshd:ALL
6️⃣ 限制特定用户访问 /etc/ssh/ssh_config
AllowUsers root@192.168.1.1
DenyUsers admin
7️⃣ 修改ssh 端口号/etc/ssh/ssh_config
port 22
port 5432 # 增加另外一个ssh端口号避免修改失败连接不上主机了
8️⃣ 配置防火墙
firewall-cmd --zone=public --add-port=5432/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports # 查看开放端口