Auteur Sujet: Configurer Apache 2.4 pour avoir accès aux ports de retour dans les logs  (Lu 13752 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 080
    • Twitter LaFibre.info
Configurer Apache 2.4 pour avoir accès aux ports de retour dans les logs
Tutoriel pour Ubuntu server et Debian


Les logs standards "combined" sont composés de ces informations :
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
- %h : adresse IP du client
- %l : identité (RFC 1413) du client : jamais disponible
- %u : l'identifiant utilisateur de la personne, issu d'une authentification HTTP : ne concerne pas LaFibre.info
- %t : L'heure à laquelle la requête a été reçue.
- \"%r\" : requête du client (placée entre guillemets)
- %>s : code de statut que le serveur retourne au client
- %O : nombre réel d'octets reçus et envoyés sur le réseau.
- \"%{Referer}i\" : L'en-tête "Referer" de la requête HTTP. Il indique le site depuis lequel le client prétend avoir lancé sa requête.
- \"%{User-agent}i\" : Le User-Agent (information d'identification que le navigateur du client envoie à propos de lui-même).

Je vous propose de remplacer l'identité du client, inutilisé aujourd'hui et situé juste aprés l'adresse IP pour y mettre le numéro de port avec %{remote}p

Il y a une façon sale de faire : modifier la ligne de LogFormat situé dans /etc/apache2/apache2.conf
Cela fonctionne, mais lors des mise à jour vers des versions plus récente d'Apache, cela va poser problème quand le fichier apache2.conf change.
(la mise à jour vous proposera de garder votre fichier - plus adapté à la nouvelle version - ou de mettre le nouveau fichier sans vos modifications)

Il y a la façon propre de modifier les logs que je vous propose :

Étape 1 :
Créez le fichier /etc/apache2/conf-available/log-personnalise.conf :
sudo nano /etc/apache2/conf-available/log-personnalise.conf
copiez /coller les ligne ci-dessous :

# log "combined" modifié pour avoir le port: on remplace l'identité RFC 1413 du client par le port distant
LogFormat "%h %{remote}p %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combiport

Étape 2 :
Activez le fichier de configuration crée :
sudo a2enconf log-personnalise

Étape 3 :
Modifiez les  fichiers de configurations de vos sites web.
Cette commande modifie les fichiers de configurations de tous vos sites web pour passer sur le nouveau format :
sudo sed -i -e "s/combined/combiport/g" /etc/apache2/sites-available/*.conf

Étape 4 :
Demandez a Apache de prendre en compte les modifications effectuées :
sudo service apache2 reload




édit : Pour ceux qui se demandent ce que cela donne, j'ai mis 1 minute de log de LaFibre.info dans un tableur.
=> 201512_log_lafibreinfo.ods
(format Libre Office Calc, lisible avec Microsoft Excel et Open Office)

J'ai pris les logs de 22h14 aujourd'hui, c'est le moment où j'ai posté ce message.

J'ai anonymisé les IP (il ne reste que le début).

Vous pouvez voir que en une minute, on a 924 lignes avec du HTTP1.1, du HTTP1.0, des GET, des POST, des erreurs 302, 304 ou 404, des requêtes de 192 octets à 1,3Mo, de l'user agent curl, Google bot, Tiny Tiny RSS, Python-urllib/1.17, Firefox, Chrome, Internet Explorer,... ect... bref un échantillons de la vraie vie d'un site.

Note pas de requête http car les requêtes http (redirections vers https) sont dans un autre fichier de log.

En fait j'ai 3 fichiers de log pour le site :
- le site en https
- les redirection http vers https
- les redirections pour ceux qui ont mis un www en https vers la même url sans le www, toujours en https

vivien

  • Administrateur
  • *
  • Messages: 47 080
    • Twitter LaFibre.info
Configurer Apache 2.4 pour avoir accès aux ports de retour dans les logs
« Réponse #1 le: 14 janvier 2016 à 08:13:38 »
Exemple concret de l'information apporté par ces ports de retour dans les logs :

Les Windows et Mac modernes (à partir de 2007) utilisent la plage du port 49152 au port 65535
Les Linux à partir de 2001 (noyaux 2.4.x à 3.13) utilisent la plage du port 32768 au port 61000
(cf Plage de ports dynamique du protocole TCP pour plus d'informations)

On parle régulièrement de la plage IP 212.234.218.0/24 utilisée par le ministère de l'Intérieur.
On peut se demander si il y a un petit NAT (comme pour une box ADSL ou FTTH) qui conserve le port de retour avec quelques postes derriére, ou, si il y a un Carrier-grade NAT avec des milliers de postes derrière chaque IP.

Les ports de retour permettent de répondre à la question : cf log de cette plage IP (ce ne sont que des visiteurs de LaFibre.info pas d'intervention sur le forum) : 201601_log_lafibreinfo_interieur.ods
(format Libre Office Calc, lisible avec Microsoft Excel et Open Office)

Pour rappel pour le User Agent :
- Présence de "Windows NT 10.0" =2015=> Windows 10 et Windows Server 2016
- Présence de "Windows NT 6.3"  =2013=> Windows 8.1 et Windows Server 2012 R2
- Présence de "Windows NT 6.2"  =2012=> Windows 8 et Windows Server 2012
- Présence de "Windows NT 6.1"  =2009=> Windows 7 et Windows Server 2008 R2
- Présence de "Windows NT 6.0"  =2007=> Windows Vista et Windows Server 2008
- Présence de "Windows NT 5.2"  =2003=> Windows XP 64 Bits et Windows Server 2003
- Présence de "Windows NT 5.1"  =2001=> Windows XP
- Présence de "Windows NT 5.0"  =2000=> Windows 2000

Cf Liste de user agent : Liste des User Agent par système d'exploitation et navigateur


On note que pour les différentes IP utilisées (le fichier est classé par défaut par IP, puis par port de retour) va du port 1024 au port 65535, alors que les systèmes d'exploitation utilisés sont majoritairement du Windows 7 et un peu de Linux Ubuntu.

=> C'est donc le signe d'un Carrier-grade NAT avec des milliers de postes derrière. Le Carrier-grade NAT va utiliser toute la plage possible de port.
C'est confirmé par les user-agent qui sont assez variés sur chaque IP : il y a donc beaucoup de postes derrière ces IP.

L'article de NextINpact :


Une adresse IP du ministère de l'Intérieur assignée hors de la résidence Wikipédia

Une IP partagée au sein du ministère de l’Intérieur bannie de Wikipedia pour « attitude non collaborative (…), passage en force » ou encore « foutage de gueule ». Voilà la déconvenue racontée par le Canard Enchaîné cette semaine.

Le couperet est tombé le 18 décembre 2015 suite à la décision d’un certain Jules, agacé des contributions de l’utilisateur 212.234.218.196 sur Wikipedia : « entre vandalismes et attitude non-collaborative (passages en force, pistage des contributions d'autrui et foutage de gueule en prime), cette IP pose plus de problèmes qu'elle n'apporte de chose positive à Wikipédia. J'ai donc réévalué le blocage à une durée d'un an ». Bon prince, Jules indique qu’il « reste possible aux personnes travaillant au ministère de l'Intérieur avec cette IP de contribuer en créant un compte. »

C'est le ministère de l'Intérieur qui est titulaire de cette adresse comme on peut le tester ici. Cette adresse avait en tout cas déjà subi pareilles mesures dans le passé, pour des durées toutefois plus courtes. En mai 2013 par exemple, on lui reprochait des « retraits répétés d’informations sourcées », et déjà du « vandalisme », des « dégradations répétées ». Un exemple, l’utilisateur 212.234.218.196 avait introduit l’expression de « sale batar » (sic) dans une entrée de l’encyclopédie. Certaines interventions sont en lien avec les intérêts du ministère. En 2013, par exemple, notre 212.234.218.196 avait par exemple tenté d’effacer ses relations électriques avec les opposants au « Mariage pour Tous ». D’autres sont cependant sans aucun rapport, comme cette modification d’une fiche relative à la taupe de Townsend.

Ce n'est pas la première fois qu'une IP rattachée à un ministère est prise la main dans le pot de confiture. En mai 2009, des petites mains de la Rue de Valois tentaient de refaire une beauté à Hadopi. En juillet 2009, un acharné fonctionnaire avait choyé un vendredi à 23h11, l'entrée d'Olivier Henrard, directeur adjoint du ministre de la Culture Frédéric Mittérand, et présenté comme corédacteur de la loi sur la réponse graduée.

Source : NextINpact, le 13 janvier 2016 par Marc Rees.