public inbox for gentoo-docs-it@lists.gentoo.org
 help / color / mirror / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download: 
* [gentoo-docs-it] Tradotto shb-intrusion.xml
@ 2006-04-05 20:56 99% Cristiano Chiucchiolo
  0 siblings, 0 replies; 1+ results
From: Cristiano Chiucchiolo @ 2006-04-05 20:56 UTC (permalink / raw
  To: gentoo-docs-it

[-- Attachment #1: Type: text/plain, Size: 2 bytes --]



[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: shb-intrusion.xml --]
[-- Type: text/xml; name="shb-intrusion.xml", Size: 13466 bytes --]

<?xml version='1.0' encoding='UTF-8'?>
<!-- $Header: /var/www/www.gentoo.org/raw_cvs/gentoo/xml/htdocs/doc/en/security/shb-intrusion.xml,v 1.2 2005/11/23 18:02:07 neysx Exp $ -->
<!DOCTYPE sections SYSTEM "/dtd/book.dtd">

<!-- The content of this document is licensed under the CC-BY-SA license -->
<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->

<sections>

<version>1.1</version>
<date>2005-11-23</date>

<section>
<title>AIDE (Advanced Intrusion Detection Environment)</title>
<body>

<p>
AIDE è un sistema Host-Based per il rilevamento delle intrusioni (HIDS), una
alternativa libera a Tripwire (se conoscete già Tripwire non dovreste avere
difficoltà con il file di configurazione di AIDE). Gli HIDS sono usati per
rilevare cambiamenti ad importanti file di configurazione del sistema e binari,
e generalmente funzionano producendo un hash crittografico unico per i file da
controllare, che poi custodiscono in un luogo sicuro. A intervalli regolari (ad
esempio una volta al giorrno), l'hash memorizzato, ritenuto buono, viene
comparato con quello generato dalla copia attuale di ogni file, per determinare
se il file sia stato modificato. Gli HIDS sono un ottimo strumento per rilevare
modifiche non autorizzate al vostro sistema, ma necessitano di un po' di lavoro
per essere configurati in modo da poter funzionare al meglio.
</p>

<p>
Il file di configurazione è basato su espressioni regolari, macro e regole per
i file e le directory. Abbiamo le seguenti macro:
</p>

<table>
<tr>
  <th>Macro</th>
  <th>Descrizione</th>
  <th>Sintassi</th>
</tr>
<tr>
  <ti>ifdef</ti>
  <ti>Se definito</ti>
  <ti>@@ifdef "nome"</ti>
</tr>
<tr>
  <ti>ifndef</ti>
  <ti>Se non definito</ti>
  <ti>@@ifndef "nome"</ti>
</tr>
<tr>
  <ti>define</ti>
  <ti>Definisce una variabile </ti>
  <ti>@@define "nome" "valore"</ti>
</tr>
<tr>
  <ti>undef</ti>
  <ti>Cancella una variabile</ti>
  <ti>@@undef "nome"</ti>
</tr>
<tr>
  <ti>ifhost</ti>
  <ti>se "nome host"</ti>
  <ti>@@ifhost "nome host"</ti>
</tr>
<tr>
  <ti>ifnhost</ti>
  <ti>se non "nome host"</ti>
  <ti>@@ifnhost "nome host"</ti>
</tr>
<tr>
  <ti>endif</ti>
<ti>
Endif deve essere usato dopo ognuna delle macro elencate sopra, tranne define
e undef.
</ti>
<ti>@@endif</ti>
</tr>
</table>

<p>
Queste macro diventano molto comode se avete più di una macchina Gentoo e
volete usare AIDE su ognuna di esse. Ma non tutte le macchine eseguono gli
stessi servizi, e spesso non hanno neppure gli stessi utenti.
</p>

<p>
Poi abbiamo una serie di flag per controllare i file e le directory. Esse sono
una combinazione di permessi, proprietà dei file e hash crittografici (es.
checksums).
</p>

<table>
<tr>
  <th>Flag</th>
  <th>Descrizione</th>
</tr>
<tr>
  <ti>p</ti>
  <ti>permessi</ti>
</tr>
<tr>
  <ti>i</ti>
  <ti>inode</ti>
</tr>
<tr>
  <ti>n</ti>
  <ti>numbero di link</ti>
</tr>
<tr>
  <ti>u</ti>
  <ti>utente</ti>
</tr>
<tr>
  <ti>g</ti>
  <ti>gruppo</ti>
</tr>
<tr>
  <ti>s</ti>
  <ti>dimensione</ti>
</tr>
<tr>
  <ti>b</ti>
  <ti>block count</ti>
</tr>
<tr>
  <ti>m</ti>
  <ti>mtime</ti>
</tr>
<tr>
  <ti>a</ti>
  <ti>atime</ti>
</tr>
<tr>
  <ti>c</ti>
  <ti>ctime</ti>
</tr>
<tr>
  <ti>S</ti>
  <ti>controlla se la dimensione è in aumento</ti>
</tr>
<tr>
  <ti>md5</ti>
  <ti>md5 checksum</ti>
</tr>
<tr>
  <ti>sha1</ti>
  <ti>sha1 checksum</ti>
</tr>
<tr>
  <ti>rmd160</ti>
  <ti>rmd160 checksum</ti>
</tr>
<tr>
  <ti>tiger</ti>
  <ti>tiger checksum</ti>
</tr>
<tr>
  <ti>R</ti>
  <ti>p+i+n+u+g+s+m+c+md5</ti>
</tr>
<tr>
  <ti>L</ti>
  <ti>p+i+n+u+g</ti>
</tr>
<tr>
  <ti>E</ti>
  <ti>Gruppo vuoto</ti>
</tr>
<tr>
  <ti>&gt;</ti>
  <ti>Logfile in aumento p+u+g+i+n+S</ti>
</tr>
</table>

<p>
Se AIDE è compilato con il supporto mhash, avrà alcune funzioni aggiuntive:
</p>

<table>
<tr>
<th>Flag</th>
<th>Descrizione</th>
</tr>
<tr>
<ti>haval</ti>
<ti>haval checksum</ti>
</tr>
<tr>
<ti>gost</ti>
<ti>gost checksum</ti>
</tr>
<tr>
<ti>crc32</ti>
<ti>crc32 checksum</ti>
</tr>
</table>

<p>
Ora potete creare le vostre regole personali, combinando le flag elencate sopra.
Ecco un esempio:
</p>

<pre caption="Creare un set di regole per AIDE">
All=R+a+sha1+rmd160
Norm=s+n+b+md5+sha1+rmd160
</pre>

<p>
L'ultima cosa di cui abbiamo bisogno per creare il nostro file di
configurazione personale è sapere come aggiungere una regola a un file o a una
directory. Per inserire una regola, combinate il nome del file o della
directory e la regola. AIDE aggiungerà tutti i file ricorsivamente, a meno che
non specifichiate una regola diversa.
</p>

<table>
<tr>
<th>Flag</th>
<th>Descrizione</th>
</tr>
<tr>
<ti>!</ti>
<ti>Non aggiungere questo file o directory.</ti>
</tr>
<tr>
<ti>=</ti>
<ti>Aggiungi questa directory, ma non ricorsivamente</ti>
</tr>
</table>

<p>
Vediamo un esempio completo:
</p>

<pre caption="/etc/aide/aide.conf">
@@ifndef TOPDIR 
@@define TOPDIR /
@@endif

@@ifndef AIDEDIR 
@@define AIDEDIR /etc/aide
@@endif

@@ifhost smbserv
@@define smbactive
@@endif

# La posizione del database da leggere.
database=file:@@{AIDEDIR}/aide.db

# La posizione del database da scrivere.
database_out=file:aide.db.new

verbose=20
report_url=stdout

# Definizione regola
All=R+a+sha1+rmd160
Norm=s+n+b+md5+sha1+rmd160

@@{TOPDIR} Norm
!@@{TOPDIR}etc/aide
!@@{TOPDIR}dev
!@@{TOPDIR}proc
!@@{TOPDIR}root
!@@{TOPDIR}tmp
!@@{TOPDIR}var/log
!@@{TOPDIR}var/run
!@@{TOPDIR}usr/portage
@@ifdef smbactive
!@@{TOPDIR}etc/smb/private/secrets.tdb
@@endif
=@@{TOPDIR}home Norm
</pre>

<p>
Nell'esempio sopra abbiamo specificato con alcune macro dove inizia la
directory superiore e dove si trova la directory AIDE. AIDE controlla il file
<path>/etc/aide/aide.db</path> quando controlla l'integrità di un file. Ma
quando aggiorna o crea un nuovo file, salva le informazioni in
<path>/etc/aide/aide.db.new</path>. Questo serve a far sì che il vecchio file
db non venga sovrascritto automaticamente. L'opzione <c>report_URL</c> non è
ancora implementata, ma l'intenzione dell'autore è che essa sia in grado di
inviare script via e-mail, o forse perfino di eseguirli.
</p>

<p>
L'ebuild di AIDE comprende un file di configurazione di default funzionante,
uno script di aiuto e uno script crontab. Lo script di aiuto esegue
automaticamente un gran numero di operazioni e fornisce un'interfaccia un po'
più amichevole. Per vedere tutte le opzioni disponibili, provate con
<c>aideinit --help</c>. Per iniziare, tutto ciò che dovete fare è
<c>aideinit -i</c>, e lo script crontab dovrebbe rilevare il database e
inviare ogni giorno le email appropriate. Vi raccomandiamo di rivedere il file
<path>/etc/aide/aide.conf</path>, per assicurarvi che la configurazione
rifletta accuratamente le caratteristiche del vostro sistema.
</p>

<note>
A seconda della vostra CPU, della velocità di accesso al disco, e delle flag
che avete impostato sui file, questa operazione può durare diversi minuti.
</note>

<note>
Ricordatevi di impostare un alias in modo che possiate ricevere la posta
dell'utente root, altrimenti non saprete mai ciò che AIDE vi comunica.
</note>

<p>
In verità c'è qualche rischio nel salvare i file db localmente, in quanto chi
vuole compiere un attacco probabilmente cercherà (se sa che AIDE è installato)
di alterare o aggiornare il file db, oppure modificherà
<path>/usr/bin/aide</path>. Per questo dovreste creare un cd o un altro
supporto contenente una copia del file .db e i binari di AIDE.
</p>

<p>
Si possono trovare informazioni nella pagina del progetto <uri
link="http://www.cs.tut.fi/~rammer/aide.html">AIDE</uri>.
</p>

</body>
</section>
<section>
<title>Snort</title>
<body>

<p>
Snort è un sistema di rilevamento di intrusioni da rete (NIDS). Per installarlo
e configurarlo usate i seguenti esempi:
</p>

<pre caption="/etc/conf.d/snort">
PIDFILE=/var/run/snort_eth0.pid
MODE="full"
NETWORK="10.0.0.0/24"
LOGDIR="/var/log/snort"
CONF=/etc/snort/snort.conf
SNORT_OPTS="-D -s -u snort -dev -l $LOGDIR -h $NETWORK -c $CONF"
</pre>

<pre caption="/etc/snort/snort.conf">
<comment>(Passo 1)</comment>
var HOME_NET 10.0.0.0/24
var EXTERNAL_NET any
var SMTP $HOME_NET
var HTTP_SERVERS $HOME_NET
var SQL_SERVERS $HOME_NET
var DNS_SERVERS [10.0.0.2/32,212.242.40.51/32]
var RULE_PATH ./

<comment>(Passo 2)</comment>
preprocessor frag2
preprocessor stream4: detect_scans detect_state_problems detect_scans disable_evasion_alerts
preprocessor stream4_reassemble: ports all
preprocessor http_decode: 80 8080 unicode iis_alt_unicode double_encode iis_flip_slash full_whitespace
preprocessor rpc_decode: 111 32771
preprocessor bo: -nobrute
preprocessor telnet_decode

<comment>(Passo 3)</comment>
include classification.config

<comment>(Passo 4)</comment>
include $RULE_PATH/bad-traffic.rules
include $RULE_PATH/exploit.rules
include $RULE_PATH/scan.rules
include $RULE_PATH/finger.rules
include $RULE_PATH/ftp.rules
include $RULE_PATH/telnet.rules
include $RULE_PATH/smtp.rules
include $RULE_PATH/rpc.rules
include $RULE_PATH/rservices.rules
include $RULE_PATH/dos.rules
include $RULE_PATH/ddos.rules
include $RULE_PATH/dns.rules
include $RULE_PATH/tftp.rules
include $RULE_PATH/web-cgi.rules
include $RULE_PATH/web-coldfusion.rules
include $RULE_PATH/web-iis.rules
include $RULE_PATH/web-frontpage.rules
include $RULE_PATH/web-misc.rules
include $RULE_PATH/web-attacks.rules
include $RULE_PATH/sql.rules
include $RULE_PATH/x11.rules
include $RULE_PATH/icmp.rules
include $RULE_PATH/netbios.rules
include $RULE_PATH/misc.rules
include $RULE_PATH/attack-responses.rules
include $RULE_PATH/backdoor.rules
include $RULE_PATH/shellcode.rules
include $RULE_PATH/policy.rules
include $RULE_PATH/porn.rules
include $RULE_PATH/info.rules
include $RULE_PATH/icmp-info.rules
include $RULE_PATH/virus.rules
# include $RULE_PATH/experimental.rules
include $RULE_PATH/local.rules
</pre>

<pre caption="/etc/snort/classification.config">
config classification: not-suspicious,Not Suspicious Traffic,3
config classification: unknown,Unknown Traffic,3
config classification: bad-unknown,Potentially Bad Traffic, 2
config classification: attempted-recon,Attempted Information Leak,2
config classification: successful-recon-limited,Information Leak,2
config classification: successful-recon-largescale,Large Scale Information Leak,2
config classification: attempted-dos,Attempted Denial of Service,2
config classification: successful-dos,Denial of Service,2
config classification: attempted-user,Attempted User Privilege Gain,1
config classification: unsuccessful-user,Unsuccessful User Privilege Gain,1
config classification: successful-user,Successful User Privilege Gain,1
config classification: attempted-admin,Attempted Administrator Privilege Gain,1
config classification: successful-admin,Successful Administrator Privilege Gain,1

# NEW CLASSIFICATIONS
config classification: rpc-portmap-decode,Decode of an RPC Query,2
config classification: shellcode-detect,Executable code was detected,1
config classification: string-detect,A suspicious string was detected,3
config classification: suspicious-filename-detect,A suspicious filename was detected,2
config classification: suspicious-login,An attempted login using a suspicious username was detected,2
config classification: system-call-detect,A system call was detected,2
config classification: tcp-connection,A TCP connection was detected,4
config classification: trojan-activity,A Network Trojan was detected, 1
config classification: unusual-client-port-connection,A client was using an unusual port,2
config classification: network-scan,Detection of a Network Scan,3
config classification: denial-of-service,Detection of a Denial of Service Attack,2
config classification: non-standard-protocol,Detection of a non-standard protocol or event,2
config classification: protocol-command-decode,Generic Protocol Command Decode,3
config classification: web-application-activity,access to a potentially vulnerable web application,2
config classification: web-application-attack,Web Application Attack,1
config classification: misc-activity,Misc activity,3
config classification: misc-attack,Misc Attack,2
config classification: icmp-event,Generic ICMP event,3
config classification: kickass-porn,SCORE! Get the lotion!,1
</pre>

<p>
Maggiori informazioni sul sito di <uri
link="http://www.snort.org">Snort</uri>.
</p>

</body>
</section>
<section>
<title>Rilevare malware con chkrootkit</title>
<body>

<p>
Gli HIDS come AIDE sono un ottimo strumento per rilevare le modifiche al vostro
sistema, ma avere un'altra linea di difesa non guasta mai. <c>chkrootkit</c> è
una utility che analizza i comuni file di sistema cercando la presenza di
rootkit--software progettati per nascondere l'azione di un intruso,
consentendogli di mantenere l'accesso al sistema--e scandaglia il vostro
sistema alla ricerca di tracce di key loggers e altri "malware". Sebbene
<c>chkrootkit</c> e altri programmi, come <c>rkhunter</c>, siano strumenti
utili, sia per la manutenzione del sistema che per rilevare le tracce di un
intruso dopo un attacco, essi non possono garantire la sicurezza del vostro
sistema.
</p>

<p>
Il modo migliore di usare <c>chkrootkit</c> per rilevare un'intrusione è quello
di eseguirlo regolarmente da <c>cron</c>. Per iniziare, emergere
<path>app-admin/chkrootkit</path>. <c>chkrootkit</c> può essere eseguito dalla
linea di comando con lo stesso nome, oppure da <c>cron</c> in questo modo:
</p>

<pre caption="Progammare chkrootkit come un cronjob">
0 3 * * * /usr/sbin/chkrootkit
</pre>

</body>
</section>
</sections>

^ permalink raw reply	[relevance 99%]

Results 1-1 of 1 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2006-04-05 20:56 99% [gentoo-docs-it] Tradotto shb-intrusion.xml Cristiano Chiucchiolo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox