Obmedzenie portu 3306 cez firewall PF

Marián Černý majo-users-l at cerny.sk
Sun Jun 6 10:16:15 CEST 2021


Frantisek Hennel wrote:
> Potreboval by som zablokovat pristup na mysql server (port
> 3306), aby nebol pristupny do internetu a povolit by som chcel
> tento port iba pre konkretne IP adresy, pripadne konkretne
> subnety. Vsetky ostatne porty chcem ponechat normalne
> otvorene, len ten jeden port 3306 chcem takto zablokovat.
> 
> moj pf.conf vyzera nasledovne:
> 
> table <blockedips> persist file "/etc/pf.blocked.ip.conf"
> ext_if="em0" # interface connected to internet
> block drop in log (all) quick on $ext_if from <blockedips> to any

Na základe Tvojho konfigu by som to rozšíril takto:

pass in quick on $ext_if from 10.1.1.0/24 to ($ext_if) port 3306
block drop in log (all) quick on $ext_if from any to ($ext_if) port 3306

pass povolí pakety.
quick ukončí spracovanie pri zhode (takže pre subnet 10.1.1.0/24 sa už nebude pokračovať ďalším pravidlom)
($ext_if) vezme IP adresu/y na rozhraní. Zátvorky spôsobia update IP adresy v prípade zmeny IP adresy (v prípade používania DHCP na rozhraní). Zátvorky je možné odobrať, alebo tam dať konkrétnu IP adresu.
block pravidlo zakáže všetkým ostatným prístup na port 3306. Je potreba, pretože maš default allow.

PF nepoužívam primárne, ale keďže je ta otázka taká jednoduchá, tak som si dovolil odpovedať. Keď tak ešte počkaj na odpoveď niekoho viacej skúsenejšieho (s PF). Môže sa stať, že tam mám nejakú drobnú chybku. Ale myslím, že to takto v pohode pobeží.

> Prosim o usmernenie aj v pripade, ak nie je mozne na tento
> ucel pouzit firewall PF, aj ked urcite uprednostnujem prave
> riesenie cez PF, kedze ho uz dlhsie pouzivam.

Na tieto triviálne veci môžeš použiť ľubovoľný firewall. PF to samozrejme musí zvládať tiež.

Marián


More information about the Users-l mailing list