iptables blocca il server https

Ho la massima fiducia in iptables, eccetto quando mi chiude fuori dai server https che funzionavano come un orologio da anni.

Dopo aver riconfigurato i domini per essere accessibili con https, per un lungo periodo tutto è andato a meraviglia, fino a che ad un certo punto il sistema ha smesso di funzionare.

Non si riusciva più ad accedere a nulla.

Dopo una lunga serie di prove infruttuose, confuso da messaggi di errore dovuti a qualche aggiornamento che nel tempo è stato fatto, alla fine mi sono indirizzato verso iptables.

Ho voluto provare a vedere se il problema era generato da iptables, ho fermato il servizio e i domini erano diventati di nuovo accessibili. Verificato che il problema era quello ho ripristinato iptables e analizzato il problema dove era stato causato.

Test spegnimento iptables

Alcuni passaggi per effettuare il test. Spengo il sevizio, eseguo il test da un browser remoto, riattivo il servizio.

Nello spegnere il servizio iptables, prima faccio un save delle regole attuali, in modo da poterle ripristinare.

$ service iptables save
$ service iptables stop

# test con il browser remoto

$ service iptables start

Il test con il browser ha evidenziato che senza il blocco di iptables tutto era nuovamente accessibile.

Whats appened???

Il server era attivo da quasi un anno senza problemi. Che cosa può essere successo?

Mi è venuto in mente che pochi giorni prima per una manutenzione il server era stato riavviato. Il problema è nato tutto da li. Probabilmente quando ho fatto le ultime modifiche alle iptables, poi non le avevo salvate, quanto è stata riavviata, la macchina ha caricato la configurazione precedente senza le regole per la porta ssl 443.

Modificate le regole con la correzione per la porta tutto ha ripreso a funzionare.

Sistemare iptables

Per sistemare la configurazione servono alcuni passaggi:

  • salvare le regole in un file editabile
  • inserire la regola al punto giusto
  • caricare le regole modificate
  • fare un test.

Se tutto è andato bene fare un salvataggio della configurazione per il reload al riavvio del server.

#creo il file con le regole da editare
$ iptables-save > regole

#edito le regole su una copia
$ cp regole newregole
$ vi newregole

#ricarico le regole corrette
$ iptables-restore < newregole

#controllo la presenza delle modifiche
$ iptables -L

controllo che i servizi che prima non accedevano siano ora raggiungibili. Se tutto è andato apposto, posso concludere con l’operazione che probabilmente l’altra volta ho saltato, generando tutto il casino di queste ore alacremente perse ad elencare personaggi del calendario.

#salvo la configurazione da caricare al riavvio
$ service iptables save

Tutti i comandi precedenti vanno eseguiti con i permessi di root o con un utente che abbia le corrette abilitazioni sudo.

Leave a Comment

Your email address will not be published. Required fields are marked *