[Parte III] Installazione serverino personale: configurazione server ssh, server ftp e installazione di webmin
by giopas on Jun.03, 2007, under Linux
Eccoci all’ultima puntata della nostra installazione casalinga.
Ora parleremo di alcuni piccole configurazioni importantissime: configurare l’accesso al server tramite ssh, permettere il lancio del serverX da remoto, configurare il nostro server ftp ed installare webmin.
1. root ed ssh
Basta editare il file /etc/ssh/sshd_config aggiungendo le seguenti righe:
PermitRootLogin no
AllowUsers giopas
DenyUsers root
Basterà un semplice /etc/init.d/sshd restart ed il gioco sarà fatto. Ora un malintenzionato deve: 1. entrare nella nostra rete di Hamachi (nome rete + password) 2. conoscere il nostro nome utente e la password 3. conoscere la password di root… semplice no?
2. lanciare il serverX da ssh
Se provate a lanciare il comando “$ startx” da locale, come abbiamo detto nella prima puntata, non avrete alcun problema a veder comparire il vostro rassicurante desktop. Tuttavia, se lancerete lo stesso comando da remoto, otterrete un semplice… errore!
Ecco un piccolo workaround:
# nano /etc/X11/Xwrapper.config
E cambiare il termine “console” con “anybody”. Semplice ed indolore!
3. configurare il server ftp
Se è vero che il nostro server è ad uso esclusivo casalingo, è anche vero che ad esempio potrei voler lasciar accedere al mio server anche qualche amico fidato tramite ftp.
Per far ciò, prima di tutto creo sul server (questa volta) una nuova rete hamachi (es. giopas-amici), poi creo un utente virtuale sul mio serverino e configuro la nuova home dell’utente (es. host) come cartella di accesso predefinita.
Ecco come fare:
a) aggiungo ad /etc/shells l’opzione seguente “/bin/false”
# echo "bin/false" >> /etc/shells
b) creo un nuovo utente con nome “host”, home “host”, password “host”, shell “/bin/false” e gruppo “host”
useradd host -p host -d /home/ftp -s /bin/false -u 1002 -g host
Se per caso il comando non andasse, usare l’interfaccia grafica
c) creare due cartelle nella nuova home dell’utente virtuale “host” ovviamente da root:
# mkdir /home/ftp/download
# mkdir /home/ftp/upload
# chmod -R 755 /home/ftp/download/
# chmod -R 777 /home/ftp/upload/
d) configuro ora il nostro server ftp editando /etc/proftp.conf ed aggiungendo le linee seguenti
## VALID LOGINS
AllowUser giopas
AllowUser host
DenyALL
### Lock ftphost in his home directory (but not giopas)
DefaultRoot ~ host, !giopas
In questo modo, connettendosi al server ftp con l’utente “host” potrò vedere solo il contenuto della sua home, mentre connettendosi al server ftp con il proprio nome utente (nel mio esempio, giopas) potrò accedere a tutto il file system.
3. installazione di webmin
Per concludere la nostra piccola guida, vedremo come installare webmin, utilissima interfaccia di gestione di tutte le impostazioni del server, tramite pratica interfaccia browser.
a) scaricare il file .deb da questo indirizzo (per alcuni problemi di sicurezza e – se mi ricordo bene – di policy, non troverete il pacchetto nelle repository ufficiali di Debian).
$ wget http://puzzle.dl.sourceforge.net/sourceforge/webadmin/webmin_1.350_all.deb
b) Una volta installato, eseguite da root un semplice “dpkg -i webmin_1.350_all.deb” ed installate anche tutte le librerie collegate.
c) Ora potrete accedere a webmin all’indirizzo e porta (es: https://localhost:8000) riportati dal terminale!
d) ultima cosa: visto che abbiamo aperto un nuovo servizio/porta sul nostro server, ricordiamoci di aggiungere una regola allo script di iptables che abbiamo creato la volta precedente:
echo "### blocco ogni connessione da eth0 verso la porta 8000 (webmin)" >> /etc/network/if-up.d/regole_iptables_avvio ;
echo "iptables -I INPUT -i eth0 -p tcp --dport 8000 -j DROP" >> /etc/network/if-up.d/regole_iptables_avvio
La stessa cosa si sarebbe potuta fare anche da webmin stesso
Ecco pronto il nostro leggerissimo server: sicuro e del tutto configurabile.

June 25th, 2007 on 6:14 PM
Bravissimo… e… funziona!!