关于加强 ssh 安全的15个最佳实践

原文: https://securitytrails.com/blog/mitigating-ssh-based-attacks-top-15-best-security-practices?from=relatedposts 简要翻译如下:

  1. 不要使用默认的 22 端口
  2. 使用 tcp wrapper
  3. 在防火墙上过滤 ssh 端口,安装 CSF
  4. 关闭 root 登录
  5. 关闭口令登录
  6. 加强口令(如果不能关闭口令登录的话)
  7. 设置 Idle Timeout
  8. 关闭空口令(没有人会这么SB,允许空口令的用户)
  9. 定制一个 ssh 登录 Banner
  10. 自动 Block SSH 暴力攻击,有很多工具可以使用: SSHGuard, Fail2ban, 或者 DenyHosts
  11. 不要在笔记本电脑或者桌面电脑上开启 ssh
  12. 关闭 x11 转发
  13. 设置最多尝试次数, MaxAuthTries 3
  14. 每次root 登录都用邮件提醒
  15. 保持 ssh 软件最新版本

Ubuntu apparmor 导致的 Unbound DNS 服务日志文件不能读写错误

开启 Apparmor 的 debug ,我们就可以在系统日志里看到如下的记录:

Dec 19 11:56:42 localhost kernel: [45483.551927] audit: type=1400 audit(1576727802.918:1755): apparmor=”DENIED” operation=”mknod” profile=”/usr/sbin/unbound” name=”/var/log/unbound/unbound.log” pid=23316 comm=”unbound” requested_mask=”c” denied_mask=”c” fsuid=115 ouid=115

vim /etc/apparmor.d/usr.sbin.unbound
在 root hints 后添加一行:

/var/log/unbound/** rw,

重启 apparmor,重启 unbound 服务后,就可以看到日志能正确的写入了。

解决问题后关闭 Apparmor 的 debug:

echo 0 > /sys/module/apparmor/parameters/debug