🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # 修改服务器默认登录端口 ~~~ sudo vi /etc/ssh/sshd_config ~~~ * 修改port 0-1024的端口一般不要使用,因为它们通常被系统占用,而且需要root用户启动 1024-65536的范围都能使用 ~~~ ... Port 10086 ~~~ * 保证useDNS是no * 添加AllowUsers 用户名 ~~~ ... #VersionAddendum none AllowUsers 用户名 ~~~ * 重启ssh ~~~ systemctl restart sshd ~~~ * windows 修改 ~/ssh/config 里对应的port <br> # 禁止root用户及密码登陆 进入 sshd_config ~~~ sudo vi /etc/ssh/sshd_config ~~~ * 修改 PermitRootLogin 为no * 修改 PasswordAuthentication 为no * 重启ssh ~~~ systemctl restart sshd ~~~ <br> <br> # 配置 iptables ## 安装 iptables centos7 默认不安装iptables,安装命令为 ~~~ yum install iptables-services ~~~ <br> ## 检查是否安装成功 ~~~ systemctl status iptables ~~~ ![](https://box.kancloud.cn/d0d2b103d63f844b5214dd202ddf13f3_1001x83.png) 输出结果表示已经安装了iptables但是还没有启动 <br> ## 显示规则 ~~~ iptables -L -n ~~~ <br> ## 修改规则文件 ~~~ vi /etc/sysconfig/iptables ~~~ <br> ## 配置规则 **本地连接数据库等操作也要配置相应的规则,否则无法访问** ~~~ *filter # 允许进入的数据包只能是刚刚发出去的数据包的回应 # ESTABLISHED:已建立的链接状态 # RELATED:该数据包与本机发出的数据包有关 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # allow out traffic -A OUTPUT -j ACCEPT # allow http https # 开启以下端口访问 -A INPUT -p tcp --dport 443 -j ACCEPT -A INPUT -p tcp --dport 80 -j ACCEPT # allow ssh port login # 允许特定端口ssh登陆(记得修改端口、取消注释) # -A INPUT -p tcp -m state --state NEW --dport 10086 -j ACCEPT # allow ping # 允许接受icmp数据包到本地 -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT # log denied calls -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7 # 将限制同一个IP一分钟内最多建立15个连接,超出的连接会被iptables丢弃,不会到达nginx -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 150 -j DROP # reject all other inbound -A INPUT -j REJECT -A FORWARD -j REJECT COMMIT ~~~ <br> ## 重启iptable服务 ~~~ # service iptables restart systemctl restart iptables.service ~~~ <br> ## 使iptable服务开机自启: ~~~ systemctl enable iptables.service   ~~~ <br> <br> # Fail2Ban Fail2ban 能够监控系统日志,匹配日志中的错误信息(使用正则表达式),执行相应的屏蔽动作(支持多种,一般为调用 iptables ),是一款很实用、强大的软件。 如:攻击者不断尝试穷举 SSH 、SMTP 、FTP 密码等,只要达到预设值,fail2ban 就会调用防火墙屏蔽此 IP ,并且可以发送邮件通知系统管理员。 ## 安装 ~~~ sudo yum install fail2ban ~~~ <br> ## 修改配置 * 进入配置 ~~~ vi /etc/fail2ban/jail.conf ~~~ * 修改bantime ~~~ bantime = 3600 ~~~ * destmail改为自己邮箱 ~~~ destmail = 6666@qq.com ~~~ * 修改action ~~~ action = %(action_mw)s ~~~ ## 查看允许状态并开启 ~~~ systemctl status fail2ban systemctl start fail2ban ~~~