9th febbraio 2010

Aggiornamento Esx UPDATE 5 firmware 213532

In questi giorni mi è capitato di dover aggiornare uno dei server Esxi a cui ho accesso.

Mi sono trovato a dover aggiornare il sistema da un Esx Update 3 ad un Esx Update 5 con firmware 213532.

Purtroppo mi sono imbattuto in un problema un po’ strano, durante l’aggiornamento tutto è andato a posto ma mi ha dato un errore molto strno al momento dell’aggiornamento del vmware tools.

Il messaggio molto generico è stato un “Unable to copy file to host”. Ho debuggato i log ma senza trovare nulla. Leggendo su forum ho trovato la soluzione.

A prescindere da tutto quelo che avete fatto dovete mettere il vostro Esx in Mantainence Mode, in questo stato riavviarlo, una volta riavviato procedete nuovamente con l’aggiornamento dei vmware tools e questa volta magicamente tutto funzionerà senza motivo.

Questo immagino capiti per qualche motivo in cui forse ci sono troppi file temporanei dovuto alle decompressioni degli zip, in questo modo con il riavvio in modalità manutenzione probabilmente vengono eliminati e al riavvio c’è spazio a sufficienza per effettuare le ultime operazioni.

Un consiglio, non aggiornate i vmware tools alla versione 213532 sulle vostre macchine virtuali linux, in quanto hanno parecchi problemi. Vi consiglio una volta arrivati alla versione 3.5 Update 5 di procedere con l’aggiornamento alle versione 4.0 Update 1.

Saluti

Il vostro Sysadmin

posted in Matteo, Temporini, howto, linux, networking, server, virtualizzazione, vmware | 0 Comments

26th giugno 2009

Exim4 e bypass dns

Oggi ho avuto una pizzola esigenza, dover bypassare la risoluzione dei dns da parte di exim4 per l’invio delle email.

La cosa è molto semplice, per farlo non basta editare il file /etc/hosts ma bisogna creare un file che si chiama

/etc/exim4/hubbed_hosts

e al suo interno aggiungere la lista dei domini per cui si vuole il bypass dell’ip

pippo.com: 1.2.3.4
pluto.com: 5.6.7.8

Saluti
Matteo

posted in Internet, Matteo, howto, linux, networking, server | 0 Comments

4th giugno 2009

Rootkit o non rootkit, questo è il problema…

Di cosa stiamo parlando? Alcuni di voi sicuramente sapranno che cosa sono i rootkit, per quelli che non lo sanno i rootkit sono delle “collezioni” di software utilizzate per amministrare una macchina linux senza possedere i privilegi di amministratore.

Solitamente vengono utilizzate dagli intrusi di un sistema, ad esempio un utente malevolo che riesce a sfruttare la vulnerabilità di un utente non privilegiato, potrebbe utilizzare un rootkit per procedere poi a una privilege escalation per diventare amministratore della macchina.

Per difendersi da questo tipo di utilizzi, la cosa migliore è cercare di tenere sempre aggiornato il sistema, soprattutto se si tratta di server online con accesso pubblico, quello di cui voglio occuparmi ora, non è tanto questo aspetto, ma è quello di controllare se la nostra macchina è stata “infettata” da un rootkit o meno.

A questo scopo ho iniziato ad utilizzare il programma rkhunter, che serve a controllare tramite degli hash, se i nostri file di sistema importanti sono stati in qualche modo modificati.

L’installazione in ubuntu si fa un semplice

apt-get install rkhunter

o

aptitude install rkhunter

Una volta installato il programma, procediamo con l’aggiornamento delle definizioni con il comando

rkhunter --update

ottenendo come output una cosa simile a:

[ Rootkit Hunter version 1.3.0 ]

Checking rkhunter data files...
Checking file mirrors.dat                                  [ No update ]
Checking file programs_bad.dat                             [ No update ]
Checking file backdoorports.dat                            [ No update ]
Checking file suspscan.dat                                 [ No update ]
Checking file i18n/cn                                      [ No update ]
Checking file i18n/en                                      [ No update ]
Checking file i18n/zh                                      [ No update ]
Checking file i18n/zhutf                                   [ No update ]

Ora facciamo partire la nostra prima scannata con il comando

rkhunter -c

questo metodo di scan ha una modalità interattiva, ad ogni particolare tipologia di scan dovrete premere enter, alla fine otterrete una tabella riassuntiva come quella seguente

System checks summary
=====================

File properties checks...
Files checked: 127
Suspect files: 0

Rootkit checks...
Rootkits checked : 110
Possible rootkits: 0

Applications checks...
Applications checked: 6
Suspect applications: 0

The system checks took: 3 minutes and 44 seconds

All results have been written to the logfile (/var/log/rkhunter.log)

One or more warnings have been found while checking the system.
Please check the log file (/var/log/rkhunter.log)

Per ottenere uno scan non intereattivo aggiungete l’opzione -sk alla fine

rkhunter -c -sk

Fra i vari report rkhunter vi segnalerà che avete abilitato l’accesso root via ssh, che di norma non è il massimo della siscurezza e vi darà un segnale di errore tipo questo

Checking for allowed root login... Watch out Root login possible. Possible risk!
info: "PermitRootLogin yes" found in file /etc/ssh/sshd_config
Hint: See logfile for more information about this issue

Se sapete cosa state facendo, per eliminarlo basta editare /etc/rkhunter.conf

e cambiate la riga da ALLOW_SSH_ROOT_USER=no a ALLOW_SSH_ROOT_USER=yes

Una volta che avete lanciato il primo scan e tutto è corretto e non vi sono state segnalazioni strane, lanciate il comando

rkhunter –propupd

Questo comando, aggiorna le tabelle hash dei vostri file, di modo che se vengono modificati in qualche modo verrete notificati al riguardo. Quando farete degli update che aggiornano i file interessato da rkhunter, noterete che vi verrà notificato il fatto che tali file sono cambiati. Solitamente quando fate gli aggiornamenti, se tutto è corretto, dovreste eseguire questo comando dopo l’aggiornamento, di modo che le tabelle hash per i check verranno aggiornate con i nuovi eseguibili e non riceverete (giustamente), notifiche al riguardo.

Saluti

posted in Internet, Matteo, Temporini, howto, linux, networking, rootkit, server, sicurezza | 5 Comments

25th marzo 2009

Tomato 1 – DDwrt 0

In questi ultimi tempi ho evoluto la mia wirless di casa verso alcuni prodotti di “qualità” dotando la mia sana rete wifi di un bel Buffalo WHR-G125 (router wirless per la precisione) .

Appena comprato decisi che non era nemmeno il caso di prendere in considerazione il firmware originale, e senza perdere tempo gli ho installato il firmware DD-WRT.

Bel sistema, con un sacco di opzioni e molto flessibile direi ottimo, ma per le mie esigenze ho riscontrato un paio di problemi:

1- A volte il demone http di incartava e dovevo riavviarlo da shell

2- Avendo ip dinamico necessitavo di un update dell’ip tramite servizi come DynDns, per poter accedere ai miei dati e fare arrivare la posta anche nel caso in cui la linea cadesse e cambiasse ip (cosa che capita pressochè SEMPRE).

3-Gestione del QOS (Quality Of  Service) per alcuni servizi (VOIP e Gaming nello specifico).

Evitando di discutere del primo problema, gli altri due sono stati un po’ rognosi.

L’update dell’ip infatti veniva fatto al massimo una volta al giorno, e questo come potete capire è un po’ una limitazione (si ok è un linux potevo modificare tutto, ma non aveva senso sbattersi tanto per una cosa che secondo me doveva già funzionare così).

Per quanto riguarda il QOS, l’ho riscontrato gestito in modo pessimo, piallava completamente la gamba in molte configurazioni che ho testato (si ok, di per se funzionava, ma con una 20mbit e il QOS attivo, con priorità massima sull’http scaricavo al massimo a 200k, tolto il QOS tornavo ai miei 2MB/s).

Sicche con tutto questo ciarlare oggi ho deciso di cambiare e di provare Tomato.

Per ora ho riconfigurato tutto esattamente con sul DD-WRT, compresi il QOS e l’update dell’ip e tutto almeno per ora pare funzionare alla grande, in un interfaccia molto user friendly e gradevole.

Quindi per ora direi Tomato 1 – DDwrt 0, vedremo fra un po’ come si comporta il sistema.

Saluti

posted in QOS, ddwrt, dyndns, firmware, linux, networking, router, tomato | 2 Comments

23rd marzo 2009

Windows: Lista Utenti gruppo Active directory

Ebbene si, oggi parliamo di Windows (non temete è solo questione di pochi secondi)

Nello specifico vogliamo risolvere un problema abbastanza “spinoso”, che Active Directory non risolve immediatamente (ci sono alcuni tool esterni che lo fanno a dire il vero, ma noi vogliamo usare linux vero??), vogliamo avere la lista degli utenti inseriti in un gruppo.

Si lo so è assurdo, ma di default con l’interfaccia di windwos non è possibile farlo.

Presupposto per fare quanto segue è che abbiate joinato tramite samba e kerberos (net ads e company) il vostro dominio a una macchina linux e la cosa esula da questo how to.

Viste le premesse dalla nostra console linux non ci resta fare altro che lanciare

root@localhost# net rpc group members "GRUPPO" -S pdc.local -UAdministrator

Dove nello specifico

GRUPPO = nome del gruppo del quale volete la lista degli utenti

pdc.local = hostname del vostro Primary Domain Controller

Administrato = nome utente dello user con cui volete fare la query

posted in Active Directory, Microsoft, Primary Domain Controller, Windows, howto, networking, server, servizi | 0 Comments

6th febbraio 2009

Traffic Shaping: come ti limito la banda con tc e iptables

Questa sera ho avuto l’esigenza di fare un po’ di traffic shaping casalingo per un piccolo progetto.

Dovevo limitare la banda globale (quella globale non quella del singolo file scaricato), del server ftp.

Soluzione al problema due comandi linux: tc e iptables.

Lo script che ci permetterà di fare tutto è questo:

# Change this to your link bandwidth
# (for cable modem, DSL links, etc. put the maximal bandwidth you can
# get, not the speed of a local Ethernet link)
REAL_BW='20Mbit'

# Change this to the bandwidth you want to allocate to FTP.
# We're talking about megabits, not megabytes, so 80Kbit is
# 10 Kilobytes/s
FTP_BW='600Kbit'

# Change this to your physical network device (or 'ppp0')
NIC='eth0'

# Change this to the ports you assigned for passive FTP
FTP_PORT_LOW="10000"
FTP_PORT_HIGH="20000"

tc qdisc add dev "$NIC" root handle 1: cbq \
bandwidth "$REAL_BW" avpkt 1000

tc class add dev "$NIC" parent 1: classid 1:1 cbq bandwidth "$REAL_BW" \
rate "$REAL_BW" maxburst 5 avpkt 1000

tc class add dev "$NIC" parent 1:1 classid 1:10 cbq \
bandwidth "$REAL_BW" rate "$FTP_BW" maxburst 5 avpkt 1000 bounded

tc qdisc add dev "$NIC" parent 1:10 sfq quantum 1514b

tc filter add dev "$NIC" parent 1: protocol ip handle 1 fw flowid 1:10

iptables -t mangle -A OUTPUT -p tcp --sport 20:21 -j MARK --set-mark 1

iptables -t mangle -A OUTPUT -p tcp \
--sport "$FTP_PORT_LOW":"$FTP_PORT_HIGH" -j MARK --set-mark 1

Nel mio caso specifico, ho forzato il mio server ftp (pureftpd) ad utilizzare come porte in uscita un range che va dalla porta 10000 alla 20000 (questo lo si fa lanciando pureftpd con il parametro -p 10000:20000 oppure modificando direttamente il file di configurazione),  e su questo range ho effettuato lo shaping di banda, bloccandola di fatto a 600Kbit/s, circa 80KByte/s.

Evito di commentare lo script in quanto è già stato fatto in inglese.

Tratto da: http://download.pureftpd.org/pub/pure-ftpd/doc/FAQ

Saluti

Matteo

posted in Internet, Matteo, file sharing, firewall, howto, iptables, kernel, networking, server, servizi | 1 Comment

27th gennaio 2009

Virtual Users And Domains With Postfix, Courier, MySQL (Ubuntu 8.04 LTS 64bit)

Questa guida vuole essere una quick reference per installare un server di posta con antispam e gestione relativamente semplice di utenti e domini, tramite ubuntu 8.04 TLS 64bit.

Le feature principali sono:

- SMTP-AUTH e TLS

- password encrypted

- Amavisd, SpamAssassin e ClamAV

Read the rest of this entry »

posted in DNS, Domain Name System, Postfix, Ubuntu, apache, cyrus, hosting, howto, imap, mail, mysql, pop3, posta, server, servizi, sicurezza, smtp, virtualhost, web, webserver | 3 Comments

18th gennaio 2009

Team viewer : la risposta moderna ai vari VNC

Avete mai voluto dare assistenza a qualcuno che aveva un problema con il pc? Problema che avreste potuto risolvere in approssimativamente 5 minuti se foste stati li in loco davanti alla macchina?

La risposta di alcuni potrebbe essere “si certo basta installare un vnc”, però se non è già stato installato precedentemente, configurato opportunamente firewall e router e giochini simili, tutto questo è assai irrealizzabile.

Ecco la soluzione, si chiama TeamViewer, è un prodotto free se non utilizzato per fare business (se sperate di usarlo in azienda, basta pagare un piccolo obolo e siete liberi di usarlo anche li).

Funziona in un modo molto semplice, le due persone interessate scaricano il programma sui loro client e lo installano.

Una volta lanciato verrà generato un ID e una Password, ora non vi basterà che comunicare questi dati all’altro interlocutore per potergli permettere di poter amministrare il vostro pc da remoto, come se tutti i lavori di configurazione o simi per una vpn o un vnc fosserò già stati fatti.

E’ inoltre possibile registrarsi al sito gratuitamente per poter avere un itnerefaccia di amministrazione per controllare vari client, suddividerli per cliente o per gruppi e potere gestire al meglio la vostra assistenza.

Il programma presenta 4 aspetti importanti, permette infatti di:

- Chiedere supoprto remoto

- Fare “vedere” il proprio desktop (quindi senza dare possibilità all’altro di modificare qualcosa)

- Trasferire file

- Creare una VPN

Tutto il sistema penso funzioni tirando su delle vpn, bypassando in questo modo ogni eventuale sistema di sicurezza o blocco dovuto ai vari NAT o router del caso.

Al momento ho fatto alcune prove anche fra sistemi eterogenei (Windows e Mac funziona alla grande), solo in casi MOLTO particolari ha fatto cilecca.

L’unica pecca è che per ora è disponibile solo per Mac e Windows (gli utenti Linux lavorano via shell, quindi penso che non lo faranno mai), per il resto può tornare utile in moltissime situazioni,

Saluti
Matteo

posted in file sharing, howto, linux, mac, networking, openvpn, vpn | 5 Comments

12th gennaio 2009

Il dns server che utilizzi è a prova di “DNS Poisoning Attack” ?

Di recente (neanche tanto a dire il vero) è stato resa nota una falla di molti dns che permette, tramite un attacco di dns poisoning, di manomettere i nomi host utlizzati da molti dns server sul pianeta.

Per fare un esempio pratico, ipotizziamo di voler aprire un sito come www.l.google.com che ha un indirizzo ip pari a 209.85.135.147, ora quello che fa un potenziale “hacker” non fa altro che sfruttare la falla del dns per fare risolvere www.l.google.com invece che con il suo indirizzo vero con un indirizzo qualunque tipo 127.0.0.1.

Ora per controllare se il proprio dns server è sicuro da questo tipo di problemi ci sono due strade:

1- collegarvi direttamente al sito DoxPara, sulla destra trovete la finestrella “dns checker” non dovrete fare altro che premere il pulsante Check My DNS.

2- oppure tramite linux mediante il comando dig.

Per il secondo punto il comando da lanciare è il seguente:

root@localhost:# dig +short @[your nameserver] porttest.dns-oarc.net txt

dove dovete sostituire [your nameserver] con l’indirizzo ip del dns di cui volete fare il controllo.

Esaminiamo ora i possibili risultati.

Se utilizziamo come dns uno dei dns del servizio OpenDNS otteniamo quanto segue:

root@localhost:# dig +short @208.67.222.222 porttest.dns-oarc.net txt
porttest.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.
"208.69.34.8 is GREAT: 26 queries in 4.1 seconds from 26 ports with std dev 15951"

se vedete scritta nell’ultima riga GREAT allora il dns è ok ed è stato correttamente patchato.

Nel caso contrario invece utilizzando uno dei dns Telecom STRANAMENTE, i dns non sono patchati e quindi vulnerabili a questo tipo di attacchi

root@localhost:# dig +short @151.99.125.1 porttest.dns-oarc.net txt
porttest.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.
"82.53.187.212 is POOR: 26 queries in 4.8 seconds from 1 ports with std dev 0"

come vedete questa volta nell’ultima riga trovate scritto POOR che indica che il dns non è correttamente aggiornato e quindi vulnerabile.

Su windows il comando è il seguente da lanciare da una console del DOS:

nslookup -querytype=TXT porttest.dns-oarc.net. ns1.nucleus.be

Saluti

Matteo

posted in DNS, Domain Name System, howto, linux, networking, server, sicurezza, telecom | 4 Comments

27th ottobre 2008

Ext4 , questo sconosciuto

Eccoci qua, con la prossima relase del kernel (2.6.28), pare verrà integrato in versione stable il nuovo file system Linux. Passerà dalla versione ext4dev a ext4.

Le nuove features sono le seguenti:

- La prima caratteristica, che è la miglioria principale rispetto alla versione 3, è l’Extent. In termini umanamente comprensibili, è una modalità di allocazione dati che riduce quasi completamente la frammentazione.

- Per quanto riguarda le prestazioni, ho dato un’occhiata ai primi benchmark, dove si nota che ext4 supera ext3 in termini di velocità in tutte le situazioni, in particolare nella scrittura sequenziale.

- Ext4 è compatibile, anzi, “backward compatible” con ext3, il che significa che possiamo montare partizioni ext4 come se fossero ext3 e viceversa, a condizione che la partizione ext4 non utilizzi gli extent, che ovviamente non sono disponibili nella versione precedente.

Saluti

Matteo

Fonti:

- HwUpgrade

- Oneopensource.it

posted in file system, linux | 2 Comments

  • Etichette

  • Statistiche