Accesso remoto a una macchina Linux dietro un firewall

Stavo installando una macchina Linux come una sorta di terminal pubblico in una postazione remota. Vorrei poterlo accedere in remoto via SSH per la manutenzione ma non voglio mantenere una port aperta sul firewall remoto per le rare occasioni di cui ho bisogno per accedere a questa macchina. Ho però un semplice script per creare un tunnel di SSH inverso per una macchina all'esterno, ma preferisco non avere bisogno di un utente di fare qualunque cosa quando ho bisogno di accedervi. Qualche idea?

Aggiornamento: Ho deciso di andare con il mio piano originale di uno script per creare un tunnel di inversione ssh. Mentre altre soluzioni suggerite, come il bussare alla port, sarebbero più in linea con quello che voglio veramente fare, in questo caso non ho alcun accesso alla configuration del router, tranne che camminare un utente attraverso una configuration. brivido

  • Come posso interrompere FFMPEG?
  • Quale è il modo corretto per riavviare Solr
  • In, IPTables, qual è la differenza tra queste due regole?
  • In Linux, come posso vedere come un process è un file?
  • Quanti e quali partizioni dovrei creare per un server linux?
  • La partizione richiesta per il filesystem ext4?
  • 8 Solutions collect form web for “Accesso remoto a una macchina Linux dietro un firewall”

    Essa ha less a che fare con un porto aperto e più a che fare con non voler camminare per un utente, anche se il process di apertura di un porto. Non ho alcun accesso a questo router purtroppo.

    Se cambiare il router è completamente fuori questione, potrebbe essere necessario guardare una soluzione P2P o VPN come Hamachi . Se si installa il sistema per stabilire automaticamente la connessione VPN all'avvio, è necessario connettersi all'accensione. Hamachi fa tutta la negoziazione del firewall per te. L'unico inconveniente è che si deve fare affidamento sui server Hamachi che sono in function e funzionali quando è necessario collegarsi.

    Se si dispone di un server sempre in su, è ansible impostare autossh in modo che il sistema remoto mantenga sempre un tunnel aperto e connessa al server. L'unico inconveniente è che il sistema remoto è compromesso che l'attaccante otterrà le chiavi che vengono utilizzate per stabilire la session ssh. Sarebbe molto importnte mantenere il sistema che accetta la connessione ssh veramente bloccata.


    Sotto è la mia risposta originale, avevo supposto che l'aggiornamento del router fosse un'opzione.

    Una soluzione che si potrebbe desiderare di indagare se il firewall lo support, è la port bussa . Con alcuni firewall dovrebbe essere ansible submit un insieme speciale di pacchetti che il firewall nota e quindi apre temporaneamente il foro attraverso il firewall.

    Ci sono molte implementazioni meglio di altre. Alcuni utilizzano una forte crittografia per rendere quasi imansible una persona senza le chiavi giuste per submit il colpo corretto.

    Non mi preoccuperei di lasciare la port 22 accessibile a Internet, ma avrei preso alcuni passi per assicurarlo.

    Innanzitutto, distriggersre l'authentication intertriggers della tastiera e passare ai tasti ssh.

    In secondo luogo, installare qualcosa come fail2ban sul tuo server remoto agli indirizzi IP blackball che ripetutamente sonda la tua macchina. Poiché si dispongono di chiavi ssh di configuration, gli utenti autorizzati non dovrebbero avere problemi di authentication.

    In alternativa, se si è in grado, prendere WerkkreWs consulenza e configurare il firewall di fronte alla macchina per interrompere una connessione vpn, quindi solo consentire al demone ssh sul server remoto di accettare le connessioni che vengono in quel vpn.

    In alternativa, se il firewall non è in grado di interrompere la connessione vpn, è ansible inoltrare i pacchetti GRE o IPSEC alla macchina Linux e terminare lì.

    Sembra che stai cercando un cazzo

    È ansible installarlo sul server Linux stesso, con iptables in modo che sia un tipo di firewall di secondo livello. Anche con la port 22 aperta sul frontend firewall, non sarebbe aperta sul server, in modo che i portscans non vedessero nessuna port aperta. Poi quando mandate il "colpo segreto", all'improvviso hai un path aperto alla port 22.

    Ha senso questo?

    Riassumendo tutte le risposte:

    usare ssh, ma renderlo più oscuro e sicuro.

    Per sicurezza:

    • Assicurarsi che il login di root non sia consentito (PermitRootLogin no).
    • Limitare gli utenti che possono accedere tramite l'opzione AllowUsers o AllowGroups.
    • Assicurarsi che utilizzi solo 2 protocollo versione ssh (protocollo 2).
    • È consigliabile utilizzare solo chiavi di authentication, ma la password è più conveniente, quando può essere necessario collegarsi al server da una vacanza in cui non è ansible accedere a chiavi di authentication.

    Per oscurità:

    • Cambiare la port ssh ad una port ad alta random che si ricorderebbe, come 20486. Questo potrebbe sbarazzarsi della maggior parte dei bruteforcer automatici, ma non la hidebbe da tutte le scansioni di port sul server.
    • Nascondere la capacità di connettersi alla port. Un modo è bussare alla port menzionato in altre risposte, ma avete bisogno di software speciale, che non può essere accessibile ovunque. Un'altra opzione semplice è quella di utilizzare il firewall iptables con il module più recente per creare una regola che consentirà di connettersi solo al secondo o al terzo tentativo. Così sai che devi provare più volte per connettersi con successo, ma la semplice scansione di tutti i porti non rivelerebbe la port ssh. Le regole sarebbero simili a quelle:

    iptables -A INPUT -m tcp -p tcp --dport 20486 -m state --state NEW -m recent --set iptables -A INPUT -m tcp -p tcp --dport 20486 -m state --state NEW -m recent --rcheck --seconds 60 --hitcount 2 -j ACCEPT iptables -A INPUT -m tcp -p tcp --dport 20486 -j DROP 

    Operazione pianificata lo script per il tunnel ssh di inversione o aprire la port firewall.

    Se sei preoccupato per il fatto che SSH sia aperto al mondo, puoi pianificare l'attività quando il periodo di manutenzione con script iptables e solo avere la port disponibile.

    Guarda il botto di port per aprire il tunnel SSH.

    Inoltre, eseguire denyhosts per bloccare le persone dopo troppe richieste male.

    Entrambi i pacchetti sono disponibili nei repository standard Ubuntu, Fedora e RHEL.

    Vai avanti e apri una port, fai solo uno fuori dalla gamma normale. Lo farei un porto random più di 1024. In questo modo gli hacker sarebbero improbabili nemless a cercarlo.

    Nessuna ragione per non far nascere il foro nel firewall se hai bisogno di accedere alla macchina a distanza, anche se raramente.

    Tuttavia, se si preferisce ancora non aprire la port, uno script semplice di shell potrebbe monitorare una risorsa disponibile su Internet che controlli e ascoltate per avviare il tunnel inverso. Gli account di posta elettronica, i canali IRC e le pagine web vengono immediatamente in mente come dispositivi di trigger.

    Naturalmente, questo è molto più fragile e less sicuro di quanto non sia solo l'apertura del porto. Ma sono sicuro che tu abbia le tue ragioni.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.