Sziasztok!
Építő jellegű segítségeiteket, tanácsaitokat szeretném kérni.
Van egy pár domaint kiszolgáló web szerverem, melyet a lehető legjobban szeretnék IPTABLES tűzfalszabályokkal védeni.
A szerverben egy hálózati kártya van.
A HTTP, IMAP, POP3, SMTP, FTP és még egy-két TCP portot szeretnék engedélyezni, ezeket most nem sorolom végig, mert feleslegesen növelné a listát.
A DNS, NTP pedig UDP protokollon lenne engedélyezve hasonlóképpen, minden más UDP-t tiltani akarok.
Szeretném, ha a default policy minden irányba DROP lenne, azaz csak az jöhet-mehet, amit külön engedélyezek.
Emellett érdekelnének egyéb, általában IPTABLES-szel megoldandó védelmek, mint a ping-flood, syn-flood elleni védelmek, illetve ha még van egyéb javaslatotok, akkor szívesen venném.
Gondolom ennek is, akár egy bash szkriptnek, lehet több jó megoldása, nem igazán a tűzfallal fekvő-kelő ember vagyok, de szeretnék egy jó védelmet. Ezért gondoltam, hogy megkérdezem a HUP közösségét, ki mit ajánl, mit gondol.
Csináltam már valamit, ami javarészt működik, kivéve az FTP-t. Az nem megyen. ProFTPD fut a szerveren, annak a konfigurációs fájljában szerepel egy ilyen rész:
--------------------------------
# In some cases you have to specify passive ports range to by-pass
# firewall limitations. Ephemeral ports can be used for that, but
# feel free to use a more narrow range.
# PassivePorts 49152 65534
PassivePorts 49152 49162
--------------------------------
Ebből azt gondolnám (rosszul?), hogy ha itt megadok egy tartományt, akkor az FTP az adatcsatornákat ezen a portokon nyitogatja, nem össze-vissza, így ha ezen port tartományt a tűzfalon engedélyezem, akkor az FTP-nek mennie kellene.
De nem megy...
Hasonló "eredményeket" értem el különféle SYN-flood elleni védelemmel is, de ezt a végére hagynám, előbb menjen az FTP. Virtualbox-ban futtatott Debian-t tűzfalazok most próbaként, lehet, hogy amiatt nem akaródzik ez a SYN flood védelem működni?
És akkor egy bash szkript, ami a tűzfalat állítgatja be:
--------------------------------
#!/bin/bash
IPT=/sbin/iptables
$IPT -F
$IPT -X
#### Default policy: DROP ####
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP
#### Invalid allapotu csomagok eldobasa ####
$IPT -A INPUT -m state --state INVALID -j DROP
#### A beerkezo ping icmp csomagok limitalasa (pingflood ellen) ####
$IPT -A INPUT -p icmp -m limit --limit 1/s --limit-burst 1 -j ACCEPT
$IPT -A INPUT -p icmp -j DROP
$IPT -A OUTPUT -p icmp -j ACCEPT
################### Bejovo kapcsolatok ####################
$IPT -I INPUT -i lo -j ACCEPT
$IPT -A INPUT -p tcp -m multiport --dports 21,25,80,110,143 -m state --state NEW,ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -p tcp -m multiport --sports 21,25,80,110,143 -m state --state ESTABLISHED -j ACCEPT
$IPT -A INPUT -p udp -m multiport --dports 53,123 -m state --state NEW,ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -p udp -m multiport --sports 53,123 -m state --state ESTABLISHED -j ACCEPT
################## Kimeno kapcsolatok ######################
$IPT -I OUTPUT -o lo -j ACCEPT
$IPT -A OUTPUT -p tcp -m multiport --dports 21,25,80,110,143 -m state --state NEW,ESTABLISHED -j ACCEPT
$IPT -A INPUT -p tcp -m multiport --sports 21,25,80,110,143 -m state --state ESTABLISHED -j ACCEPT
######### FTP probalkozas ######
$IPT -A OUTPUT -p tcp --dport 49152:49162 -m state --state NEW,ESTABLISHED -j ACCEPT
$IPT -A INPUT -p tcp --sport 49152:49162 -m state --state ESTABLISHED -j ACCEPT
################################
$IPT -A OUTPUT -p udp -m multiport --dports 53,123 -m state --state NEW,ESTABLISHED -j ACCEPT
$IPT -A INPUT -p udp -m multiport --sports 53,123 -m state --state ESTABLISHED -j ACCEPT
--------------------------------
1) Tudnátok-e segíteni abban, hogyan tudnám az FTP-t is elérhetővé tenni?
2) Van-e esetleg javaslatotok, mit és hogyan lenne érdemes optimalizálni, átrendezni, hozzátenni ehhez a szabályrendszerhez? (IPV6-ot tiltottam, azzal most nem kívánok foglalkozni, ha esetleg felmerülne)
Előre is köszönök mindent!