porta ssh in avanti per accedere al mio computer di casa da qualsiasi luogo


24

Vengo da questa domanda: /superuser/359799/how-to-make-freebsd-box-accessible-from-internet

Voglio capire l'intero processo di port forwarding.

Ho letto tante cose, ma non riesco a capire il concetto basilare di port forwarding stesso.

Quello che ho:

un server freebsd seduto a casa mia.
router netgear

Questo è ciò che sto cercando di ottenere:

per poter accedere al server freebsd da un computer Windows su Internet per poter aprire un browser Web e accedere a Internet.

Voglio anche accedere a questo box freebsd da una macchina Ubuntu che ho.

Sarebbe bello se qualcuno potesse aiutarmi, per favore.

Ecco la configurazione del router netgear che ho fatto per il port forwarding.

port forwarding di netgear


Si prega di migrare se questa è una superuserdomanda.
hari,

Hai bisogno di qualche chiarimento in più. Se la macchina Windows è da qualche parte su Internet e ha già accesso a Internet, perché vuoi connetterti alla casella FreeBSD a casa per accedere a Internet?
OldTimer,

@OldTimer: Non sono sicuro di quanto sia rilevante la tua domanda / preoccupazione.
hari,

Usa indirizzi ipv6, niente NAT più, niente più problemi ;-)
Stéphane Gimenez,

1
Aspettare! ho appena detto che : - /
Stéphane Gimenez il

Risposte:


47

Inizierò con i fatti grezzi:

  1. Hai: A- la tua scatola di FreeBSD, B- il tuo router e C- qualche macchina con accesso a Internet. Ecco come appare:

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
    \_________ ________/
              v
               `- this is your LAN
    

    Nota come funziona normalmente il tuo router : consente le connessioni dalle macchine della tua LAN a Internet (semplicemente parlando). Quindi, se A(o qualsiasi altra macchina su LAN) vuole accedere a Internet, sarà permesso (di nuovo, solo parlando di comprensione e configurazione di base):

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
          `-->----'  `--->--->---^  
    

    E per impostazione predefinita non è consentito:

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
          `--<----'  `---<--- - - - - --<---<-----'
    

    (Cioè, il router protegge le macchine della tua LAN dall'accesso da Internet.) Nota che il router è l'unica parte della tua LAN vista da Internet 1) .

  2. Il port forwarding è ciò che consente il terzo schema. Ciò consiste nel dire al router quale connessione da C2) dovrebbe andare a quale macchina sulla LAN. Questo viene fatto in base ai numeri di porta - ecco perché si chiama port forwarding . Si configura ciò indicando al router che tutte le connessioni provenienti da una determinata porta da Internet dovrebbero passare a un determinato computer sulla LAN. Ecco un esempio per la porta 22 inoltrata alla macchina A:

    .------.     .-------.                        .-----.
    |  A   | ==  |   B   |  - - ( Internet ) - -  |  C  |
    |      |     |       |                        '-----'
    '-|22|-'     ',--|22|'                          |
        `--<-22---'    `---<---- - - - - - --<-22---'
    
  3. Tali connessioni tramite Internet avvengono in base a indirizzi IP. Quindi una rappresentazione un po 'più precisa dell'esempio sopra sarebbe:

    .------.      .-------.                                .-----.
    |  A   |  ==  |   B   | - - - - - ( Internet ) - - - - |  C  |
    |      |      |       |                                '-----'
    '-|22|-'      ',--|22|'                                   |
        `--<-A:22--'    `--<-YourIP:22 - - - - --<-YourIP:22--'
    

    Se non si dispone di una connessione Internet con un IP statico , è necessario conoscere in qualche modo quale IP è attualmente assegnato al router dall'ISP. Altrimenti, Cnon saprà a quale IP deve connettersi per accedere al router (e, inoltre, a A). Per risolvere questo in modo semplice, è possibile utilizzare un servizio chiamato DNS dinamico . Ciò indurrebbe il tuo router a inviare periodicamente informazioni a un server DNS speciale che terrà traccia del tuo IP e ti fornirà un nome di dominio . Esistono alcuni provider DNS dinamici gratuiti. Molti router sono dotati di opzioni di configurazione per contattarli facilmente.

1) Questa è, ancora una volta, una semplificazione - il dispositivo reale che viene visto su Internet è il modem - che spesso può essere integrato con il router, ma potrebbe anche essere una scatola separata.
2) o qualsiasi altra macchina con connessione a Internet.


Ora per quello che vuoi:

  1. Consentire semplicemente l'accesso ssh al proprio computer da Internet è una cattiva idea. Ci sono migliaia di bot installati dai cracker che cercano su Internet macchine con porta SSH aperta. In genere "bussano" alla porta SSH predefinita di quanti più IP possono e una volta trovato un demone SSH in esecuzione da qualche parte, cercano di ottenere l' accesso bruteforce alla macchina. Questo non è solo un rischio di potenziale irruzione, ma anche di rallentamenti della rete mentre la macchina viene rinforzata.

  2. Se hai davvero bisogno di tale accesso, dovresti almeno

    • assicurare che si dispone di forti password per tutti gli account utente,

    • non consentire l'accesso root su SSH (puoi sempre accedere come utente normale e / suo sudopoi),

    • cambiare la porta predefinita su cui verrebbe eseguito il server SSH,

    • introdurre un meccanismo per impedire numerosi tentativi di accesso a SSH (con tempi di attesa eccessivi per i tentativi successivi - non ricordo come si chiama esattamente - l'ho abilitato qualche tempo fa su FreeBSD e ricordo che era abbastanza facile - prova cercando in alcuni forum di FreeBSD ecc. su come proteggere SSH e lo troverai.)

    • Se possibile, prova a eseguire il demone ssh solo quando sai che accederai alla macchina in un prossimo futuro e poi spegnilo

  3. Abituati a consultare i log di sistema. Se si inizia a notare qualcosa di sospetto, introdurre meccanismi di sicurezza aggiuntivi come tabelle IP o bussare alle porte .


10
Votato per bontà ascii ...
jasonwryan,

Grazie per la spiegazione dettagliata. Lo digerirò tra poco e commenterò di nuovo.
hari,

Ho capito perfettamente il tuo punto. La mia domanda è: ho configurato (giusto o sbagliato - non sono sicuro) il mio router netgear. Quale prossimo devo fare?
hari,

2
Dai un'occhiata alla mia modifica (in basso) sull'accesso SSH esterno.
rozcietrzewiacz,

Grazie per l'informazione. Ho quello che stai cercando di trasmettere. La mia domanda è: cosa devo fare in modo che chiunque (che abbia accesso) su Internet possa ad esempio eseguire il browser su freebsd box. Come lo installo?
hari,

3

Ci sono un paio di modi per farlo. Il più semplice è probabilmente quello di impostare ciò che è noto come DMZ. Il modo più sicuro, tuttavia, è sul router per impostare un percorso statico sulla porta 22 verso l'IP del server.

risorse:


Grazie. Ho fatto la parte sul router netgear: ho impostato il portforwarding in questo modo: servizio: porta HTTP: 80 server ip: 192.168.1.16 - qui questo ip è l'ip della mia casella freebsd. Cosa dovrei fare dopo?
hari,

Imposta un test dall'esterno della tua posizione, io personalmente collego il mio telefono al mio laptop e provo a cercare il mio indirizzo IP. Suppongo che tu conosca il tuo indirizzo IP esterno. Oppure puoi provare a visitare il tuo server web.
Segna D il

SSH non funziona con il mio IP esterno. Devo fare qualcosa sul mio server freebsd?
hari,

Puoi SSH dalla tua rete interna?
Marco D,

Sì. Posso farcela
hari,

1

Questo può essere fatto dal tuo router. Su alcuni router questa funzione è chiamataVirtual Server

Vedi nella parte inferiore dell'immagine ci sono due esempi di port forwarding. Uno è di Web e un altro è di SSH. Nel primo caso qualsiasi richiesta sull'IP WAN, ad esempio l'IP del router con porta, 80verrà inoltrata a un IP LAN ( 192.168.2.4in questo caso)
Con questa funzione è possibile ottenere servizi in esecuzione sul PC / server in esecuzione in LAN da qualsiasi parte del mondo cioè quei servizi non sono limitati alla LAN
Port forwarding o server virtuale su un router

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.