Configurare OpenSSH Server in maniera sicura

Installazione, configurazione e uso di Ubuntu come server: web, ftp, mail, news, proxy, dns e altro.
Avatar utente
freddo
Prode Principiante
Messaggi: 100
Iscrizione: sabato 21 aprile 2007, 18:44

Configurare OpenSSH Server in maniera sicura

Messaggio da freddo »

Ciao a tutti ragazzi,

sto creando un piccolo server per divertirmi un po' ed essendo "forte di teoria  :)" ma a corto con la pratica, vi assillerò un po' con tanti piccoli problemucci ma per ora procediamo per gradi. Il mio primo obiettivo è quello di installare openssh server per utilizzare il controllo remoto dagli altri host della rete. Dimenticavo di dirvi che sulla macchina server ho installato ubuntu server 7.10, mentre sulla macchina client (per il momento il client è solo uno) ho installato ubuntu desktop 7.10, Il server è connesso al router della telecom e vorrei renderelo visibile dall'esterno.
La cosa che mi preme è creare un server SICURO (per quanto è possibile), al fine di raggiungere tale obiettivo ho configurato ssh in maniera tale da consentire solo l'autenticazione a chiave pubblica con il client. Ho creato una coppia di chiavi RSA sul client è ho copiato la sua chiave pubblica sul server, come descritto nella guida ufficiale (http://wiki.ubuntu-it.org/InternetRete/ConfigurazioneRete/OpenSsh). Tutto sembra funzionare alla perfezione anche se ho alcuni dubbi: Sul server non ho creato una coppia di chiavi, come fanno le due macchine a comunicare se il server non le possiede? Inoltre vorrei consentire solo gli accessi provenienti dalla rete locale su cui si trova il server, in altre parole non deve essere possibile utilizzare sshserver dall'esterno (internet), il prossimo passo sarà installare un server ftp sicuro per permettere lo scambio di file. Qualcuno sa indicarmi i settaggi per openssh server in maniera tale da renderlo più sicuro possibile, in realtà avrei bisogno di una guida dettagliata in cui apprendere tutte le modalità in cui esso è in grado di funzionare per poter scegliere la migliore secondo l'uso a me più consono.

Grazie mille a tutti
We must know, We will know (D. Hilbert)
Avatar utente
simo_magic
Rampante Reduce
Rampante Reduce
Messaggi: 9496
Iscrizione: lunedì 18 dicembre 2006, 21:37
Località: Piemonte

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da simo_magic »

beh già il fatto di avere un router impedisce(a meno di impostazioni tue manuali come un portforwarding) l'entrata dall'esterno di gente
Avatar utente
freddo
Prode Principiante
Messaggi: 100
Iscrizione: sabato 21 aprile 2007, 18:44

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da freddo »

si questo è vero grazie al NAT, ma non c'è un modo esplicito per "forzare" ssh a non accettare connessioni proveniente dall'esterno?
Stavo leggendo una guida in cui si parla di sftp, un servizio di ftp sicuro fornito da ssh, qualcuno potrebbe delucidarmi un po' sulla questione? Come è possibile condividere file tramite questo servizio? Quanto è sicuro? Grazie mille
We must know, We will know (D. Hilbert)
PaoloVIP
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 819
Iscrizione: venerdì 4 agosto 2006, 14:32
Contatti:

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da PaoloVIP »

freddo ha scritto: ... Ho creato una coppia di chiavi RSA sul client è ho copiato la sua chiave pubblica sul server, come descritto nella guida ufficiale...
freddo ha scritto: ...ho alcuni dubbi: Sul server non ho creato una coppia di chiavi, come fanno le due macchine a comunicare se il server non le possiede?
Ti sei risposto da solo
freddo ha scritto: Inoltre vorrei consentire solo gli accessi provenienti dalla rete locale su cui si trova il server...
C'e una impostazione nel file di configurazione /etc/ssh/sshd_config :

Codice: Seleziona tutto

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
ciao
monossido
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 708
Iscrizione: sabato 7 ottobre 2006, 16:35
Località: Padova
Contatti:

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da monossido »

attenzione che la telecom non dà router...dà router castrati a modem quindi le porte non sono chiuse!
http://www.lorenzobraghetto.com <--blog
monossido AT lorenzobraghetto.com <--jabber/mail
https://twitter.com/monossido
Avatar utente
Mr. Beezns
Prode Principiante
Messaggi: 136
Iscrizione: martedì 13 febbraio 2007, 18:52
Contatti:

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da Mr. Beezns »

se vuoi impedire l'ingresso dall'esterno sulla porta 22, cioè quella di ssh dopvresti impostare alcune regole sul fw.

mettiamo il caso che la tua rete sia del tipo 192.168.1.0/24

Codice: Seleziona tutto

-A INPUT -s ! 192.168.1.0/24 -p tcp --dport 22 -j DROP
questa regola dice al firewall di droppare in ingresso tutte le connessioni provenenti da una rete diversa dalla tua sulla porta 22

potresti anche filtrare ssh chiudendo completamente la porta ed abilitando solo alcuni ip o intervalli di essi.

Ma prima di fare tutto ciò dovresti acquisire un po di conoscenze sul tcp/ip, sul firewalling e su iptables
IL SAGGIO COLTIVA LINUX, WINDOWS SI PIANTA DA SOLO.
UBUNTU 7.10 on HP Pavilion dv6635el
DEBIAN 4.0 r1 on HP ProLiant ML370 G5 QUADCORE
Avatar utente
freddo
Prode Principiante
Messaggi: 100
Iscrizione: sabato 21 aprile 2007, 18:44

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da freddo »

Ho capito perfettamente, non avevo pensato ad impostare una policy per il firewall. Per quanto riguarda le conoscenze sono ok, ho deciso di creare questo server proprio per dargli un riscontro pratico e a volte sono un po' annebbiato. Grazie mille per aver risposto, in modo esemplare, ai miei dubbi.

Un ultima domanda: nessuno sa dirmi qualcosa su sftp? se è sicuro o meno, come conviene settarlo ecc.. Grazie ancora
We must know, We will know (D. Hilbert)
Avatar utente
Mr. Beezns
Prode Principiante
Messaggi: 136
Iscrizione: martedì 13 febbraio 2007, 18:52
Contatti:

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da Mr. Beezns »

(good) piacere di essere stato utile.

Per sftp ti ricordo che è un protocollo di rete che permette il trasferimento e la manipolazione dei file; chiaramente capischi bene che è basato esattamente su ssh, infatti l'acronimo è ssh file transfer protocol, quindi ha tutte le caratteristiche di quest'ultimo; il linea estremamente generale potrebbe essere considerato quasi un file system di rete.

Il protocollo sftp non prevede autenticazione o sicurezza che sono demandate al protocollo ssh; possiamo considerare sftp il sistema principale ed ssh un sottosistema di esso.

Tutte le funzionalità di autenticazione, crittazione, trasferimento e manipolazione dei file, sono sottosistemi di sftp.

E' un'ottimo protocollo ma vorrei sapere meglio di cosa hai bisogno, qual'è il risultato che vuoi raggiungere e quali sono le macchina che devono trasferire i file; potrei darti molto aiuto su questo.  ;)
IL SAGGIO COLTIVA LINUX, WINDOWS SI PIANTA DA SOLO.
UBUNTU 7.10 on HP Pavilion dv6635el
DEBIAN 4.0 r1 on HP ProLiant ML370 G5 QUADCORE
Avatar utente
freddo
Prode Principiante
Messaggi: 100
Iscrizione: sabato 21 aprile 2007, 18:44

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da freddo »

Mr. Beezns come prima cosa vorrei ringraziarti infinitamente per la disponibilità che mi stai offrendo  :), ora ti spiego subito cosa vorrei fare con il mio serverino.

L'idea è quella di "telecontrollarlo" tramite un pc della rete locale ma non escludo che in futuro potrei decidere di estendere tale funzionalità anche ad utenti provenienti fuori dalla rete locale (internet).Vorrei utilizzarlo come server ftp sicuro visibile a tutti ma utilizzabile solo da un utente, vivo a roma per motivi di studio e mi fa comodo "uplodare" o "downloadare" file su di esso, inoltre vorrei installarci un webserver amule ed infine vorrei, come ultima cosa, installare apache come Web server e divertirmi un po' creando servlet java. Sono un appassionato di sicurezza e lo scopo principale di questa esperienza è imparare a proteggere come si deve un server, so benissimo che la strada è lunga anzi lunghissima, proprio per questo voglio iniziare fin da subito a "smanettare" per apprendere tutti gli aspetti pratici che la caratterizzano. Qualsiasi consiglio, critica o altro è per tanto ben accetta. Putroppo non dispongo di molte risorse, ti basti pensare che il server sarà collegato al router telecom a cui sono connessi gli altri 2 pc della rete locale. In teoria so benissimo che dovrei disaccoppiare le due con un firewall hardware ma al momento non mi è possibile farlo, sicuramente le cose cambieranno in futuro ma per ora devo accontentarmi.

In ogni caso grazie infinite per tutto.
Un salutone Freddo
We must know, We will know (D. Hilbert)
PaoloVIP
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 819
Iscrizione: venerdì 4 agosto 2006, 14:32
Contatti:

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da PaoloVIP »

Dai una occhiata anche a MLDonkey, io lo uso da tempo e mi trovo bene. Comunque che usi Amule o MLDonkey non lo metterei sullo stesso server FTP o WEB o qualsivoglia altro server "serio", in quanto a mio avviso e per definizione, ti porterà delle falle alla sicurezza. Io ho configurato i firewall dei miei 2 router e le regole che mi servono con iptables (proteggo così i server "seri") e su una porta in DMZ ho messo il serverino MLDonkey con una interfaccia lan verso il router e una protetta verso la subnet che mi serve. Per le risorse... il serverino MLDonkey è un vecchio PIII 1000 con 256 RAM e un disco da 250 GB. Roba da pattumiera.

Ciao
Ultima modifica di PaoloVIP il venerdì 28 dicembre 2007, 15:06, modificato 1 volta in totale.
Avatar utente
Mr. Beezns
Prode Principiante
Messaggi: 136
Iscrizione: martedì 13 febbraio 2007, 18:52
Contatti:

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da Mr. Beezns »

Cerco di essere chiaro e soprattutto breve:

Punto 1:
L'idea è quella di "telecontrollarlo" tramite un pc della rete locale ma non escludo che in futuro potrei decidere di estendere tale funzionalità anche ad utenti provenienti fuori dalla rete locale (internet).
Per la gestione da remoto credo che non ci siano problemi e se le macchine remote sono client win hai a disposizione infiniti strumenti per loggarti sul server e fare ciò che vuoi; ti consiglio di utilizzare putty, un ottimo client ssh, come terminale. Se vuoi un'amministrazione meno geek allora puoi utilizzare webmin, uno strumento basato su piattaforma web (chiaramente devi installare un webserver, ma questo lo vediamo dopo)
L'accesso alla macchina lo regolerai come meglio ritieni opportuno, configurando sshd, il router ed il firewall(anche questo lo vediamo dopo), per webmin in particolare puoi decidere, sia in fase di installazione sia dopo, chi puoi loggarsi a livello ip o range di ip, a livello di utenti ed a livello di lan o fuori.

Punto 2:
Vorrei utilizzarlo come server ftp sicuro visibile a tutti ma utilizzabile solo da un utente
Questo non mi è ben chiaro ... come chiedevi qualche post fa in merito a sftp, ti ricordo che il protocollo sftp viene utilizzato lato client, nel senso che non è necessario che sul server sia installato un ftp-server, in quanto utilizzi il protocollo ssh; qundi a questo punto, prima chiarisci bene le idee, decidi se vuoi utilizzare un client sftp, oppure vuoi installare e configurare il tuo server come server ftp, a questo punto sftp ti serve a poco.
Nel caso in cui vuoi evitare la seconda scelta, ti ricordo che con sftp ti devi loggare con un utente quindi puoi settare i permessi, la home, i privilegi come meglio ritieni opportuno; chiaramente ssh terrà conto di tutto ciò l'utente che si autenticheà sul server potrà fare esclusivamente ciò che tu hai deciso. inutile dirti che loggandoti da root fai ciò che vuoi.

Punto 3:
vorrei installarci un webserver amule
Per questo non credo tu abbia alcun problema, ti ricordo, anche per gli altri punti, che hai a disposizione il wiki di ubuntu, oltre che infinite guide in rete su linux, debian e ubuntu. Ti confesso che non mi interessa molto il p2p e tutti i sistemi x-mule ...

Punto 4:
installare apache come Web server e divertirmi un po' creando servlet java
Nulla di più facile, credo che tu sappia benissimo come si installano i pacchetti, inoltre se dovessi avere problemi sull'installazione / configurazione, oltre alle varie guide ed al wiki ;) , non hai che da chiedere o aprire un topic ed io oppure altri membri della community ti verranno in aiuto.

Detto ciò procedi passo passo e fammi sapere.
IL SAGGIO COLTIVA LINUX, WINDOWS SI PIANTA DA SOLO.
UBUNTU 7.10 on HP Pavilion dv6635el
DEBIAN 4.0 r1 on HP ProLiant ML370 G5 QUADCORE
Avatar utente
freddo
Prode Principiante
Messaggi: 100
Iscrizione: sabato 21 aprile 2007, 18:44

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da freddo »

Per quanto riguarda il punto 1 hai risposto in maniera più che esaustiva alle mie richieste. Inizialmente utilizzerò la shell e putty (se dovessi interagire con il server da windows), poi un "domani" se mi farà comodo creare un'interfaccia user friendly installerò webmin come mi hai consigliato.

Per quanto riguarda la scelta numero due credo che seguirò il tuo consiglio, ossia configurare il server in maniera tale da farlo funzionare come server ftp. Escluderei la prima scelta per motivi di sicurezza come tu stessi consigli In meritò a ciò avrei bisogno di una mano in quanto non so quale applicativo installare per fornire tale servizio.

Per quanto riguarda il server x-mule vorrei controllarlo SOLO tramite la rete interna, ossia non deve essere visibile dall'esterno. Questo se non sbaglio non dovrebbe essere un grosso problema.

Come ultimo punto rimane il webserver ma questo lo rimanderei, come prima cosa mi interessano i due punti sopra citati inoltre non credo che avrò grossi problemi ad installarlo, ma come si dice in questi casi: "mai dire mai!"  ;D

P.s.

Qualcuno sa dirmi come settare il server DNS su ubuntu server 7.10?
Le guide dicono di inserire la stringa "nameserver Ipserver" nel file /etc/resolv.conf, ma quest'ultimo sulla mia macchina non esiste?

Devo forse installare bind tramite il comando

Codice: Seleziona tutto

sudo apt-get install bind9
in tal caso come devo procedere una volta installato tale pacchetto?

Grazie ancora  tutti
We must know, We will know (D. Hilbert)
Avatar utente
Mr. Beezns
Prode Principiante
Messaggi: 136
Iscrizione: martedì 13 febbraio 2007, 18:52
Contatti:

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da Mr. Beezns »

strano, devi avere per forza /etc/resolv.conf
IL SAGGIO COLTIVA LINUX, WINDOWS SI PIANTA DA SOLO.
UBUNTU 7.10 on HP Pavilion dv6635el
DEBIAN 4.0 r1 on HP ProLiant ML370 G5 QUADCORE
Avatar utente
freddo
Prode Principiante
Messaggi: 100
Iscrizione: sabato 21 aprile 2007, 18:44

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da freddo »

No ti assicuro che non c'è
We must know, We will know (D. Hilbert)
Avatar utente
simo_magic
Rampante Reduce
Rampante Reduce
Messaggi: 9496
Iscrizione: lunedì 18 dicembre 2006, 21:37
Località: Piemonte

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da simo_magic »

freddo ha scritto: No ti assicuro che non c'è
crealo tu allora...è un normalissimo file di testo...

sudo nano/gedit/quellochetepare /etc/resolv.conf
Avatar utente
Mr. Beezns
Prode Principiante
Messaggi: 136
Iscrizione: martedì 13 febbraio 2007, 18:52
Contatti:

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da Mr. Beezns »

come sopra ....

nameserver ipserverprimario
nameserver ipserversecondario
IL SAGGIO COLTIVA LINUX, WINDOWS SI PIANTA DA SOLO.
UBUNTU 7.10 on HP Pavilion dv6635el
DEBIAN 4.0 r1 on HP ProLiant ML370 G5 QUADCORE
Avatar utente
freddo
Prode Principiante
Messaggi: 100
Iscrizione: sabato 21 aprile 2007, 18:44

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da freddo »

Ragazzi ho creato il file, ho inserito la stringa

Codice: Seleziona tutto

nameserver 192.168.0.51
ma le cose continuano a non funzionare. Come mai?
We must know, We will know (D. Hilbert)
Avatar utente
simo_magic
Rampante Reduce
Rampante Reduce
Messaggi: 9496
Iscrizione: lunedì 18 dicembre 2006, 21:37
Località: Piemonte

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da simo_magic »

freddo ha scritto: Ragazzi ho creato il file, ho inserito la stringa

Codice: Seleziona tutto

nameserver 192.168.0.51
ma le cose continuano a non funzionare. Come mai?
metti questi 2 ip al posto del tuo
208.67.222.222
208.67.220.220

vediamo se va con quelli
Avatar utente
freddo
Prode Principiante
Messaggi: 100
Iscrizione: sabato 21 aprile 2007, 18:44

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da freddo »

Sei un grande!! Ora tutto sembra funzionare alla perfezione.  :)
So di essere uscito fuori topic alla grande ma posso chiederti solo un ultima cosa?
Come faccio a rendere effettive tali modifiche in maniera tale da non doverle inserire ad ogni nuovo avvio della macchina?

Codice: Seleziona tutto

sudo iptables -t nat -A POSTROUTING -o ath0 -j MASQUERADE
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Giuro che questa è l'ultima cosa  (ot) che chiedo.
Grazie mille a tutti
We must know, We will know (D. Hilbert)
Avatar utente
simo_magic
Rampante Reduce
Rampante Reduce
Messaggi: 9496
Iscrizione: lunedì 18 dicembre 2006, 21:37
Località: Piemonte

Re: Configurare OpenSSH Server in maniera sicura

Messaggio da simo_magic »

freddo ha scritto: Sei un grande!! Ora tutto sembra funzionare alla perfezione.  :)
So di essere uscito fuori topic alla grande ma posso chiederti solo un ultima cosa?
Come faccio a rendere effettive tali modifiche in maniera tale da non doverle inserire ad ogni nuovo avvio della macchina?

Codice: Seleziona tutto

sudo iptables -t nat -A POSTROUTING -o ath0 -j MASQUERADE
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Giuro che questa è l'ultima cosa  (ot) che chiedo.
Grazie mille a tutti
ce l'hai con quelle che hai postato o con i miei dns?
Scrivi risposta

Ritorna a “Ubuntu su server”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 6 ospiti