accueil > Gestion réseau > wget-ssl-debug-log

wget-ssl-debug-log : Journalisation de débogage SSL

`wget-ssl-debug-log` est un script ou une compilation spécialisée utilisée pour diagnostiquer les problèmes de connexion SSL/TLS et générer des journaux de débogage détaillés à l'aide de la commande `wget`. Contrairement à l'utilisation typique de `wget`, cet outil se concentre sur l'analyse approfondie des problèmes de sécurité réseau tels que le handshake SSL, les erreurs de vérification de certificat qui se produisent pendant le processus de connexion. Il est principalement utilisé par les développeurs ou les administrateurs système pour résoudre des erreurs de communication SSL complexes.

Aperçu

`wget-ssl-debug-log` active les fonctionnalités de débogage SSL de `wget` et aide à résoudre les problèmes de communication SSL/TLS en analysant les journaux détaillés générés. Il enregistre des données telles que les informations de bas niveau du handshake SSL, le processus de vérification de la chaîne de certificats et la négociation des suites de chiffrement, qui ne sont pas visibles lors de l'utilisation normale de `wget`.

Fonctionnalités principales

  • Journalisation détaillée du handshake SSL/TLS
  • Suivi du processus de validation de certificat
  • Enregistrement des informations de négociation des suites de chiffrement et des protocoles
  • Diagnostic des problèmes de sécurité réseau

Options principales

Comme `wget-ssl-debug-log` utilise la commande `wget` en interne, vous pouvez utiliser diverses options de `wget` telles quelles. Voici les options `wget` particulièrement utiles pour le débogage SSL.

Lié à SSL/TLS

Sortie/Journalisation

Commande générée :

Essayez de combiner les commandes.

Description:

`wget-ssl-debug-log` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Exemples d'utilisation

`wget-ssl-debug-log` est principalement utilisé pour diagnostiquer les problèmes de connexion SSL/TLS pour des URL spécifiques. Voici quelques exemples d'utilisation courants.

Journalisation de débogage SSL de base

wget-ssl-debug-log https://badssl.com/expired/

Génère des journaux de débogage SSL détaillés pour l'URL spécifiée. Les journaux sont également affichés sur la sortie standard.

Enregistrer les journaux dans un fichier spécifique

wget-ssl-debug-log https://example.com/ -o my_ssl_debug.log

Enregistre les journaux de débogage dans un fichier séparé. (Varie selon l'implémentation du script)

Ignorer la vérification du certificat (Attention)

wget-ssl-debug-log --no-check-certificate https://self-signed.badssl.com/

Lorsqu'une erreur de vérification de certificat se produit, vous pouvez utiliser l'option `--no-check-certificate` pour ignorer la vérification et tenter la connexion tout en obtenant des informations de débogage. Ceci est utile pour le diagnostic des problèmes, mais il est dangereux pour la sécurité, alors ne l'utilisez pas dans un environnement de production réel.

Installation

`wget-ssl-debug-log` n'est pas une commande incluse par défaut dans les distributions Linux standard. Généralement, elle est utilisée en compilant `wget` à partir du code source avec des options de débogage spécifiques activées, ou en écrivant un script shell qui encapsule `wget`. Voici les approches courantes.

Méthode 1 : Compilation du code source de `wget` (recommandé)

Pour compiler `wget` pour la journalisation de débogage SSL, vous devez ajouter l'option `--enable-debug` au script `configure` avec la bibliothèque OpenSSL. Cette méthode fournit les informations de débogage SSL les plus détaillées.

sudo apt update && sudo apt install -y build-essential libssl-dev
cd /tmp
wget https://ftp.gnu.org/gnu/wget/wget-1.21.4.tar.gz # Vérifier la dernière version
tar -xzf wget-1.21.4.tar.gz
cd wget-1.21.4
./configure --with-ssl=openssl --enable-debug
make
sudo make install

Exemple : Compilation du code source de `wget`

Méthode 2 : Écriture d'un script shell

Vous pouvez écrire un script shell pour la journalisation de débogage SSL en utilisant l'installation `wget` existante. Cette méthode combine l'option `--debug` de `wget` avec des outils de traçage d'appels système tels que `strace` ou `ltrace`. Bien que cette méthode soit plus simple que la compilation, la profondeur des informations de débogage fournies peut varier.

#!/bin/bash

# wget-ssl-debug-log.sh

LOG_FILE="wget_ssl_debug_$(date +%Y%m%d_%H%M%S).log"

echo "[$(date)] Starting wget with SSL debug logging..."
echo "Log file: $LOG_FILE"

# Utilise l'option --debug de wget et la redirection stderr pour enregistrer les journaux détaillés
# Configuration des variables d'environnement liées à OpenSSL (si nécessaire)

# Exemple : journalisation de débogage SSL pour une URL spécifique
# Dans une utilisation réelle, utilisez "$@" pour accepter les arguments

# Variables d'environnement de débogage OpenSSL (OpenSSL 1.1.0 et supérieur)
# export SSLKEYLOGFILE="ssl_key_log.txt" # Journalisation de la clé de session TLS (pour l'analyse Wireshark)

# Utilisation de l'option wget --debug
wget --debug "$@" 2>&1 | tee -a "$LOG_FILE"

# Traçage des appels système avec strace (facultatif)
# strace -o "${LOG_FILE%.log}_strace.log" wget "$@"

echo "[$(date)] Debugging complete. Check $LOG_FILE for details."

Exemple : Script `wget-ssl-debug-log.sh`

chmod +x wget-ssl-debug-log.sh
sudo mv wget-ssl-debug-log.sh /usr/local/bin/wget-ssl-debug-log

Accorder les permissions d'exécution au script et le déplacer

Conseils et précautions

La journalisation de débogage SSL fournit des informations très détaillées, ce qui peut entraîner une taille de fichier journal importante. Après avoir résolu le problème, il est recommandé de désactiver le mode débogage ou de nettoyer les fichiers journaux.

Conseils d'analyse des journaux

La recherche des mots-clés suivants dans le fichier journal généré peut aider à résoudre les problèmes.

  • `ERROR`
  • `FAIL`
  • `certificate`
  • `handshake`
  • `protocol`
  • `cipher`
  • `peer`

Avertissement de sécurité

L'option `--no-check-certificate` présente des risques de sécurité et ne doit donc être utilisée qu'à des fins de diagnostic et jamais dans un environnement de production réel.

  • Risque accru d'interception de données lors de l'utilisation de `--no-check-certificate`
  • Il est recommandé d'utiliser toujours des certificats valides

Utilisation des variables d'environnement OpenSSL

Pour activer la journalisation de débogage de la bibliothèque OpenSSL elle-même, vous pouvez définir la variable d'environnement `SSLKEYLOGFILE` pour enregistrer la clé de session TLS. Ce fichier peut être utilisé par des outils d'analyse réseau tels que Wireshark pour déchiffrer le trafic chiffré.

export SSLKEYLOGFILE="/tmp/ssl_key_log.txt"
wget-ssl-debug-log https://example.com/
# Utilisez le fichier ssl_key_log.txt dans Wireshark pour déchiffrer le trafic

Exemple de journalisation de la clé de session TLS


Commandes de la même catégorie