Come colpire la rete, parte 2: Proteggi la tua VPN (DD-WRT)

Sommario:

Come colpire la rete, parte 2: Proteggi la tua VPN (DD-WRT)
Come colpire la rete, parte 2: Proteggi la tua VPN (DD-WRT)

Video: Come colpire la rete, parte 2: Proteggi la tua VPN (DD-WRT)

Video: Come colpire la rete, parte 2: Proteggi la tua VPN (DD-WRT)
Video: Costruisci il tuo sito in 30 minuti. GRATIS CON Google Sites (PARTE 1) - YouTube 2024, Aprile
Anonim
Ti abbiamo mostrato come attivare WOL da remoto tramite "Port Knocking" sul tuo router. In questo articolo, mostreremo come utilizzarlo per proteggere un servizio VPN.
Ti abbiamo mostrato come attivare WOL da remoto tramite "Port Knocking" sul tuo router. In questo articolo, mostreremo come utilizzarlo per proteggere un servizio VPN.

Immagine di Aviad Raviv & bfick.

Prefazione

Se hai utilizzato le funzionalità incorporate di DD-WRT per VPN o hai un altro server VPN nella tua rete, potresti apprezzare la possibilità di proteggerlo dagli attacchi di forza bruta nascondendolo dietro una sequenza di colpi. In questo modo, filtrerai gli script kiddies che stanno tentando di accedere alla tua rete. Detto ciò, come affermato nell'articolo precedente, il knockout del porto non sostituisce una buona password e / o politica di sicurezza. Ricorda che con abbastanza pazienza un attaccante può scoprire la sequenza ed eseguire un attacco di replay. Tieni presente, inoltre, che l'aspetto negativo dell'implementazione di questo è che quando qualsiasi client / VPN / VPN desidera connettersi, deve attivare la sequenza dei colpiin anticipo e che se non riescono a completare la sequenza per qualsiasi motivo, non saranno affatto in grado di utilizzare la VPN.

Panoramica

Per proteggere * il servizio VPN, prima disabiliteremo tutte le comunicazioni possibili bloccando la porta di istanziazione del 1723. Per raggiungere questo obiettivo, useremo iptables. Questo perché, è così che la comunicazione viene filtrata sulla maggior parte delle moderne distribuzioni Linux / GNU in generale e sul DD-WRT in particolare. Se desideri maggiori informazioni su iptables checkout la sua voce wiki, e dare un'occhiata al nostro precedente articolo sull'argomento. Una volta che il servizio è protetto, creeremo una sequenza di knock che aprirà temporaneamente la porta di creazione di una VPN e la chiuderà automaticamente dopo un intervallo di tempo configurato, mantenendo la sessione VPN già stabilita.

Nota: in questa guida, stiamo utilizzando il servizio VPN PPTP come esempio. Detto questo, lo stesso metodo può essere utilizzato per altri tipi di VPN, dovrai solo cambiare la porta bloccata e / o il tipo di comunicazione.

Prerequisiti, ipotesi e raccomandazioni

  • Si presuppone / è necessario disporre di un router DD-WRT abilitato per Opkg.
  • Si presume / richiesto che siano già stati eseguiti i passaggi nella guida "Come bussare alla rete (DD-WRT)".
  • Si presume una certa conoscenza di rete.

Lasciamo scoppiare.

Predefinito Regola "Blocca nuove VPN" su DD-WRT

Mentre il frammento di codice sottostante probabilmente funzionerebbe su tutti gli iptables che si rispettano, usando la distribuzione Linux / GNU, perché ci sono così tante varianti là fuori che mostreremo solo come usarlo su DD-WRT. Nulla ti impedisce, se lo desideri, di implementarlo direttamente nella casella VPN. Tuttavia, come farlo, va oltre lo scopo di questa guida.

Poiché vogliamo aumentare il firewall del router, è logico aggiungere lo script "Firewall". In questo modo, il comando iptables può essere eseguito ogni volta che viene aggiornato il firewall, mantenendo così il nostro incremento in vigore per i keep.

Dalla web-GUI di DD-WRT:

  • Vai su "Amministrazione" -> "Comandi".

    Image
    Image
  • Inserisci il "codice" sotto nella casella di testo:

    inline='$( iptables -L INPUT -n | grep -n 'state RELATED,ESTABLISHED' | awk -F: {'print $1'} )'; inline=$(($inline-2+1)); iptables -I INPUT '$inline' -p tcp --dport 1723 -j DROP

  • Clicca su "Salva Firewall".
  • Fatto.

Cos'è questo comando "Voodoo"?

Il comando sopra "magia voodoo" esegue quanto segue:

  • Trova dove si trova la linea iptable che consente il passaggio della comunicazione già stabilita. Lo facciamo, perché A. Sui router DD-WRT, se il servizio VPN è abilitato, si troverà proprio sotto questa linea e B. È essenziale per il nostro obiettivo continuare a consentire alle sessioni VPN già stabilite di continuare a vivere dopo il evento di bussare.
  • Deduce due (2) dall'output del comando listing per tenere conto dell'offset causato dalle intestazioni delle colonne informative. Una volta fatto, aggiunge uno (1) al numero sopra, in modo che la regola che stiamo inserendo arriverà subito dopo la regola che consente la comunicazione già stabilita. Ho lasciato questo semplicissimo "problema di matematica" qui, solo per fare la logica del "perché uno ha bisogno di ridurne uno dal posto della regola invece di aggiungerne uno" chiaro.

Configurazione KnockD

Dobbiamo creare una nuova sequenza di attivazione che consenta di creare nuove connessioni VPN. Per fare ciò, modifica il file knockd.conf emettendo in un terminale:

vi /opt/etc/knockd.conf

Aggiungi alla configurazione esistente:

[enable-VPN] sequence = 02,02,02,01,01,01,2010,2010,2010 seq_timeout = 60 start_command = iptables -I INPUT 1 -s %IP% -p tcp --dport 1723 -j ACCEPT cmd_timeout = 20 stop_command = iptables -D INPUT -s %IP% -p tcp --dport 1723 -j ACCEPT

Questa configurazione:

  • Imposta la finestra di opportunità per completare la sequenza, a 60 secondi. (Si consiglia di tenerlo il più corto possibile)
  • Ascoltare una sequenza di tre colpi sulle porte 2, 1 e 2010 (questo ordine è intenzionale per eliminare gli scanner delle porte fuori traccia).
  • Una volta che la sequenza è stata rilevata, eseguire "start_command". Questo comando "iptables" posizionerà un "accetta traffico destinato alla porta 1723 da cui provengono i colpi" in cima alle regole del firewall. (La direttiva% IP% è trattata appositamente da KnockD e viene sostituita con l'IP dell'origine degli urti).
  • Attendere 20 secondi prima di emettere il "stop_command".
  • Esegui "stop_command". Dove questo comando "iptables" fa il contrario di quanto sopra e cancella la regola che consente la comunicazione.

Questo è tutto, il tuo servizio VPN dovrebbe ora essere collegabile solo dopo un "knock" riuscito.

Autore I consigli di

Mentre dovresti essere tutto pronto, ci sono un paio di punti che sento di dover menzionare.

  • Risoluzione dei problemi. Ricorda che se hai problemi, il segmento "risoluzione dei problemi" alla fine del primo articolo dovrebbe essere la tua prima fermata.
  • Se vuoi, puoi fare in modo che le direttive "start / stop" eseguano più comandi separandoli con un semi-colen (;) o persino uno script. In questo modo ti consentirai di fare qualcosa di carino. Per esempio, ho knockd mandami un * Email che mi dice che è stata attivata una sequenza e da dove.
  • Non dimenticare che "Esiste un'app per questo" e anche se non è menzionato in questo articolo, sei incoraggiato ad afferrare il programma di knocker Android di StavFX.
  • Mentre sul tema di Android, non dimenticare che esiste un client VPN PPTP solitamente integrato nel sistema operativo dal produttore.
  • Il metodo di, bloccare inizialmente qualcosa e quindi continuare a consentire comunicazioni già stabilite, può essere utilizzato praticamente su qualsiasi comunicazione basata su TCP. Infatti, nel Knockd su DD-WRT 1 ~ 6 film, ho fatto un passo indietro quando, ho usato il protocollo desktop remoto (RDP) che usa la porta 3389 come esempio.

Nota: per fare ciò, devi avere la funzionalità Email sul tuo router, che attualmente non ce n'è davvero una che funzioni perché lo snapshot SVN dei pacchetti opkg di OpenWRT è in disarray. Questo è il motivo per cui suggerisco di usare knockd direttamente nella casella VPN che ti consente di utilizzare tutte le opzioni di invio di email disponibili in Linux / GNU, come SSMTP e sendEmail per menzionarne alcune.

Chi disturba il mio sonno?

Consigliato: