Old:Wiimote: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
Riga 1: Riga 1:
'''Fail2ban''' ([http://www.fail2ban.org Sito ufficiale]) � un software che � nato per permettere di bloccare gli host che stanno tentando di effettuare un attacco di [[brute force]] via [[ssh]].
{{stub}}


Questo genere di attacco si basa su continui tentativi di accesso, provando o l'username [[root]] con password probabili (come ''password'', ''root'', ''toor'' e cos� via..) oppure tramite coppie di username/password conosciute (create, ad esempio, da [[malware]] o da [[rootkit]]...).
=Introduzione=
Il Wiimote e' un controller prodotto dalla Nintendo usato come controller per la console Wii.
E' possibile utilizzarlo per controllare numerose applicazioni nell'ambiente Linux, questa guida e una descrizione pratica del suo utilizzo e  
di come sfruttare la libreria [http://abstrakraft.org/cwiid/ Cwiid ] per il suo uso all'interno di una applicazione in C o C++.


Con le ultime versioni, per�, si � ampliato ed � in grado di coprire svariati servizi (che andranno, per�, configurati manualmente), come ad esempio apache, vsftpd, postfix, etc...
=Installazione=
Ci sono varie librerie a disposizione, il sito di riferimento e' sicuramente http://www.wiili.org/, per questa mini-guida si utilizzera'
la libreria Cwiid che e' la piu' completa e testata.


== Il funzionamento ==
==Configurazione del sistema==
Il funzionamento � semplice: il software si occupa di effettuare il parsing di alcuni file di log (nel caso di ssh, <tt>/var/log/auth.log</tt>) che contengono le informazioni relative agli accessi falliti. Se vengono contati un numero di tentativi maggiori ad una soglia, l'indirizzo IP viene bloccato per un tempo impostato e non potr� pi� accedere al servizio in ascolto su quella porta (ma potr� ancora accedere a quelli sulle altre, cosa molto importante nel caso di indirizzi IP condivisi, come avviene per Fastweb o all'interno delle reti aziendali).
Per poter utilizzare il Wiimote sotto Linux e' necessario che sia attivo il modulo del kernel relativo al usbhid, in Ubuntu digitare
modprobe usbhid


altrimenti [[Debian Kernel Howto |Ricompilare il kernel]] e attivarne il modulo.


==Pacchetti necessari==
Installare i seguenti pacchetti con il nostro amato apt-get:
apt-get install autoconf awk, bison, flex, bluez-utils bluez-hcidump
apt-get install hcitool autotools-dev libbluetooth2-dev libgtk2.0-dev flex bison libcwiid1 libcwiid1-dev


== Installazione ==
Ora lanciamo hcitool scan premendo contemporaneamente i tasti 1 e 2
L'installazione � semplice:  
<pre>
j3no@kropotkin:~$ hcitool  scan
# apt-get install fail2ban
Scanning ...
</pre>
        00:19:1D:6B:3D:A3      Nintendo RVL-CNT-01


== Configurazione ==
Se l'operazione riesce il sistema e' pronto per essere utilizzato
Il file di configurazione � <tt>/etc/fail2ban/jail.local</tt> e contiene i parametri necessari al funzionamento del software


Il file di configurazione � diviso per sezioni: Ogni sezione inizia ha una struttura simile a:
=Utilizzo della libreria Cwiid=
<pre>
A disposizione avrete dei comandi che vi permetteranno di utilizzare il vostro controller:
[nomesezione]
*wminput: permette di utilizzare il wiimote come un mouse
parametro = valore
*wmgui: e' un'interfaccia grafica per testare tutti gli eventi del controller
parametro2 = valore
parametro3 = valore
</pre>


Ogni sezione, quindi, identificher� un controllo da eseguire. Fa eccezione la prima: <tt>[DEFAULT]</tt>, in quanto contiene i valori di default che verranno usati nelle sezioni successive; ovviamente potranno essere ridefiniti per adattarli ai propri gusti.
==Esempio di implementazione in un programma C ==
Un esempio lo si trova sul sito di cwiid http://abstrakraft.org/cwiid/browser/trunk/wmdemo/wmdemo.c?rev=179 oppure all'interno della directory con i
sorgenti del programma http://abstrakraft.org/cwiid/downloads/cwiid-0.6.00.tgz nella directory wmdemo.


== I Parametri ==
In linea generale c'e' una struttura dati messa a disposizione dall'API (cwiid_state) che viene passata ad una chiamata (cwiid_get_state) la quale aggiorna la descrizione dello stato dei sensori presenti sul wiimote in quel momento.
I parametri pi� importanti sono:
Prima di far questo ci sara' una fase di connessione (cwiid_open) che chiedera' il BBSID, un codice identificativo che abbiamo precedentemente visto
durante la chiamata del comando "hcitool scan"


; <tt>ignoreip = 127.0.0.1</tt> : permette di indicare un elenco di ip su cui non verr� fatto il controllo. Utile per non ''tagliare fuori'' accidentalmente l'ufficio
--[[Utente:J3no|J3no]] 10:00, 3 giu 2008 (CDT)
; <tt>bantime  = 600</tt> : il tempo, in secondi, per cui un host verr� bannato
; <tt>maxretry = 3</tt> : il numero massimo di tentativi dopo cui effettuare il ban dell'host
; <tt>destemail = root@localhost</tt> : l'indirizzo e-mail a cui inviare la mail di notifica
; <tt>action = iptables[name=%(__name__)s, port=%(port)s]</tt> : l'azione da prendere. Quella di default blocca semplicemente l'accesso alla porta del servizio all'ip che ha sforato il numero di tentativi massimo.
; <tt>enabled = true</tt> : abilita i controlli all'interno della sezione
; <tt>port    = ssh</tt> : indica la porta da bloccare
; <tt>filter  = sshd</tt> : indica il filtro da utilizzare (contenuto all'interno della directory <tt>/etc/fail2ban/filter.d</tt> )
; <tt>logpath  = /var/log/auth.log</tt> : il file contenente il log da controllare
 
 
== Esempi di Azioni ==
=== Filtraggio semplice ===
Questa azione applica semplicemente un filtro in modo che l'host che ha effettuato un numero di tentativi maggiori di quello definito viene fermato.
<pre>action = iptables[name=%(__name__)s, port=%(port)s]
</pre>
 
=== Filtraggio con Notifica ===
Questa regola amplia quella precedente, in quanto manda una mail contenente l'ip ed il [[whois]] dell'ip dell'host che ha fatto scattare l'allarme
<pre>
action = iptables[name=%(__name__)s, port=%(port)s]
        mail-whois[name=%(__name__)s, dest=%(destemail)s]
</pre>
 
=== Filtraggio con Notifica Avanzata ===
Come prima, ma in aggiunta sono presenti anche le linee del file di log che hanno fatto scattare l'allarme.
<pre>action = iptables[name=%(__name__)s, port=%(port)s]
          mail-whois-lines[name=%(__name__)s, dest=%(destemail)s, logpath=%(logpath)s]
</pre>
 
= Conclusioni =
Una volta installato, il software � automaticamente attivo, e gira in [[background]] come servizio. In caso di modifica del file di configurazione, � necessario effettuare un restart del servizio tramite il comando
<pre>
# /etc/init.d/fail2ban restart
</pre>
 
[[Categoria:Sicurezza]]
[[Categoria:Networking]]

Versione delle 15:11, 3 giu 2008

Document-page-setup.png Attenzione: questo articolo è ancora incompleto e in fase di scrittura da parte del suo autore.

Sentitevi liberi di contribuire, proponendo modifiche alla guida tramite l'apposita pagina di discussione, in modo da non interferire con il lavoro portato avanti sulla voce. Per altre informazioni si rimanda al template.



Introduzione

Il Wiimote e' un controller prodotto dalla Nintendo usato come controller per la console Wii. E' possibile utilizzarlo per controllare numerose applicazioni nell'ambiente Linux, questa guida e una descrizione pratica del suo utilizzo e di come sfruttare la libreria Cwiid per il suo uso all'interno di una applicazione in C o C++.

Installazione

Ci sono varie librerie a disposizione, il sito di riferimento e' sicuramente http://www.wiili.org/, per questa mini-guida si utilizzera' la libreria Cwiid che e' la piu' completa e testata.

Configurazione del sistema

Per poter utilizzare il Wiimote sotto Linux e' necessario che sia attivo il modulo del kernel relativo al usbhid, in Ubuntu digitare

modprobe usbhid 

altrimenti Ricompilare il kernel e attivarne il modulo.

Pacchetti necessari

Installare i seguenti pacchetti con il nostro amato apt-get:

apt-get install autoconf awk, bison, flex, bluez-utils bluez-hcidump 
apt-get install hcitool autotools-dev libbluetooth2-dev libgtk2.0-dev flex bison libcwiid1 libcwiid1-dev

Ora lanciamo hcitool scan premendo contemporaneamente i tasti 1 e 2

j3no@kropotkin:~$ hcitool  scan
Scanning ...
       00:19:1D:6B:3D:A3       Nintendo RVL-CNT-01

Se l'operazione riesce il sistema e' pronto per essere utilizzato

Utilizzo della libreria Cwiid

A disposizione avrete dei comandi che vi permetteranno di utilizzare il vostro controller:

  • wminput: permette di utilizzare il wiimote come un mouse
  • wmgui: e' un'interfaccia grafica per testare tutti gli eventi del controller

Esempio di implementazione in un programma C

Un esempio lo si trova sul sito di cwiid http://abstrakraft.org/cwiid/browser/trunk/wmdemo/wmdemo.c?rev=179 oppure all'interno della directory con i sorgenti del programma http://abstrakraft.org/cwiid/downloads/cwiid-0.6.00.tgz nella directory wmdemo.

In linea generale c'e' una struttura dati messa a disposizione dall'API (cwiid_state) che viene passata ad una chiamata (cwiid_get_state) la quale aggiorna la descrizione dello stato dei sensori presenti sul wiimote in quel momento. Prima di far questo ci sara' una fase di connessione (cwiid_open) che chiedera' il BBSID, un codice identificativo che abbiamo precedentemente visto durante la chiamata del comando "hcitool scan"

--J3no 10:00, 3 giu 2008 (CDT)