Ce dépôt regroupe de la documentation et des exemples pour configurer 1 serveur de sauvegarde de logs Rsyslog et un serveur d'analyse de log ELK. Cette partie explique l'installation des logiciels et d'une rapide configuration pour les rendres fonctionnelles. Les configurations se trouvent dans le dossier Config.
Ce travail a été réalisé lors du stage de 2nd année du DUT Informatique.
Si la configuration est sur un réseau fermé, penser à désactiver SELinux, les Firewall et de reboot.
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
Un script est disponible pour installer automatiquement les logiciels sur Centos 7 et 8 (archive) La liste des choses que je n'ai pas pu finir dans le fichier TODO.
La plupart des informations proviennent des documentations officiel. Toutes les autres sources sont citées, soit à la fin du document, soit dans le texte.
Fichier de configuration serveur et client : /etc/rsyslog.conf
.
Emplacement des fichiers de logs : /var/log
.
Attention, les versions plus récentes de rsyslog utilisent une nouvelle syntaxe qui est incompatible avec les anciennes versions. Mais l'ancienne syntaxe est rétrocompatible.
Documentation officiel
Rsyslog est disponible officiellement sur Ubuntu, Debian et RHEL/Centos. Rsyslog est généralement installé ces distributions. Les commandes d'installation de plusieurs distributions sont disponibles sur ce site
Pour que Rsyslog puisse recevoir des données, il faut activer le module de réception par internet. On utilise l'UDP mais le TCP est aussi disponible. Mettre ce code dans les premières lignes. Nouvelle syntaxe
module(load="imudp")
input(type="imudp" port="514")
Ancienne syntaxe
$ModLoad imudp
$UDPServerRun 514
Qu'une seule ligne est nécessaire pour envoyer les logs au serveur. Elle est à mettre à la toutes fin du fichier. Pour envoyer en TCP, mettre deux @.
*.* @<IP>:<PORT>
Les logiciels d'Elastic peuvent être installé en téléchargent les binaires ou un ajoutant leur dépôt. Tout est donné sur les pages de téléchargement des logiciels.
La version des logiciels Elastic utilisé dans cette documentation est la 7.8.1
. La version que l'on télécharge est la version basic
et non OSS
. Néanmoins, Elastic a libéré toutes les sources de ces logiciels, même celles réservés aux fonctionnalisées payantes.
Elasticsearch,
Kibana,
Logstash,
FileBeat,
WinLogBeat
/etc/elasticsearch/elasticsearch.yml
network.host: localhost
http.port: 9200
/etc/kibana/kibana.yml
server.port: 5601
server.host: <IP> #donne accès
elasticsearch.host: ["<IP_ELASTICSEARCH>:<PORT_ELASTICSEARCH>"]
/etc/logstash/config.d/confTutorial.conf
input {
beats {
port => 5044
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
}
}
Enverra le nouveau contenu des fichiers *.log et du fichier messages.
/etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
paths:
- /var/log/*.log
- /var/log/*/*.log
- type: log
paths:
- /var/log/messages
tags: [messages]
Commenter la partie output.elasticsearch
output.logstash:
hosts: ["<IP_LOGSTASH>:5044"]
<EMPLAEMENT_DU_DOSSIER>\winlogbeat.yml
Commenter la partie output.elasticsearch
output.logstash:
hosts: ["<IP_LOGSTASH>:5044"]
Exécuter le fichier install-service-winlogbeat.ps1
pour le lancer et l'installer en tant que service.
Ou exécuter le programme winlogbeat.exe
.