根据我的基本理解,iptables
我整理了以下用于运行 Tor 中继的设置...这是大约 6 小时后的结果。请注意,我不想讨论任何 Tor 操作,因此我不会被指向https://tor.stackexchange.com/谢谢。
22 端口受到了一次大规模攻击,我醒来时发现了这一点,因此我已经进行了更改,密码验证已被禁用,但该人/机器人仍然试图闯入,我有一个 8192 位长的 RSA 公钥/私钥,所以我希望这足够了。
# iptables -L -v --line-numbers
输出:
Chain INPUT (policy DROP 8242 packets, 735K bytes)
num pkts bytes target prot opt in out source destination
1 0 0 DROP tcp -- any any anywhere anywhere ctstate NEW tcp flags:!FIN,SYN,RST,ACK/SYN /* protection: non-syn packets */
2 10 452 DROP all -- any any anywhere anywhere ctstate INVALID /* protection: malformed packets */
3 20 1000 ACCEPT all -- lo any anywhere anywhere /* loopback: compulsory */
4 3 98 ACCEPT icmp -- any any anywhere anywhere icmp echo-request limit: avg 2/sec burst 5 /* ICMP: ping only */
5 16625 9388K ACCEPT all -- any any anywhere anywhere ctstate RELATED,ESTABLISHED /* traffic */
6 7 420 ACCEPT tcp -- any any anywhere anywhere ctstate NEW,ESTABLISHED tcp dpt:xxyyzz /* SSH: global obfuscated */ <-- CENSORED
7 438 26080 ACCEPT tcp -- any any anywhere anywhere tcp dpt:9001 /* Tor: OR */
8 558 30828 ACCEPT tcp -- any any anywhere anywhere tcp dpt:9030 /* Tor: Dir */
Chain FORWARD (policy DROP 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 16969 packets, 6369K bytes)
num pkts bytes target prot opt in out source destination
我想部署fail2ban
,但我从来没有用过,所以我找到了几个指南设置它,但我相信我们应该在这个网站上有一些例子,我确实找到了太多的结果fail2ban
,然而,只有与fail2ban
初始设置
答案1
在 deb 上安装 f2b 相当简单。我之前在一篇文章中写过(https://dev.slickalpha.blog/2019/11/installing-lemp-stack-on-debian-buster.html#sv-fail2ban)。
首先安装f2b
apt install fail2ban -y
复制配置到本地
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
并在本地文件上进行编辑
nano /etc/fail2ban/jail.local
更新默认值(端口 22 已在 f2b 上预先启用)
[DEFAULT]
...
# MISCELLANEOUS OPTIONS...
bantime = 86400
findtime = 86400
maxretry = 2`
重启f2b
/etc/init.d/fail2ban restart
检查 sshd 22 的状态
fail2ban-client status sshd
除此之外,使用密钥和密码就足够了。您可以随时微调 f2b。
更新:
Fail2ban 基本上使用正则表达式过滤器检查日志中的 IP,并使用 iptables 阻止匹配的 IP。
列出已启用的监狱(f2b 中服务的正则表达式过滤器)
fail2ban-client status
为了保护自定义端口或服务,
检查该服务的正则表达式过滤器是否存在
ls /etc/fail2ban/filter.d
如果它们存在,那么jail-name.conf
只需在 f2b 本地文件上启用它们
nano /etc/fail2ban/jail.local
根据语法
[jail-name]
..options..
假设 sshd 未启用,则添加enabled = true
到 sshd jail
[sshd]
enabled = true
....
针对你的日志测试 jail,如果缺少正则表达式则更新
fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf
如果服务或端口不存在 jail,请在线检查这些过滤器,并将这些过滤器添加到本地配置文件中/etc/fail2ban/filter.d
并在本地配置文件中启用它。