View previous topic :: View next topic |
Author |
Message |
xelif Apprentice
Joined: 16 Jan 2006 Posts: 152
|
Posted: Tue Mar 16, 2010 1:11 pm Post subject: [Logs] Envoie de logs par le protocole http [solved] |
|
|
Bonjour à tous
J'ai une machine placée sur chez un client (avec ses propres problèmatiques de sécuritées), et j'aimerai pouvoir récupérer de mon lieu de travail les logs présent sur ma machine.
Normalement le port 80, utilisé pour du http est ouvert c'est pour cela que nous l'avons choisis. (http est donné de manière indicative, le port 443 serait plus approprié car permettrait de crypter les infos circulant sur le net)
J'ai d'un autre coté ma machine de journalisation des informations avec une analyse des fichiers journaux provenant de plusieurs machines chez différents clients.
J'aimerai savoir si il était possible d'envoyer des logs générés par syslog-ng (entre autre) par le port 80 et via le protocole http.
J'ai bien vu que syslog permettait d'envoyer des logs sur des machines distantes en via un port paticulier (voir http://wiki.auf.org/wikiteki/Syslog-ng )
Mais cela ne suffit pas pour l'utilisation que je veux en faire. Car si le client possède un firewall effectuant une analyse des trames cela peut bloquer mes communications
Est ce que quelqu'un à déjà une solution existante pour ce genre de problèmes? (je prefererais car j'ai pas envie de coder moi même la solution ^^)
Merci d'avance pour ces réponses
Last edited by xelif on Tue Mar 23, 2010 12:27 pm; edited 1 time in total |
|
Back to top |
|
|
truc Advocate
Joined: 25 Jul 2005 Posts: 3199
|
Posted: Thu Mar 18, 2010 7:43 pm Post subject: |
|
|
j'sais pas trop pour syslog machin, mais, tu peux avoir un cronjob qui copie les logs LAOUILFO et que le serveur http les sert. Par conte, les servir tels quels, c'est pas top, car les fichiers de log peuvent être gros mais se compressent en général très bien, donc, pourquoi ne pas les comprosser dans le cronjob? Après, de ton coté, tu ne les récupères que de temps en temps?
Bon, c'est pas du temps réel mais bon... _________________ The End of the Internet! |
|
Back to top |
|
|
guilc Bodhisattva
Joined: 15 Nov 2003 Posts: 3326 Location: Paris - France
|
Posted: Thu Mar 18, 2010 9:02 pm Post subject: |
|
|
syslog, si c'est pour faire du temps réel, on utilise... le protocole syslog (en UDP), rien d'autre, c'est pas fait pour.
Après, si c'est récupérer a intervalles réguliers, plutot qu'un cronjob, le post-rotate me semble le plus adapté pour y coller un SCP, push WEBDAV, ou tout autre truc imaginable. Perso, c'est que j'utilise toutes les 24h pour agréger les logs de mon cluster. (en SCP mais bon, ça s'adapte).
Pour donner une idée, voila ce que je fais pour apache :
Code: | /var/log/apache2/*.log {
daily
missingok
rotate 52
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
/etc/init.d/apache2 reload > /dev/null
fi
scp -Bq -i /root/.ssh/id_rsa /var/log/apache2/*access.log-`date +"%Y%m%d"`* pepperway-pp.pepperway.fr:/var/log/apache2/`uname -n`/
endscript
}
|
On peut tout à fait mettre ce qu'on veut à la place du scp dans le postrotate !
[EDIT]
Accessoirement, l'argument de sécurité faisaint qu'on ne laisse que HTTP ne tient pas la route 1 seconde.
Absolument aucun impératif de sécurité empêche d'ouvrir un canal syslog en UDP sur de l'IPSEC. Ca met à peu près 15mins à configurer ça entre 2 machines spécifique... Il suffit de configurer un petit tunnel ipsec en mode transport entre les 2 machines (2 fichiers de conf de 10 lignes chacun), d'autoriser uniquement le trafic IPSEC (AH et ESP) entre les 2 machines, et le trafic UDP syslog va passer tout seul comme un grand dessus, sans se poser plus de problèmes. _________________ Merci de respecter les règles du forum.
Mon site perso : https://www.xwing.info
Mon PORTDIR_OVERLAY : https://gentoo.xwing.info ou layman -a xwing |
|
Back to top |
|
|
xelif Apprentice
Joined: 16 Jan 2006 Posts: 152
|
Posted: Tue Mar 23, 2010 7:13 am Post subject: |
|
|
oki j'ai pris note de vos remarques...
@Truc il me faut du temps réèl...
@guilc
pour le fait d'envoyer en http c'est mon supérieur qui me le demande... j'ai aussi dit que c'était idiot car syslog envoyait déjà des traces de logs....
Le souci c'est que les clients pour notre produit sont aussi récalcitrants à modifier leurs passerelles/firewall...
En fait j'ai programmé le truc directement dans le programme... quand il envoie des infos au syslog il envoie aussi une requete à notre serveur web, sur le bon backend, afin de stocker le message dans une base de donnée de logs...
et j'ai pas eu à réinventer la roue... beaucoup de choses existaient deja pour le faire dans le code du programme
Merci pour vos réponses |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|