Chcę w iptables ustawić sobie reguły zapobiegające bruteforceowi na ftp z zewnątrz
Idea jest taka, że miałem generalną regułę limitującą nowe połączenia do powiedzmy 5 prób na 3 minuty.
iptables -t filter -N LIMITBRUTEFTP
iptables -t filter -A LIMITBRUTEFTP -m recent --name ftplimit --set
iptables -t filter -A LIMITBRUTEFTP -m recent --name ftplimit --update --hitcount 5 --seconds 180 --rttl -j DROP
Jednak po zakupie kamery ip będacej zainstalowaną zupełnie na zewnątrz mojej sieci chcę by uploadowała co sekundę zdjęcie zrobione. W tym celu zrobiłem analogiczną regułę, do której kieruję pakiety z konkretnego zewnętrznego IP - tu ząłożenie jest takie, że chcę również ograniczać próby połączenia ale w mniejszym stopniu).
iptables -t filter -N LIMITBRUTEFTPCAM
iptables -t filter -A LIMITBRUTEFTPCAM -m recent --name ftplimit --set
iptables -t filter -A LIMITBRUTEFTPCAM -m recent --name ftplimit --update --hitcount 200 --seconds 180 --rttl -j DROP
Jednak to prowadzi do błedu:
iptables: Invalid argument
a w dmesg:
xt_recent: hitcount (200) is larger than packets to be remembered (20)
wartość 20 bierze się z
/sys/module/xt_recent/parameters/ip_pkt_list_tot
Jak mogę zmienić tę wartość, by była pamiętana po reboocie i zarazem uwzględniana przez iptables? Czy wystarczy w skrypcie init albo firewall
echo XXX > /sys/module/xt_recent/parameters/ip_pkt_list_tot jak wpłynie to np dziesięciokrotne zwiększanie ilości pamiętanych pakietów na wydajność?
Oczywiście pewnym workaroundem jest np zrobienie
--hitcount 10 --seconds 9 (wychodzi na to samo), ale choćby z praktycznych powodów czytelności wolałbym np by było to 65 na 60 (65 wciąż >20). Poza tym niekoniecznie w równych odstępach przyjdą połączenia, by robić próbę w 9 sekundach. |