Analyser les logs de Iptables programmes non maintenus

De Wiki Amis SH
Aller à la navigation Aller à la recherche



Le wiki : Accueil - Administrateur - Bureautique - Développeur - Intégrateur - Marketing - Multimédia - Objets numériques - Jeux - We make Hack


Analyser les logs de Iptables programmes non maintenus

Afterglow

# Afterglow est un script Perl qui crée une image pour observer la provenance des adresses bloquées dans Iptables.
Tutoriel : https://lintut.com/use-afterglow-to-visualize-iptables-logs-on-centos-rhel-fedora/
# Paquets prérequis :
# Perl :
perl
# Le paquet psad va m'envoyer près de 4500 mails en quelques heures, pour signaler chaque blocage effectué par la configuration de Iptables :
psad
# Pour la commande neato :
graphviz
# Installation de Text-CSV-0.5 avec make :
wget http://search.cpan.org/CPAN/authors/id/E/ER/ERANGEL/Text-CSV-0.5.tar.gz
tar zxvf Text-CSV-0.5.tar.gz
cd Text-CSV-0.5
perl Makefile.PL
make
sudo make install

# Installation de Text-CSV-0.5 avec le .deb que j'ai créé suite à la compilation, pour une installation avec dpkg :
wget https://ftp.visionduweb.fr/ARCHIVES/text-csv_0.5-1_amd64.deb
sudo dpkg -i text-csv_0.5-1_amd64.deb
# Pour le désinstaller :
sudo dpkg -r text-csv
# Télécharger Afterglow 1.6.2 :
wget https://phoenixnap.dl.sourceforge.net/project/afterglow/AfterGlow%201.x/1.6.2/afterglow-1.6.2.tar.gz
tar zxvf afterglow-1.6.2.tar.gz
rm afterglow-1.6.2.tar.gz
sudo mv afterglow/ /opt/
psad --CSV --CSV-fields "src dst dp sp" --CSV-max 1000 -m /var/log/firewall.log | perl /opt/afterglow/src/perl/graph/afterglow.pl -c /opt/afterglow/src/perl/parsers/color.properties | neato -Tjpg -o iptable_graph03.jpg
# De nombreuses erreurs de ce type sont affichées :
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at /opt/afterglow/src/perl/graph/afterglow.pl line ....
# Je tente de les commenter, plutôt que de les résoudre, mais, la compilation aborde.
Execution of /opt/afterglow/src/perl/graph/afterglow.pl aborted due to compilation errors.
Dépôt officiel : https://github.com/zrlram/afterglow/
Une issue est ouverte : https://github.com/zrlram/afterglow/issues/8
# Je n'ai pas obtenu la synthèse graphique souhaitée, par contre, je constate près de 4500 mails envoyés, pour chaque alerte bloquées par Iptables, en quelques heures.
# Je supprime psad, à défaut de chercher d'avantage d'informations pour mieux le configurer, car recevoir un mail pour chaque blocage effectué par Iptables ne correspond pas à mes attentes.
sudo apt remove psad

FWReport

# FWReport: Firewall Reporter pour Iptables.
Télécharger : https://sourceforge.net/projects/fwreport/

FWLogwatch

apt-get install fwlogwatch
# Dans la configuration, voir à trouver la ligne :
html = yes
# Utiliser un port au dessus de 1024, par exemple 8888.
# Exemple ( pas forcément fonctionnel ) pour FWLogwatch :
Details de mon fichier de conf de fwlogwatch :
server_status = on
bind_to = 0.0.0.0
listen_port = 888
listen_to = 192.168.1.5
status_user = qqe chose
status_password = un truc !
refresh = 
# Utiliser un mot de passe crypté :
htpasswd -nb admin mon_pass
# Relancer le service fwlogwatch :
sudo /etc/init.d/fwlogwatch restart
Source : http://fwlogwatch.inside-security.de

IPTables log analyzer

# Après avoir tenté une installation, il semble que ce projet soit non maintenu et devenu obsolète, certainement du fait de problématiques de compatibilité avec PHP.
Site officiel : http://www.gege.org/iptables/
Télécharger : http://sourceforge.net/project/showfiles.php?group_id=63361
wget https://phoenixnap.dl.sourceforge.net/project/iptablelog/iptablelog/v0.9/iptablelog-v0.9.tar.gz
tar -xzvf iptablelog-v0.9.tar.gz
# Aller dans le répertoire décompressé :
cd iptablelog
# Consulter le fichier README pour l'installation.
# Consulter le fichier INSTALL avant de lancer la page index.php :
nano INSTALL
##########################################################################
This package requires ulogd. A sample ulogd.conf is located in the conf
directory.  The required database schema is located in conf/iptables.mysql.

This package requires apache and php. The iptablelog directory can be
located anywhere within your apache web root (and can be renamed if
desired - see conf/config.php).

At this time, MySQL is the only database source supported. 

To install this package, you should minimally edit the following
configuration files:
conf/config.php (copy conf/config.php.default to conf/config.php and edit)
admin/.htaccess (configure access to the admin pages)
##########################################################################
# Installer le paquet ulogd qui est requis. Sur Debian Buster, c'est une version ulogd2 qui est proposée.
sudo apt install ulogd2
# Configurer ulogd.conf
cp conf/ulogd.conf.sample conf/ulogd.conf
nano conf/ulogd.conf

# Les informations affichées concernant MySQL :
# database information
mysqltable ulog
mysqlpass changeme
mysqluser laforge
mysqldb ulogd
mysqlhost localhost

# Créer une base de données pour cette configuration ulogd :
sudo mysql
CREATE DATABASE ulogd DEFAULT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
CREATE USER 'laforge'@'localhost' IDENTIFIED BY 'changeme';
GRANT ALL PRIVILEGES ON ulogd.* TO 'laforge'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
# Configurer IPTables log analyzer avant de lancer la page index.php :
Copier "conf/config.php.default" vers "conf/config.php" et le configurer.
cp conf/config.php.default conf/config.php
nano conf/config.php
# Informations de connexions proposées par défaut :
# Host of the MySQL database
$db_host="localhost";

# User of the MySQL database
$db_user="iptablelog_user";

# Password of the MySQL database
$db_password="changeme";

# Name of the database
$db_name="iptablelog";
# Créer une base de données MySQL pour enregistrer les informations :
sudo mysql
CREATE DATABASE iptablelog DEFAULT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
CREATE USER 'iptablelog_user'@'localhost' IDENTIFIED BY 'changeme';
GRANT ALL PRIVILEGES ON iptablelog.* TO 'iptablelog_user'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
# Ici, je suppose qu'il va falloir déplacer le répertoire iptablelog à la racine d'un de nos sites hébergés.
# URL Path to your installation
$url_base="/iptablelog/";
# Indiquer le chemin vers le fichier iptables.log.
# Je ne suis pas sur que ma configuration me permette de pointer vers /var/log/iptables.log donc, je part du principe que le fichier de log est dupliqué vers répertoire du site.
# File Path to your installation
$file_base="/path/to/iptablelog"; # i.e. "/var/www/html/iptablelog"
# Remplacer par :
$file_base="/var/www/le-site/iptablelog/";
# Déplacer le dossier iptablelog vers le site :
cd ..
sudo mv iptablelog /var/www/visionduweb.fr/
# Donner les droits www-data au dossier iptablelog
sudo chown -R www-data. /var/www/visionduweb.fr/iptablelog/
# Configurer l'accès à l'administration depuis "admin/.htaccess" :
sudo nano /var/www/visionduweb.fr/iptablelog/admin/.htaccess
# Remplacer l'ancienne syntaxe de Apache 2.2 par la syntaxe de Apache 2.4 :
Require all denied
Require ip xx.xxx.xxx.xx
# Aller sur le site et consulter la page /iptablelog/index.php
# De nombreuses erreurs sont affichées.
# Le fichier error.log de Apache2 mentionne :
Got error 'PHP message: PHP Warning:  session_set_cookie_params(): Cannot change session cookie parameters when headers already sent in /var/www/visionduweb.fr/iptablelog/utils/Context.php on line 29PHP message: PHP Warning:  session_start(): Cannot start session when headers already sent in /var/www/visionduweb.fr/iptablelog/utils/Context.php on line 89PHP message: PHP Notice:  Undefined variable: display_netfilter_srcport_default in /var/www/visionduweb.fr/iptablelog/utils/Context.php on line 149PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function db_connect() in /var/www/visionduweb.fr/iptablelog/conf/config.php:137\nStack trace:\n#0 /var/www/visionduweb.fr/iptablelog/index.php(26): require_once()\n#1 {main}\n  thrown in /var/www/visionduweb.fr/iptablelog/conf/config.php on line 137'
# L'analyseur de journaux IPTables affichait les journaux Iptables Linux 2.4 (rejetés, acceptés, paquets masqués ...) dans une belle page HTML.
# IPTables log analyzer prenait en charge les journaux de netfilter mais aussi les journaux Shorewall et Suse Firewall.
# Un démon était lancé par un utilisateur qui pouvait lire les fichiers journaux Iptables.
# Chaque fois qu'un nouveau paquet était enregistré, le démon insérait une nouvelle ligne dans la base de données.

Bibliographie

Autres outils pour la gestion des logs.

NAVIGATION

PARTICIPER ET PARTAGER

Bienvenue sur le wiki de Amis SH.
De nombreuses pages sont partagées sur ce wiki.
Créer un compte utilisateur pour participer sur le wiki.
Les pages présentées sur le wiki évoluent tous les jours.
Certaines recherches sont peu abouties et incluent des erreurs.
Utiliser la recherche interne du wiki pour trouver votre contenu.
La page de discussion de Amis SH vous permet de poser vos questions.
Consulter le site amis-sh.fr pour installer votre propre serveur web.
Améliorer le contenu des pages avec vos retours depuis l'onglet discussion.
Ce contenu ne doit pas servir à nuire à autrui ou à un système informatique.
Protéger votre système Linux ou Windows avec cette page dédiée à la sécurité.

SOUTENIR CE WIKI

Soutenir le wiki avec un don en monnaie numérique :
AEON - Bitcoins - Bitcoins Cash - Bitcoins Gold - Bitcore - Blackcoins - Basic Attention Token - Bytecoins - Clams - Dash - Monero - Dogecoins - Ğ1 - Ethereum - Ethereum Classique - Litecoins - Potcoins - Solarcoins - Zcash

OBTENIR DE LA MONNAIE NUMERIQUE

Obtenir gratuitement de la monnaie numérique :
Miner de la cryptomonnaie.