C’erano una volta i LOG di Zeroshell … (I°)

Piccoli passi:
1) scp da guest ZeroShell verso server host Gnu/Linux su share samba
2) invio mediante syslogd di zeroshell verso syslog-ng del server host Gnu/Linux
3) invio mediante syslogd di zeroshell verso syslog-ng del server host Gnu/Linux con destination mysqld
4) invio mediante syslogd di zeroshell verso syslog-ng del server host Gnu/Linux con destination mysqld e visualizzazione con Openoffice Base

5) invio mediante syslogd di zeroshell verso syslog-ng del server host Windows Cygwin

Ma host, guest allora cominciamo con VirtualBox

Il mio ambiente i test prevede Solaris SXCE (nevada 117) e come software di virtualizzazione VBox 3.04. I  tre guest Zeroshell 11 , OpenSuse 11, WinXP per l’intergazione del backup dei log di Zeroshell. Non mi soffermo sull’installazione dei tre guest ma li considero già installati.  Usiamo come caratteristica di VBox la possibilità di definire una rete interna “LOGGING”

LOGGING

Ora che i guest sono installati e funzionanti,  devo ottenere una copia dei log di Zeroshell mediante scp e lo posso fare  attraverso il menu Startup/Cron

startup_cron

Resta ora da superare il problema della password.  Ma…. anzi man ssh

ssh implements the  RSA  authentication  protocol  automati-
cally.  The  user creates his or her RSA key pair by running
ssh-keygen(1).   This   stores   the    private    key    in
$HOME/.ssh/identity     and     the     public     key    in
$HOME/.ssh/identity.pub in the user’s  home  directory.  The
user     should    then    copy    the    identity.pub    to
$HOME/.ssh/authorized_keys in his or her home  directory  on
the  remote machine (the authorized_keys file corresponds to
the conventional $HOME/.rhosts file, and  has  one  key  per
line,  though  the  lines can be very long). After this, the
user can log in without giving the password. RSA authentica-
tion is much more secure than rhosts authentication.

Abbiamo risolto ? Manca un passaggio,  zeroshell monta il filesystem di root / in ram tutte le volte che riparte quindi  dobbiamo fare in modo da rendere “statica” la presenza dei file  private/pubblic    key  anche in caso di reboot.  In ordine generazione key

#

root@zsbiblio root> ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory ‘/root/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
f1:81:d6:13:a0:32:15:b7:dc:6d:61:a6:58:c6:01:40 root@zsbiblio.example.com

Verifichiamo la loro presenza e ci predisponiamo al loro ripristino a seguito di un reboot , anzi eseguiamolo e tocchiamo con mano

root@zsbiblio root> ls .ssh/
id_rsa  id_rsa.pub
root@zsbiblio root> mkdir /database/cronssh
root@zsbiblio root> mv zssh.tar /database/cronssh/
root@zsbiblio root> reboot

Al riavvio non avremo più la directory /root/.ssh e il suo contenuto ma in /database/cronssh/ il nostro tar è salvo  e potremo ripristinare normalmente con cp /database/cronssh/ zssh.tar  /root && tar xvf zssh.tar ma sempre il nostro SuperMan [ man tar ] ci mostra -C ed è quello che ci serve. Ed ecco

Post Boot jobs

Osserviamo che il nostro job è nella sezione PostBoot e si comporta come fosse un script di init. Almeno io lo considero tale. Mi viene da pensare solo come potrebbe essere usata la sezione PreBoot, forse per la modifica di alcuni parametri come il menu.lst di grub ?

Ora procediamo con la copia sul server di destinazione dei LOG  senza che ci venga richiesta la password. Possiamo definire un utente particolare senza Super diritti sul sistema che ospiterà i LOG.

root@linux-g95d: #useradd -m guestlog
root@linux-g95d: #echo password |  passwd –stdin guestlog
root@linux-g95d: #su – guestlog
guestlog@linux-g95d:~> ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/guestlog/.ssh/id_rsa):
Created directory ‘/home/guestlog/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/guestlog/.ssh/id_rsa.
Your public key has been saved in /home/guestlog/.ssh/id_rsa.pub.
The key fingerprint is:
84:02:6e:f9:c6:e6:02:8c:e3:1a:e2:e1:8d:85:6a:e7 guestlog@linux-g95d
The key’s randomart image is:
+–[ RSA 2048]—-+
|  .              |
| . o   .         |
|  + . . .        |
|o. o . .         |
|+.  =   S        |
|.o.+             |
|o+…            |
|*o=o             |
|++oE             |
+—————–+
guestlog@linux-g95d:~> exit

root@zsbiblio root> cd .ssh
root@zsbiblio root> cp id_rsa.pub zs_idrsa.pub
root@zsbiblio root> scp zs_idrsa.pub guestlog@linux-g95d:/home/guestlog/.ssh/ && rm zs_idrsa.pub
root@zsbiblio root> ssh guestlog@linux-g95d

guestlog@linux-g95d: cat ~/.ssh/zs_idrsa.pub ~/.ssh/authorized_keys && rm ~/.ssh/zs_idrsa.pub

La prova del fuoco,  eseguiamo una connessione ssh direttamente sull’ip del server linux-g95d [192.168.1.84]  dal server  zeroshell con ip 192.168.1.75

root@zsbiblio root> ssh guestlog@192.168.1.84
Last login: Fri Aug 14 12:29:25 2009 from 192.168.1.75
Have a lot of fun…
guestlog@linux-g95d:~> exit

Ma allora possiano copiare i nostri LOG senza che ci venga richiesta la password proviamo subito

root@zsbiblio root> scp -r -q /database/LOG  guestlog@192.168.1.84:~
root@zsbiblio root> ssh guestlog@192.168.1.84 ls
bin
Documents
LOG
public_html
root@zsbiblio root>

Come ultimo passo dobbiamo integrare la procedura in zeroshell  mediante l’aggiunta di un nuovo job

Startup_Cron

e aggiungiamo il nuovo job Copia_LOG con una frequenza giornaliera

Copia_LOG

Ultimo passaggio è  l’ aggiunata di una “share”  Samba per poter accedere da un client windows ed effettuare il backup dei nostri LOG. Useremo  anche guestlog  per accedere alla condivisione, e per poterlo fare dobbiamo aggiungerlo medinate il comando smbpasswd   -a guestlog a Samba.

linux-g95d:/tmp/zerolog # smbpasswd -a guestlog
New SMB password:
Retype new SMB password:
Added user guestlog

Una sezione minimalista di smb.conf potrebbe essere

[LOGS]
comment = Home Directories
path = /home/guestlog
browseable = Yes
read only = Yes
inherit acls = Yes
hide files = /Documents/,/bin/, /public_html/

samba guestlog

Fine prima parte

Comments are closed.