Hjälp med iptables whitelist/blacklist

Permalänk
Medlem

Hjälp med iptables whitelist/blacklist

Hejsan. Jag har lagt upp en whitelist med hjälp av ipset, iptables rule ser ut så här

-A INPUT -p udp -m set --match-set white src -m udp --dport 16789 -j ACCEPT

Det funkar utmärkt men jag skulle vilja ha en blacklist på samma port, spelar ingen roll om den droppar output om det är lättaste sättet.

Tacksam för input då jag har googlat och provat en massa men inte hittat nåt som funkar.

Permalänk
Medlem

Vad vill du göra med paketen som varken matchar den vita eller den svarta listan?

Fungerar inte bara tre regler efter varandra?
Där du först tillåter den de som matchar den vita listan.
Sedan blockerar de som matchar den svarta listan.
Och sedan en tredje där du tar hand om de som varken är med i vit- eller svart-listan, utan att ange varken vita eller svarta listan, då det bara är kvar de paketen som inte matchar någon av de.

Permalänk
Medlem
Skrivet av Genesis:

Vad vill du göra med paketen som varken matchar den vita eller den svarta listan?

Dom blockas, inget tillträde på port 16789 så långt funkar det bra.

Skrivet av Genesis:

Fungerar inte bara tre regler efter varandra?
Där du först tillåter den de som matchar den vita listan.
Sedan blockerar de som matchar den svarta listan.
Och sedan en tredje där du tar hand om de som varken är med i vit- eller svart-listan, utan att ange varken vita eller svarta listan, då det bara är kvar de paketen som inte matchar någon av de.

Dom som är med på vita listan kommer in på port 16789 så långt funkar det bra.

Men om ett IP som är på vita listan också skulle förekomma på svarta listan så vill jag ha en drop eller reject på det och det är det jag inte kunnat lösa.

har provat
-A INPUT -p udp -m set --match-set white src -m udp --dport 16789 -j ACCEPT
-A INPUT -p udp -m set --match-set black src -m udp --dport 16789 -j DROP

funkade inte,

har försökt med olika output drops eftersom dom alltid ligger efter input reglerna

-A OUTPUT -o eth0 -p udp --dport 16789 -s set state --match-set black src -j DROP

funkar inte

Permalänk
Medlem

Ok, så blocka först svarta listan och sedan tillåt vita listan. De som varken hanteras av någon kan du ta i en tredje regel som blockar de, om du inte har drop som default action för inkommande paket.
På så sätt blockas alla i svarta listan garanterat, och först om de inte finns med i svarta listan går paketen vidare och kollar om den ligger i vita listan. Så att blocka svarta listan prioriteras högre än att tillåta vita listan om de av någon anledning skulle finnas i båda (vilket i mitt tycke är dåligt skapade listor, men jag vet inte vad du gör eller varför, så det kanske finns en vettig anledning).

Permalänk
Medlem

Tack! Jag ska försöka med det, det olika källor till listorna och dom är dynamiska så därför jag försöker dela upp det så här.

edit: funkade! Tack för hjälpen