PrettyPrint JavaScript

mercoledì 22 settembre 2010

Configurazione di OpenSSH su Ubuntu Server 10.04 da Riga di Comando

In questo articolo vedremo come installare e configurare un server SSH.

Il server SSH ci permette di effettuare dei login remoti alla macchina virtuale presentandoci una shell dalla quale agire come se si fosse in locale a quel sistema. A differenza di telnet però, SSH è un protocollo completamente cifrato e quindi sufficientemente sicuro per la maggior parte degli scopi più comuni. Il software scelto è OpenSSH un server SSH open source presente nei repository ufficiali. Prima di installarlo è bene creare un gruppo di utenti abilitati ad usarlo, per fare questo basta aggiungere la seguente riga al file /etc/group:

ssh:x:123:user

Dove ssh è il nome del gruppo, nel campo x andrebbe la password del gruppo che viene omessa, 123 è l'ID del gruppo, user è invece l'appartenente al gruppo.
Fatto ciò siamo printi per installare il server OpenSSH, installiamolo con il seguente comando:

sudo apt-get install openssh-server

Terminata l'installazione passiamo al file di configurazione nel quale settare il demone come meglio ci aggrada. Usiamo al solito l'editor Vim e scriviamo sul terminale:

sudo vim /etc/ssh/sshd_config

Adesso possiamo configurare il nostro file, le opzioni che ci interessano sono le seguenti, rimando al linl in fondo alla pagina per la spiegazione di tutte le altre opzioni: 

#Specifica la porta in ascolto del server ssh
Port 222
#Specifica l'interfaccia sulla quale è in ascolto il server ssh
ListenAddress 192.168.0.252
#Specifica il file di cui mostrare il contenuto a login effettuato
Banner /etc/issue.net
#Specifica gli utenti di quale gruppo possono accedere
AllowGroups ssh

Adesso possiamo riavviare il server con il comando:

sudo /etc/init.d/sshd restart

Per verificare il corretto funzionamento del server basterà scaricare un qualunque client ssh (putty, WinScpClient) ed inserire correttamente gli estremi della connessione (Indirizzo IP del server e porta) e le credenziali d'accesso.


Fonti:



martedì 21 settembre 2010

Configurazione della Rete Virtuale con VirtualBox e Ubuntu Server

In questo articolo vedremo come configurare la rete in modo che il nostro server virtuale rispondi alle richieste provenienti dalla LAN a cui è collegato il sistema reale che lo ospita.


Per configurare la rete vediamo come è necessario configurare il sistema reale, virtual box ed infine il sistema virtuale.
Innanzi tutto vediamo la configurazione di rete sulla quale lavoriamo:








Il pc sul quale gira il server virtuale è quello con indirizzo LAN 192.168.0.2, il quale è collegato attraverso un cavo ethernet al PC 1 (192.168.0.1), il quale a sua volta funge da Gateway in quanto è connesso al modem grazie al quale accede ad Internet.

Quando installiamo Virtual Box viene installata un'ulteriore interfaccia di rete virtuale, alla quale possiamo collegare la nostra macchina virtuale utilizzando il menù Impostazioni messo a disposizione da Vbox, impostazioni che possiamo modificare solo se la macchina è spenta. Quello che ho intenzione di fare è collegare la macchina virtuale all'interfaccia di rete virtuale della macchina reale, dopodichè creare un bridge tra queste due reti in modo da poter dare l'accesso ad internet al server, grazie al quale possiamo accedere per esempio agli aggioramenti.

La configurazione che voglio perciò realizzare è la seguente:








 

Diamoci da fare.
Supposto che sulla macchina reale giri Windows7, configuriamo l'interfaccio di rete di virtual box in maniera opportuna.
Andiamo in:

Pannello di Controllo -> Rete e Internet -> Centro Connessioni di Rete e Condivisione -> Modifica Impostazioni Scheda


A questo punro cerchiamo la scheda virtuale che avrà un nome simile a:


VirtualBox Host-only network, clicchiamo su Proprietà click su Protocollo Internet Versione 4 e poi ancora su Configura.


Nella maschera che ci appare andremo ad inserire su indirizzo IP 192.168.0.254 e su Subnet Mask 255.255.255.0.

Usciamo e facciamo partire virtual box, prima di avviare la macchina però mettiamo sulle impostazioni di rete la dicitura Scheda solo Host al posto di NAT, ed avviamo la macchina.

Su linux tutte le impostazioni di rete sono contenute nel file /etc/network/interfaces che andremo a modificare in questo modo:


sudo vim /etc/network/interfaces

Il file va poi modificato in modo che l'interfaccia collegata al sistema reale abbia la giusta configurazione, nel nostro caso:


auto eth1

iface eth1 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.0.1

Adesso dobbiamo inserire i server DNS e dato che non ho ancora un server DNS in casa, inserirò quelli forniti da OpenDNS, tali informazioni vanno scritte nel file /etc/resolv.conf.


Nameserver 208.67.220.220

Nameserver 208.67.222.222

A questo punto dovremo resettare il demone che controlla le interfacce di rete.


sudo /etc/init.d/networking restart


Per verificare che tutto sia andato a buon fine eseguiamo dei ping.


Adesso non dobbiamo fare altro che creare un bridge di rete nel sistema reale tra l'interfaccia di rete di virtualbox e l'interfaccia di rete della nostra LAN.

Niente di più semplice in ambiente Windows, basterà selezionare le due connessioni, click col tasto destro e click su Crea Connessione con Bridge (o qualcosa di simile).
Impostiamo il bridge dandogli il corretto indirizzo IP (192.168.0.254) la corretta subnet (255.255.255.0) e il corretto Gateway (192.168.0.1).
Benissimo, spegnamo la macchina virtuale, andiamo nelle impostazioni di Virtual Box relativa alla macchina sul quale gira il server e nella sezione rete delle opzioni selezioniamo Scheda con Bridge. Adesso, avviando la macchina virtuale, non solo questa è raggiungibile da tutti i sistemi presenti in LAN (e quindi in grado di offrire servizi ad essi) ma è anche in grado di accedere su internet. Non è vero il contrario in quanto per poter fornire servizi ad internet sarebbe necessario configurare un NAT sul gateway. Ma questo per ora non ci interessa.



lunedì 20 settembre 2010

Ubuntu Tuning: Modificare la variabile Swappiness

Il kernel Linux da la possibilità di controllare quando usare lo swap file. Lo swap file è appunto un file che viene utilizzato dal sistema come se fosse RAM nel caso in cui questa sta per esaurirsi. Ovviamente è bene evitare questa situazione in quanto l'accesso al disco rigido è diverse volte più lento dell'accesso alla RAM.
La variabile che controlla quando usare il file di swap si chiama swappiness ed esprime con un numero da 0 a 100. Dando alla swappiness un valore zero significa che la scrittura sul disco rigido sarà evitata a meno che non sia assolutamente necessaria (si esaurisce la memoria RAM), mentre un swappiness impostata a 100 significa che i dati saranno scritti quasi interamente sul disco rigido.
Di default un sistema Ubuntu ha come valore predefinito di swappiness 60.
È possibile controllare il valore della swappiness dando il comando:

    cat /proc/sys/vm/swappiness

Se ad esempio si possiede una memoria RAM di 2GB un valore di swappiness impostato a 60 è abbastanza alto, lo si può benissimo impostare a 15, cosi da utilizzare la swap solo nel caso in cui l’utilizzo della RAM sia circa dell’80 o 90%.
Per modificare questo valore bisogna, aprire il file /etc/sysctl.conf:

    sudo gedit  /etc/sysctl.conf 
aggiungere o modificare la linea:

    vm.swappiness = 15

 riavviare affinché le modifiche abbiano effetto.

Fonte: http://fosswire.com/post/2009/02/sysctl-swappiness/

Avvio del Sistema (Ubuntu 10.04 Server) in modalità testuale

In questo articolo vedremo come configurare il nostro server in modo che parta di default senza un ambiente grafico, con la possibilità di richiamarlo quando lo riteniamo necessario.

Per avviare il sistema in modalità console ho dovuto sbattere più di quanto pensavo fosse necessario. Alla fine la soluzione che ho adottato è la seguente. Ho modificato Grub2. Prima di tutto bisogna aggiungere una nuova riga alla nuova versione del bootloader. Per fare questo, mentre prima bastava modificare ed aggiungere la riga al file menu.lst adesso con Grub2 è un pò più complesso.
Apriamo con gedit il file grub.cfg;

gedit /boot/grub/grub.cfg

Eccone un esempio:

# Timeout for menu
set timeout=10

# Set default boot entry as Entry 0
set default=0

# Entry 0 - Load Linux kernel

menuentry "My Linux Kernel on (hd0,1)" {
set root=(hd0,1)
linux /vmlinuz root=/dev/hda1
initrd /initrd
}

# Entry 1 - Chainload another bootloader

menuentry "Chainload my OS" {
set root=(hd0,3)
chainloader +1
}

Questo file non va modificato, e d'altronde per la sua modifica occorre modificare i permessi. Copiamo da questo file una entry, io ho copiato la prima che è quella che permette di avviare il S.O. Normalmente.
Questo codice va poi copiato (appeso) nel file /etc/grub.d/40_custom.
A queso punto basterà aggiungere nella riga che inizia con la direttiva linux la dicitura text dopodichè va aggiornato grub2 in modo che aggiunga in maniera opportuna questa nuova entry nel file grub.cfg. Il comando per fare questo è:

sudo update-grub

Questa entry verrà però aggiunta alla fine del menù di grub, che tra l'altro non vedremo in quanto nel nostro caso Ubuntu Server è l'unico sistema operativo installato sulla macchina virtuale. Poco male. Editiamo il file grub:

sudo gedit /etc/default/grub

ed editiamo l'opzione che stabilisce quale voce far partire di default, nel mio caso la quarta.

GRUB_DEFAULT=4

Nota bene che le entry del menù di Grub sono numerate a partire da zero, e per capire quante entry sono presenti basterà guardare il file grub.cfg dove saranno presenti

Fatto tutto ciò il nostro sistema si avvierà in modalità solo testo, quando vorremo far partire il server x bastera digitare startx, che però farà partire il desktop di gnome. Dato che noi abbiamo scelto xfce4 il comando da dare sarà

startxfce4

Installazione di Ubuntu Server 10.04 LTS

In questo post descriverò brevemente la fase di installazione del sistema operativo sulla macchina virtuale. Non mi dilungherò molto e non entrerò nel dettaglio in quanto ritengo che sull'argomento vi siano tutorial ben dettagliati!


La procedura di installazione procede via molto liscia, anche perchè, trattandosi di un sistema virtuale ho usato quanto più possibile le impostazioni automatiche specie per il partizionamento del disco. Quasi alla fine dell'installazione il wizard chiede quali software installare tra server DNS, Apache, tomcat, OpenSSH, mail server, ecc... ho deciso di non installare niente e di rimandare ad un secondo tempo la scelta di quali software installare per sperimentare il mio nuovo server.
Una volta terminata l'installazione e riavviato il sistema ci appare la nostra shell. Poichè ho intenzione di installare un ambiente grafico la scelta è ricaduta su xfce, dato che lo trovo il giusto compromesso tra leggerezza e completezza. Quindi da terminale digito:

sudo apt-get install xubuntu-desktop

In funzione della velocità della nostra connessione e del nostro sistema dopo un certo tempo ci troviamo di fronte il desktop del nostro server.




A questo punto occorre porsi degli obiettivi:
  • Configurare i run level in modo da crearne uno senza ambiente grafico;
  • Creare una rete tra il sistema host e il sistema reale;
  • Installare e configurare OpenSSH;

    Vedremo nei prossimi post la descrizione di come realizzarli.


domenica 19 settembre 2010

Creazione dell'ambiente di lavoro

Tutorial sull'installazione di VirtualBox e di una macchina virtuale che sarà il server sul quale andremo ad operare.

Prima di tutto occorre un sistema da amministrare. Poichè non ho i fondi necessari per mettere in funzione un vecchio pc che andrebbe benissimo allo scopo, ho deciso di virtualizzare un sistema usando virtual box (http://www.virtualbox.org/). Una volta installato (e non mi dilungherò su come scaricare il file e fare doppio click su di esso!), è necessario prima di creare una macchina guardare le opzioni ed impostazioni di tale software in modo da assegnare le directory che conterranno i file XML che descrivono i sistemi virtuali e le directory che invece contengono i dischi. Per quel che mi riguarda ho creato una cartella nella mia partizione riservata ai dati che ho chiamato VirtualSpace all'interno della quale vi sono le sottodirectory dei sistemi e i vari file VDI che rappresentano i dischi fissi. Cominciamo con il creare un nuovo disco, poichè odio gli sprechi, il disco fisso del mio sistema sarà di 5Gb il che dovrebbe bastare a contenere il S.O ed i servizi che installeremo.
Creazione del Sistema Virtuale
Apriamo Virtual Box e clicchiamo su Gestore Supporti Virtuali, e clicchiamo su "Crea Nuovo", si aprirà una procedura guidata, che ci permette di scegliere:



  • Nome del volume: Consiglio di inserire nel nome anche le dimensioni del disco virtuale;


  • Dimensioni del volume: Ho scelto 5Gb data la mia avversione allo spreco informatico! Inoltre ho scelto di non usare il dimensionamento dinamico in quanto penso sia uno spreco di risorse (per altro già esigue!).
Adesso che abbiamo il disco fisso virtuale dobbiamo aggiungerlo alla lista dei dischi visti da VirtualBox. Tramite il tasto aggiungi è possibile fare ciò!

Adesso siamo pronti a creare la nostra macchina virtuale. Di seguito riporto i dati principali:

Nome: Ubuntu_Server_win;
RAM: 256 MB
Processore: 1
Memoria Video: 16 MB
Accellerazione 3D: disabilitata
Accellerazione 2D: disabilitata
SATA: 5Gb_srv.vdi (ma è il nome del disco creato in precedenza!)
Rete: Driver Intel Pro 1000 MT NAT

Ovviamente tale macchina è inutile senza installare il sistema operativo. La scelta cade ovviamente su un sistema Linux. Non voglio qui discutere sul perchè di tale scelta, ma il mio scopo è di accumulare una piccola esperienza sistemistica con sistemi simili a Unix. Ho scelto la distribuzione Ubuntu perchè possiede una comunità molto attiva, conosco tale distribuzione e mi sono trovato sempre abbastanza bene. Detto questo ho scelto la versione LTS 10.04 server. La versione server a differenza di quella desktop non ha un ambiente grafico (ma che installerò successivamente) e possiede già installati tutti i principali pacchetti che penso mi saranno utili successivamente. Quindi, scarichiamo dal sito ubuntu la iso di tale sistema. Scaricata la iso, la copio nella directory VirtualSpace che uso per Vbox. Quindi riapro Vbox, seleziono la macchina Ubuntu_Server_win clicco su Impostazioni e nella scheda Archiviazione seleziono il canale IDE dedicato al lettore CD-ROM. Sulla sinistra compare la dicitura vuoto. Seleziono tale pulsante e carico nel CD-ROM virtuale l'immagine iso che abbiamo scaricato. Dopodichè nella scheda Sistema cambio l'ordine dei dispositivi dai quali il sistema fa il boot, dando la precedenza proprio al lettore CD-ROM in modo da far partire la procedura di installazione di Ubuntu.
Nel prossimo post vedremo i particolari dell'installazione del SistemaOperativo.


Manifesto di B-Admin

Ho aperto questo blog perchè spero possa essere utile a tutti quelli che hanno intenzione di cimentarsi (per passione o professione) nel fantastico mondo dei SysAdmin. Non che io lo sia, ma con questo strumento forse posso mettere un pò d'ordine nella svariata quantità di informazioni necessarie ad amministare un sistema. 

Il titolo di questo blog è significativamente ambivalente  per essere dei valenti sistemisti (be admin) bisogna (credo!) prima passare per la fase Bad Admin ossia cattivi sistemisti!! Una rivisitazione del vecchio detto sbagliando s'impara!

In questo blog descriverò con una serie di articoli i problemi e le soluzioni trovate per risolvere i principali problemi derivanti dalla configurazione e manutenzione di un piccolo server virtuale che realizzerò allo scopo. Non so ancora bene cosa farò di preciso, ma mi sforzerò quanto meno di descrivere i problemi e le soluzioni, con la speranza che possano essere d'aiuto a qualche lettore.