PostHeaderIcon Ulogd avec SQLite sur Debian

Il n’y a pas beaucoup de tutoriels sur Internet pour aider à la mise en place de l’enregistrement des logs Ulog dans une base SQLite. Bien que cette opération soit simple, un petit tuto évitant une longue prise de tête ne peut être que bénéfique.

Pourquoi SQLite ?

Je ne suis qu’un novice avec ce SGBD, et Ulogd m’a permit d’y jeter un coup d’oeil.

Mon choix s’est porté dessus car par sa légèreté et son fiabilité hors norme il pourra résister à des attaques  de Deny de Service (DoS), ou autres attaques par flooding auquel un SGBD traditionnel de type MySQL ou PostGres ne résisterait pas.

Pourquoi ?

SQLite contrairement aux deux exemples cités n’est pas un démon mais une simple librairie permettant de gérer un fichier de base de donnée : l’opération se révèle donc juste un peu plus un lourde qu’une écriture classique dans un fichier de log, et donc adaptée à notre cas. De plus, pas besoin de faire du dump ou autre moyen pour la sauvegarde; un simple « cp » ou « rsync » fera l’affaire.

Les inconvénients majeurs que j’ai pu recenser sont : la gestion des droits inexistante (GRANT, REVOKE), et le verrouillage en écriture de la base ne permettant de faire écrire plusieurs applications sur la même base.

Installation

Je suppose que vous avez déjà installé Ulog et qu’il fonctionne.

Commençons par installer SQLite3, si ça n’est pas déjà fait :

# apt-get install sqlite3

Puis la librairie SQLite pour Ulogd :
# apt-get install ulogd-sqlite3

Passons maintenant à la création de la base « ulog.db » :
# cd /usr/share/doc/ulogd-sqlite3/
# sqlite3 /var/log/ulog/ulog.db < sqlite3.table

Puis à la configuration :
# vim /etc/ulogd.conf

Assurez vous que la ligne plugin="/usr/lib/ulogd/ulogd_SQLITE3.so" est dé-commentée.
Vous pouvez aussi regarder que le chemin du fichier .so est bien valide.

Puis passons à la configuration du module :
[SQLITE3]
table= »ulog »
db= »/var/log/ulog/ulog.db »
buffer=200

Si vous avez suivit les étapes précédentes, aucun modification ne devrait être faite. La ligne buffer correspond au nombre de lignes qui seront gardées en mémoire avant d’être écrites dans la base (Ici 200 lignes).

Pour finir un petit restart Ulogd :
# /etc/init.d/ulogd restart

Voilou vos logs firewall devraient être enregistrés en base SQLite à présent.

Une réponse à to “Ulogd avec SQLite sur Debian”

  • cyril dit :

    Très bien ça permet de reposé mysql mais du coup nulog ne fonctionne plus, faudrai trouver / faire une alternative plus léger !

Laisser un commentaire


− 1 = two