Fail2ban 聯動 Aliyun CLI 將 IP 直接錄入安全組

For AWS:

https://www.cloudar.be/awsblog/integrating-fail2ban-with-aws-network-acls/

注意,本文中的做法需要先在系統中配置好 aliyun-cli,
具體做法請參考:https://github.com/aliyun/aliyun-cli

在 jail.d 的配置文件中添加:

action = aliyun[name=%(__name__)s, bantime="%(bantime)s", port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]

然後在 action.d 文件夾中添加 aliyun.conf 配置:

[INCLUDES]

before = iptables-blocktype.conf

[Definition]

actionstart = aliyun configure set --profile ecsRamRoleProfile --mode EcsRamRole --ram-role-name <替換為 RAM Role 名稱> --region <替換為安全組地域>
              iptables -N fail2ban-<name>
              iptables -A fail2ban-<name> -j RETURN
              iptables -I <chain> -p <protocol> --dport <port> -j fail2ban-<name>

actionstop = iptables -D <chain> -p <protocol> --dport <port> -j fail2ban-<name>
             iptables -F fail2ban-<name>
             iptables -X fail2ban-<name>

actioncheck = iptables -n -L <chain> | grep -q 'fail2ban-<name>[ \t]'

actionban = /usr/local/bin/aliyun ecs AuthorizeSecurityGroup --SecurityGroupId <替換為安全組 ID> --SourceCidrIp <ip>/32 --IpProtocol ALL --PortRange=-1/-1 --NicType intranet --Policy Drop

actionunban = /usr/local/bin/aliyun ecs RevokeSecurityGroup --SecurityGroupId <替換為安全組 ID> --SourceCidrIp <ip>/32 --IpProtocol ALL --PortRange=-1/-1 --NicType intranet --Policy Drop

[Init]

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据