ufw 규칙을 iptables에 매핑

ufw 규칙을 iptables에 매핑

ufw에서 iptables로 마이그레이션 중입니다.

ufw에는 기본 "제한" 규칙이 있는데, 이는 IP 주소가 30초 내에 6개 이상의 연결을 시작하는 경우 적용됩니다( sudo ufw limit ssh). 저는 SSH 트래픽(포트 22)에 이 제한 규칙을 사용합니다.

나는 iptables에서 이 작업을 수행하는 다양한 방법을 읽었으며 정말 혼란스럽습니다. 다른 모듈을 사용해야 connlimit할지 잘 모르겠습니다 .limit

이 규칙을 iptables에 1:1로 매핑하는 가장 쉬운 방법은 무엇입니까?

답변1

ufwiptables 조작, ufw에서 이동 중이므로 iptables를 캡처하고 ufw가 거기서 무엇을 하고 있는지 확인할 수 있다고 생각했습니다.

답변2

recent확장 프로그램 사용

@Tomasz의 아이디어에 따라 ufw에 규칙을 만들고 iptables에서 결과를 확인했습니다. ufw는 확장을 사용하는 것 같습니다 recent.

:LOG_REJECT - [0:0]

-A INPUT      -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m recent --set
-A INPUT      -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 30 --hitcount 6 -j LOG_REJECT
-A INPUT      -p tcp -m tcp --dport 22                                                                         -j ACCEPT
-A LOG_REJECT                                                     -m limit --limit 3/min                       -j LOG --log-prefix "[LIMITED SSH]"
-A LOG_REJECT                                                                                                  -j REJECT --reject-with icmp-port-unreachable

limit확장 프로그램 사용

약간 더 깔끔하고 간단합니다.

:LOG_REJECT - [0:0]

-A INPUT      -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m limit --limit 12/minute -j ACCEPT
-A INPUT      -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW                            -j LOG_REJECT
-A LOG_REJECT                                                     -m limit --limit 3/minute  -j LOG --log-prefix "[LIMITED SSH]" --log-level 7
-A LOG_REJECT                                                                                -j REJECT --reject-with icmp-port-unreachable

icmp-port-unreachable( 이 경우에는 이것이 올바른 거부 메시지인지는 확실하지 않습니다 .)

connlimit확장 프로그램 사용

...다른 사람이 이것을 추가할 수도 있습니다. :)

관련 정보