현재 저는 Asterisk를 실행하는 새로운 Debian 서버에서 iptables를 사용하고 있습니다.
매일 auth.log에서 IP 주소를 확인하고 수동으로 수행합니다.iptables -A INPUT -s IPA.DRE.SS.0/24 -j DROP
처음에는 IP 주소만 다루었는데 비슷한 IP 주소에서 조회수가 많아 /24가 더 잘 작동했고 /16도 몇 번 사용해봤습니다.
이미 수백 개의 iptables 항목이 있는데 감당할 수 없을 정도로 많아졌습니다! 나는 이 일을 하는 더 쉬운 방법이 있어야 한다는 것을 알았습니다.
FAIL2BAN을 추천받았는데, 일정 횟수 이상 시도한 후에는 IP를 일시적으로 차단하는 것 같습니다.
내가 본 두 가지 주요 침입 시도는 가짜 사용자 이름과 임의의 포트를 사용하는 것입니다.
현재 사용하지 않는 사용자 이름으로 로그인을 시도하면 해당 IP 주소가 자동으로 영구적으로 차단될 수 있나요? 사용하지 않는 포트와 동일합니까?
나는 또한 이것을 많이 본다:
Did not receive identification string from (malicious IP) port 48334
또한 이러한 IP를 차단하고 싶습니다.
나를 잠글 수 있는 비밀번호를 비밀리에 입력하는 경우와 마찬가지로 잘못된 로그인 시도를 자동으로 차단하지 않습니다. 하지만 3번의 시도 후에 IP를 영구적으로 차단하는 것으로 충분할 수도 있습니다.
iptables로 이 작업을 수행할 수 있나요? 나는 이와 같이 작동하는 "영구 금지"에 대해 아무것도 찾지 못했습니다. 현재로서는 더 잘 작동하는 것 같습니다.
한 번 잘못된 사용자 이름 로그인, 한 번 잘못된 포트 연결 또는 3번의 잘못된 로그인 시도(올바른 사용자 이름 사용) 후에 IP 범위를 영구적으로 차단하는 작업을 수동으로 수행하고 싶습니다. 이것이 auth.log가 스팸되는 것을 방지하기를 바랍니다.
답변1
fail2ban
bantine
설정을 통해 영구 차단을 구성할 수 있습니다.-1
존재하다jail.conf
bantime = -1
재부팅 시 이러한 정보는 손실되지만 봇넷에 감염된 가정용 컴퓨터의 많은 시도는 수명이 짧기 때문에 반드시 나쁜 것은 아닙니다.
지속하고 싶으면 그러세요.https://arno0x0x.wordpress.com/2015/12/30/fail2ban-permanent-pertant-bans/일부 지침이 제공될 수 있습니다.
기본적으로 fail2ban
모든 금지된 IP의 영구 구성 파일을 생성하고 재부팅 시 iptables가 이 목록을 로드하도록 구성을 수정합니다.
따라서 기본값을 확인하면 jail.conf
기본 작업이 이라는 것을 알 수 있습니다 iptables-multiport
. 이 해당 구성 파일/etc/fail2ban/ction.d/iptables-multiport.conf
다음 항목을 추가할 수 있습니다.
[Definition]
# Option: actionstart
# Notes.: command executed once at the start of Fail2Ban.
# Values: CMD
#
actionstart = iptables -N fail2ban-<name>
iptables -A fail2ban-<name> -j RETURN
iptables -I <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
cat /etc/fail2ban/persistent.bans | awk '/^fail2ban-<name>/ {print $2}' \
| while read IP; do iptables -I fail2ban-<name> 1 -s $IP -j <blocktype>; done
# Option: actionstop
# Notes.: command executed once at the end of Fail2Ban
# Values: CMD
#
actionstop = iptables -D <chain> -p <protocol> -m multiport --dports <port> -j fail2ban-<name>
iptables -F fail2ban-<name>
iptables -X fail2ban-<name>
# Option: actioncheck
# Notes.: command executed once before each actionban command
# Values: CMD
#
actioncheck = iptables -n -L <chain> | grep -q 'fail2ban-<name>[ \t]'
# Option: actionban
# Notes.: command executed when banning an IP. Take care that the
# command is executed with Fail2Ban user rights.
# Tags: See jail.conf(5) man page
# Values: CMD
#
actionban = iptables -I fail2ban-<name> 1 -s <ip> -j <blocktype>
echo "fail2ban-<name> <ip>" >> /etc/fail2ban/persistent.bans
이제 fail2ban
항목이 표시 되면 구성을 /etc/fail2ban/persistent.bans
통해 행이 추가됩니다 actionban
. fail2ban
시작 시 actionstart
이 파일을 읽고 iptables
필요한 규칙을 작성합니다.
물론 fail2ban
구성 파일을 변경한 후에는 재부팅이 필요합니다.
모두 "arno0x0x"와 그의 WordPress 사이트 덕분입니다.