martedì, giugno 05, 2012

ClearOS Port Forwarding Access Control

- post<li> - Permalink

Dopo anni di onorato servizio usando IPCop come firewall di default, come ho già detto altre volte ultimamente sto usando ClearOS. Nel cambio ho avuto molti vantaggi e quello che vado a raccontare è stato il primo problema.

Problema: Devo abilitare il port forwarding della porta 80 di un Virtual IP su un IP della DMZ interna a tutto il mondo e il resto delle porte di servizio (RDP, ftp, ecc...) ad un singolo IP.

Ora in IPCop il setup era banale. Dal menù firewall -> port forwarding si decide da che IP:PORTA pubblica a che IPLOCALE:PORTA si deve effettuare la mappatura ed eventualmente da quali IP sorgenti questa operazione è lecita. Fine!

Possibili NON soluzioni in ClearOS:
  • 1-to-1 NAT: Non si può fare perchè non fa nessun controllo sul sorgente
  • 1-to-1 PORT NAT: Non si può fare per lo stesso motivo precedente e inoltre non si può rifinire con altre regole magari usando Advanced Firewall!
Soluzione in ClearOS:
  1. Abilitare una porta usando 1-to-1 PORT NAT, tipicamente la porta 80 a tutto il mondo, in questo modo ClearOS setta anche una serie di regole di contorno che serviranno anche alle nostre.
  2. Installare il modulo Custom - Firewall
  3. Collegarsi via SSH al firewall
  4. Aggiungere queste righe al file >vi /etc/rc.d/rc.firewall.custom
    iptables -A FORWARD -i eth1 -p tcp --dport 1:65535 -j ACCEPT -d %DMZ_IP% -s %SOURCE_IP% # Comment
    iptables -t nat -A PREROUTING -p tcp -d %VIP% --dport 1:65535 -j DNAT --to-destination %DMZ_IP%:1-65535   #  Comment
    
  5. Riavviare il firewall e testare il tutto. >service firewall restart
In queste due righe ci sono tutti gli attori coninvolti:
  • %DMZ_IP% - Ip locale del server
  • %SOURCE_IP% - Ip della macchina abilitata all'accesso da remoto
  • %VIP% - Virtual IP configurato nella sezione IP Settings ovvero l'IP pubblico dove volte pubblicare il vostro server locale.
Trovare queste due dannatissime righe non è stato facile soprattutto per capire la sequenza di catene di ClearOS e i relativi settaggi via WebGUI. Alla fine mi ha aiutato questo link dove si parla di una tecnica completamente diversa il Port Knocking!
Questa è l'unica soluzione trovata finora, se qualcuno ha qualcosa di migliore è pregato di segnalarlo nei commenti.

Byez


Vai avanti, vai avanti e riaccendi la città | e piccola, fai tutto ciò che il tuo cuore desidera | ricorda, sarò sempre lì intorno e so, so | come ti ho già detto migliaia di volte in passato | che tornerai, piccola | perché so | che tornerai bussando | sì, bussando alla mia porta...

Go ahead, go ahead and light up the town | And baby, do everything your heart desires | Remember, I'll always be around | And I know, I know | Like I told you so many times before | You're gonna come back, baby | 'Cause I know | You're gonna come back knocking | Yeah, knocking right on my door...

Nessun commento:

Articoli correlati divisi per etichetta



Widget by Hoctro