Ubuntu的SSH安全配置,查看SSH登录日志文件,修改默认端口,禁止root登录,禁用密码登陆,使用RSA私钥登录,以及使用使用 Fail2ban | 您所在的位置:网站首页 › linux密码修改日志 › Ubuntu的SSH安全配置,查看SSH登录日志文件,修改默认端口,禁止root登录,禁用密码登陆,使用RSA私钥登录,以及使用使用 Fail2ban |
Ubuntu的SSH安全配置,查看SSH登录日志文件,修改默认端口,禁止root登录,禁用密码登陆,使用RSA私钥登录,以及使用使用 Fail2ban。 环境是Ubuntu 22.04 LTS 查看登录日志文件 sudo vim /var/log/auth.log不出意外会看到很多类似如下的日志 Failed password for root from 183.146.30.163 port 22537 ssh2 Failed password for invalid user admin from 183.146.30.163 port 22545 ssh2 Invalid user tester from 101.254.217.219 port 56540 pam_unix(sshd:auth): check pass; user unknown pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.61.8.34 然后可以统计有多少人在暴力破解root密码错误登录,展示错误次数和ip sudo grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | uniq -c | sort -nr | more因为腾讯云还有个默认用户Ubuntu,也可以一起看看,或是查看一下自己其他用户的错误登录 sudo grep "Failed password for ubuntu" /var/log/auth.log | awk '{print $11}' | uniq -c | sort -nr | more 统计有多少暴力猜用户名的 sudo grep "Failed password for invalid user" /var/log/auth.log | awk '{print $13}' | uniq -c | sort -nr | more这台才买回来3天就被扫了500多次,东西都还都没上线就被扫了这么多次emm 修改SSH的默认端口在ECS上修改的时候要多留意一下,小心没改好再把自己拒绝在外面( 在防火墙开放新端口 iptables -A INPUT -p tcp -m tcp --dport 3322 -j ACCEPT保存并重启iptables防火墙 service iptables save service iptables restart修改SSH的默认端口 sudo vim /etc/ssh/sshd_config把 # Port 22 修改为 Port 3322 最好使用1024到65535之间的一个别人猜不到的端口号 重启ssh服务 sudo service sshd restart 或 sudo /etc/init.d/ssh restart 可以用iptables检查端口是否开启 禁止SSH的root登录修改 /etc/ssh/sshd_config 文件 PermitRootLogin no重启ssh服务 sudo service sshd restart 禁用密码登陆,使用RSA私钥登录 ssh-keygen #在客户端生成密钥 ssh-copy-id myserver1 #将公钥添加至服务端还需要配置服务端 sudo vim /etc/ssh/sshd_config PasswordAuthentication no #禁止密码认证 PermitEmptyPasswords no #禁止空密码用户登录重启ssh服务 sudo service sshd restart 使用 Fail2banUbuntu 16.04 系统源里带有 denyhosts ,到了Ubuntu 20.04默认不再包含。DenyHosts现在几乎不再更新了,所以来使用Fail2ban 检查是否安装了特定软件包 sudo apt list --installed | grep denyhosts sudo apt list --installed | grep fail2ban 安装fail2ban sudo apt-get install fail2ban 配置fail2ban配置文件在 /etc/fail2ban/jail.conf 。 在配置文件的[DEFAULT]区,可以在此定义所有受监控的服务的默认参数 [DEFAULT] # 以空格分隔的列表,可以是 IP 地址、CIDR 前缀或者 DNS 主机名 # 用于指定哪些地址可以忽略 fail2ban 防御 ignoreip = 127.0.0.1/8 ::1 # 客户端主机被禁止的时长 bantime = 60m # 查找失败次数的时长 findtime = 10m # 客户端主机被禁止前允许失败的次数 maxretry = 5根据上述配置,fail2ban会自动禁止在最近10分钟内有超过5次访问尝试失败的任意IP地址。一旦被禁,这个IP地址将会在1小时内一直被禁止访问 SSH 服务 保存配置后重启服务 sudo service fail2ban restart 查看fail2ban运行状态验证fail2ban成功运行: $ sudo fail2ban-client ping Server replied: pong检验fail2ban状态 $ sudo fail2ban-client status Status |- Number of jail: 1 `- Jail list: sshd检验一个特定监狱的状态 sudo fail2ban-client status上面的命令会显示出被禁止IP地址列表 解锁特定的IP地址 sudo fail2ban-client set sshd unbanip 192.168.1.8参考链接: ubuntu 16.04防止SSH暴力登录攻击 如何使用 fail2ban 防御 SSH 服务器的暴力破解攻击 |
CopyRight 2018-2019 实验室设备网 版权所有 |