Comment surveiller les fichiers journaux avec Graylog2 sur Debian 9

Comment surveiller les fichiers journaux avec Graylog2 sur Debian 9

It's teamwork, mais plus simple, plus agréable et plus productif.

Graylog est un outil de gestion des journaux source libre et ouvert basé sur Java, ElasticSearch et MongoDB qui peut être utilisé pour recueillir, index et analyser tout journal du serveur à partir d'un emplacement centralisé. Vous pouvez facilement surveiller les connexions SSH et activité inhabituelle pour des applications de débogage et de journaux à l'aide Graylog. Graylog fournit un puissant langage de requête, alerter les capacités, un pipeline de traitement de transformation de données et beaucoup plus. Vous pouvez étendre les fonctionnalités de Graylog via une API REST et Add-ons.

Graylog est composé de trois éléments:

  1. ElasticSearch: Il stocke tous les messages entrants et fournir un centre de recherche.
  2. MongoDB: Il est utilisé pour la base de données, stocke les configurations et les méta-informations.
  3. serveur Graylog: Il reçoit et traite les messages provenant de diverses entrées et de fournir une interface Web pour l'analyse et le suivi.

Dans ce tutoriel, nous allons vous expliquer comment installer Graylog2 sur Debian 9 Serveur.

Prérequis

  • Un serveur exécutant Debian 9.
  • Le minimum 4 GB RAM.
  • Une adresse IP statique 192.168.0.187 configuration sur votre serveur.

1 Installation des paquetages requis

Avant de commencer, vous devez installer Java 8 et d'autres paquets nécessaires à votre système. Tous les paquets nécessaires sont disponibles dans Debian 9 référentiel norme, de sorte que vous devrez ajouter Debian Backports à la liste des sources de paquets. Premier, se connecter avec l'utilisateur root et créer un fichier backport.list:

nano /etc/apt/sources.list.d/backport.list

Ajoutez la ligne suivante:

deb http://ftp.debian.org/debian jessie-backports principale

Enregistrez le fichier lorsque vous avez terminé, puis mettez à jour votre système avec la commande suivante:

apt-get update -y
apt-get upgrade -y

Une fois que votre système est à jour, installer tous les packages avec la commande suivante:

apt-get install apt-transport-https UUID-exécution openjdk-8-jre-headless pwgen -y

Une fois que tous les paquets nécessaires sont installés, vous pouvez procéder à l'installation MongoDB.

2 installer MongoDB

MongoDB est nécessaire pour stocker la configuration et les méta-informations. MongoDB est disponible dans Debian 9 référentiel par défaut, de sorte que vous pouvez installer MongoDB simplement en exécutant la commande suivante:

apt-get install -y mongodb-serveur

Une fois MongoDB est installé, vous pouvez procéder à l'installation ElasticSearch.

3 installer ElasticSearch

ElasticSearch est agit en tant que serveur de recherche qui stocke tous les journaux envoyés par le serveur Graylog et affiche les messages à chaque fois que vous demandez. ElasticSearch n'est pas disponible dans la Debian 9 référentiel par défaut. Vous devrez ajouter le dépôt ElasticSearch à la source de paquets Debian.

Premier, télécharger et ajouter la clé ElasticSearch GPG avec la commande suivante:

wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | apt-key -

Prochain, créer un fichier repo ElasticSearch avec la commande suivante:

nano /etc/apt/sources.list.d/elasticsearch.list

Ajoutez la ligne suivante:

deb https://packages.elastic.co/elasticsearch/2.x/debian~~V~~singular~~3rd principal stable

Enregistrez le fichier lorsque vous êtes arrivée, puis mettre à jour le référentiel en exécutant la commande suivante:

apt-get update -y

Prochain, installer ElasticSearch en exécutant la commande suivante:

apt-get install ElasticSearch -y

Une fois ElasticSearch est installé, vous devrez modifier le fichier de configuration principal ElasticSearch:

nano /etc/elasticsearch/elasticsearch.yml

Effectuez les modifications suivantes:

cluster.name: graylog
network.host: 192.168.0.187
discovery.zen.ping.timeout: 10s
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["192.168.0.187:9300"]

Enregistrez et fermez le fichier lorsque vous avez terminé, then start the Elasticsearch service and enable it to start on boot:

systemctl start elasticsearch
systemctl enable elasticsearch

Au bout de quelques secondes, run the following to test that Elasticsearch is running properly:

curl -XGET 'http://192.168.0.187:9200/_cluster/health?pretty=true'

Make sure the output shows the cluster status as "green":

{
  "cluster_name" : "graylog",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 1,
  "active_shards" : 1,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 1,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 50.0
}

Once Elasticsearch is installed and working fine, vous pouvez passer à l'étape suivante.

4 installer Graylog

Graylog is not available in the Debian 9 référentiel par défaut, so you will need to download and install Graylog 2 repository first. Vous pouvez le faire en exécutant la commande suivante:

wget https://packages.graylog2.org/repo/packages/graylog-2.2-repository_latest.deb
dpkg -i graylog-2,2-repository_latest.deb

Une fois que le référentiel est installé, mettre à jour le référentiel et installer le serveur Graylog avec la commande suivante:

apt-get update -y
apt-get install -y graylog-serveur

Après avoir installé Graylog, vous devrez définir un secret pour sécuriser les mots de passe utilisateur et également définir un mot de passe hachage (SHA256) pour l'utilisateur root.

Premier, générer password_secret avec la commande suivante:

pwgen -N 1 -s 96

Vous devriez voir la sortie suivante:

TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyC

Prochain, générer un mot de passe pour hachage utilisateur root avec la commande suivante:

echo -n youradminpassword | sha256sum

Vous devriez voir la sortie suivante:

e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750ee

Remarque: Rappelez-vous à la fois la clé de mot de passe, parce que les deux clés devra configuré dans le server.conf.

Prochain, vous devrez modifier le fichier de configuration du serveur principal Graylog situé dans / etc / graylog / server /:

nano /etc/graylog/server/server.conf

Effectuez les modifications suivantes:

is_master = true
node_id_file = /etc/graylog/server/node-id
########past-your-password-secret-here#########
password_secret = TRXbNPoW4gGC8BN8Gzl4wH3jtfLoi06WCJqia18UtYyPaNLx4r8U7jUPRlIJHoGGxrCjZVqAvW2DcueI6N1zHoy2bKEWLyyC
root_username = admin
#######past-your-root-hash-password-here##########
root_password_sha2 = e3c5925aa22abdfa18cf197a7b218fcad31acb6409d2e2dbebae807d3a9750ee
root_timezone = UTC
plugin_dir = /usr/share/graylog-server/plugin
rest_listen_uri = http://0.0.0.0:9000/api/
rest_enable_cors = true
web_listen_uri = http://0.0.0.0:9000/
rotation_strategy = count
elasticsearch_max_docs_per_index = 20000000
elasticsearch_max_number_of_indices = 7
retention_strategy = delete
elasticsearch_shards = 4
elasticsearch_replicas = 1
elasticsearch_index_prefix = graylog
allow_leading_wildcard_searches = true
allow_highlighting = false
elasticsearch_cluster_name = graylog
elasticsearch_discovery_zen_ping_unicast_hosts = 192.168.0.187:9300
elasticsearch_http_enabled = false
elasticsearch_network_host = 0.0.00
elasticsearch_discovery_initial_state_timeout = 3s
elasticsearch_analyzer = standard
output_batch_size = 500
output_flush_interval = 1
output_fault_count_threshold = 5
output_fault_penalty_seconds = 30
processbuffer_processors = 5
outputbuffer_processors = 3
processor_wait_strategy = blocking
ring_size = 65536
inputbuffer_ring_size = 65536
inputbuffer_processors = 2
inputbuffer_wait_strategy = blocking
message_journal_enabled = true
message_journal_dir = /var/lib/graylog-server/journal
async_eventbus_processors = 2
lb_recognition_period_seconds = 3
alert_check_interval = 60
mongodb_uri = mongodb://localhost/graylog
mongodb_max_connections = 1000
mongodb_threads_allowed_to_block_multiplier = 5
content_packs_dir = /usr/share/graylog-server/contentpacks
content_packs_auto_load = grok-patterns.json
proxied_requests_thread_pool_size = 32

Enregistrez et fermez le fichier lorsque vous avez terminé, puis démarrez le service Graylog et lui permettre de démarrer au démarrage:

systemctl commencer graylog-serveur
systemctl activer graylog-serveur

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante

5 Configurer le pare-feu

Par défaut, interface web Graylog écoute sur le port 9000, de sorte que vous devrez autoriser le port 9000 à travers le pare-feu UFW. pare-feu UFW est pas installé dans Debian 9. Donc, vous devez d'abord l'installer. Vous pouvez l'installer en exécutant la commande suivante:

apt-get install ufw -y

Une fois installé UFW, activer en exécutant la commande suivante;

ufw permettent

Prochain, autoriser le port 9000 par UFW pare-feu en exécutant la commande suivante:

ufw permettent 9000

Vous pouvez vérifier l'état du pare-feu UFW tout moment en exécutant la commande suivante.

état ufw

Une fois que le pare-feu est configuré, vous pouvez passer à l'étape suivante.

6 Accès Graylog Interface Web

interface web Graylog écoute sur le port 9000. À présent, ouvrez votre navigateur Web et saisissez l'URL http://192.168.0.187:9000, vous devriez voir l'écran suivant:

Graylog Interface

Login with username "admin" and the password you configured at root_password_sha2 on server.conf. Vous devriez voir l'écran suivant:

Graylog mise en route

Prochain, vous devrez ajouter l'entrée pour recevoir le message syslog en utilisant l'UDP. Pour ajouter l'entrée, Cliquez sur System -> sélectionnez Entrées -> UDP syslog -> cliquez sur Lancement nouveau bouton d'entrée, vous devriez voir l'écran suivant:

Ajouter une source d'entrée dans Graylog

Remplissez tous les détails tels que le titre, Port, Adresse Bind et enfin Cliquez sur le bouton Enregistrer, vous devriez voir l'écran suivant:

La source du journal détail

Maintenant, le serveur Graylog recevra les journaux du système en utilisant le port 8514 du client ou du serveur.

Sur le système client, vous devrez configurer rsyslog afin qu'il envoie les journaux système des messages au serveur Graylog. Vous pouvez le faire en éditant rsyslog.conf fichier:

nano /etc/rsyslog.conf

Ajoutez les lignes suivantes:

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 8514
$modèle GRAYLOGRFC5424,"%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msg%n"
*.* @ 192.168.0.187: 8514; GRAYLOGRFC5424

Enregistrez le fichier et redémarrez le service rsyslog pour appliquer ces modifications:

systemctl restart rsyslog

Prochain, on the Graylog server click on the "Graylog Sources" you can see the ssh log with failed login attempts in the following screen.

Surveiller les tentatives de connexion avec Graylog

Conclusion

Toutes nos félicitations! vous avez installé et configuré serveur Graylog sur Debian 9. Vous pouvez maintenant voir facilement les journaux et l'analyse des journaux système de l'emplacement central. Vous pouvez également personnaliser Graylog et envoyer un autre type de journaux selon vos besoins. Vous pouvez obtenir plus d'informations sur la page de documentation Graylog http://docs.graylog.org/en/2.2/pages/getting_started.html. Ne hésitez pas à me commenter si vous avez des questions.

La source

Laisser un commentaire

Ce site utilise Akismet pour réduire le spam. Découvrez comment vos données de commentaire est traité.

Nous utilisons des cookies pour vous donner la meilleure expérience en ligne. En vous acceptant acceptez l'utilisation de cookies conformément à notre politique de cookies.