Non, ce sont des messages propres au protocole SSH, et non des données utilisateur (fichiers en transfert, commandes, sortie console, ...). Comme dit plus haut, ça permet de fermer les connexions fantômes.
C'est utile en cas de problème du poste client, ou par exemple avec un équipement de filtrage réseau qui mettrait fin aux connexions TCP de façon autoritaire parce ce qu'une trop grande durée s'est écoulée sans données transitant (Cisco Pix/Asa par exemple).
Ce qu'il faut c'est effectivement un mécanisme coté shell pour répondre à la problématique.
/var/qmail/mails/root/ est bien sûr à remplacer par ton répertoire à traiter.
Avec les paramètres de find, tu peux aussi n'effectuer l'action que sur les fichiers vieux de plus de N jours (ou minutes sur certaines versions de find).
Dans l'idéal, mieux vaut même laisser les droits à un utilisateur tiers (ou root), et ne donner les droits à apache d'écrire que dans les répertoires où il en a vraiment besoin. Beaucoup de gens ont tendance à trop faire confiance à leur application web, alors que c'est la partie (normalement) la plus sensible sur un serveur HTTP (en tous cas la plus exposée).
D'après http://httpd.apache.org/docs/2.2/mod/core.html#adddefaultcha(...) , il est possible d'utiliser l'élément de configuration AddDefaultCharset au niveau d'un vhost, donc de déclarer un encodage par défaut pour chacun de test vhosts. L'option est documentée comme utilisable dans tous les contextes (globalement, vhost, directory, .htaccess) pour les trois versions majeures d'apache (1.3, 2.0, 2.2), donc normalement il y a pas mal de chances pour que ce soit bon pour toi.
D'expérience, sur des sites à fort trafic (plusieurs centaines de mégas-bits par serveur en sortie en période de charge), il vaut mieux les désactiver, ça maintient des connexions pour rien, et donc ça augmente artificiellement le nombre de process Apache connectés (là ou justement on a besoin de diminuer ce nombre de façon à garder un écart correct entre le nombre de clients connectés et le MaxClient). Ca peut faire vraiment une grosse différence, en terme d'utilisation mémoire et de temps CPU.
Une commande unique ou un script complet irait? Pour un script :
xarli@tiki:/tmp$ cat test.sh
exec < file1
while read ligne
do
grep $ligne file2
done
xarli@tiki:/tmp$ sh test.sh
dsdssd sfdsdfsd toto
qsdfqsdftoto toto qsqsf
sisi qsfsdfsdf
dfsdfs nono qdqsd
xarli@tiki:/tmp$
Ce que tu veux faire, c'est du bonding d'interface (failover donc actif/passif), ça marche assez bien pour de la haute dispo (j'en utilise couramment). Un lien au hasard trouvé dans google sur le sujet spécifiquement pour Debian :
Si si, DRBD 8.X.X supporte les configurations actif/actif (accès simultanés en lecture/écriture), bien que les docs ne soient pas à jour sur le site de DRBD et linux-ha ( http://www.linux-ha.org/DRBD/FAQ#head-ec4ab5a57e15232e9ac4e1(...) ). La seule contrainte est d'utiliser un système de fichier supportant les accès simultanés depuis plusieurs noeuds (GFS ou OCFS2). Par contre tu es limité à 2 noeuds avec DRBD.
Une autre solution plus performante et éventuellement plus extensible (plus de noeuds accédant à la ressource), c'est comme tu le dis une baie de disque supportant les accès concurrents, et un système de fichier identique à ceux cités ci-dessus (GFS/OCFS).
C'est un système de fichier Fuse se contentant de journaliser les opérations sous un point de montage, et qui te permettrait donc de voir les modifications/créations de fichiers effectués à un endroit précis :
Par contre, pour surveiller tout le système à partir de la racine, ça risque peut-être d'être compliqué, mais pour une petite arborescence, ça devrait répondre à ton problème (la partie dernier fichier modifié au moins).
Déjà fait ce genre de truc, avec proftpd et xinetd. En gros, un nouveau serveur ftp accepte chaque nouvelle connexion, et on lance un script dès qu'il rend la main.
dans la conf xinetd :
service ftp
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/local/bin/lance-ftp.sh
log_on_success += DURATION USERID
log_on_failure += USERID
bind = monnomdhote
}
Et le fichier shell /usr/local/bin/lance-ftp.sh correspondant :
Dans le script appelé après la fin d'une connexion, il faut vérifier si des fichiers ont été déposés par contre, mais il n'est lancé que lorsqu'un utilisateur FTP se déconnecte (pas dis que c'était optimal non plus).
C'est un soft qui va surveiller ton journal des accès, et après un certain nombre d'échec, il va bannir via hosts.deny les adresses IP sources. Tu peux whitelister des adresses.
Des évènements sont-ils rajoutés dans les journaux de ton serveur la nuit, dans les périodes ou il semble injoignable (/var/log/syslog)?
Sinon, essaie de mettre en place des scripts appelés régulièrement sur ce serveur, en journalisant leur sortie, pour voir ce qui se passe (ping vers une adresse IP extérieure, récupération d'un fichier en HTTP sur le net, résolution DNS, ping vers la passerelle). Ca te permettra de voir ce qui se passe de manière plus précise.
Dans pas longtemps la release candidate 2 vient de sortir, bien que la roadmap ( http://svn.drbd.org/drbd/trunk/ROADMAP ) indique de nombreux points restants à traiter, cad pas encore à 100% (est-elle à jour?).
Bah chez moi ça marche pourtant, avec tomcat5 fraichement installé pour l'essai.
root@karlanton:~# /usr/share/tomcat5/bin/startup.sh
The JAVA_HOME environment variable is not defined
This environment variable is needed to run this program
root@karlanton:~# export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
root@karlanton:~# /usr/share/tomcat5/bin/startup.sh
Using CATALINA_BASE: /usr/share/tomcat5
Using CATALINA_HOME: /usr/share/tomcat5
Using CATALINA_TMPDIR: /usr/share/tomcat5/temp
Using JAVA_HOME: /usr/lib/jvm/java-1.5.0-sun
Sinon, essaye de rajouter l'affichage des variables dans les scripts /usr/share/tomcat5/bin/startup.sh et surtout (ou plutôt d'ailleurs) /usr/share/tomcat5/bin/catalina.sh, en rajoutant -ex après l'invocation du shell, comme ça en début de script :
#!/bin/sh -ex
Tu dois voir le bon chemin vers le binaire java à un moment, dans l'appel de catalina.sh, ce qui n'est apparemment pas le cas actuellement.
(c'est un module, activé par défaut, qui rend difficile voir impossible les attaques DOS et le brute forcing, rajoutant un délai aléatoire à chaque tentative de connexion)
Après, si tu es en réseau local, ces paramètres peuvent accélérer le tout, en désactivant les résolution de nom inverses et l'identification ident :
Oui, le referer est bien indiqué pour une page HTTPS, c'est ton navigateur qui indique de quelle page il vient, que ce soit automatique (une image aura la page sur laquelle elle se trouve comme referer), ou déclenché par l'utilisateur (je clique sur un lien).
[^] # Re: ClientAlive...
Posté par Xarli (site web personnel) . En réponse au message timeout ssh. Évalué à 2.
C'est utile en cas de problème du poste client, ou par exemple avec un équipement de filtrage réseau qui mettrait fin aux connexions TCP de façon autoritaire parce ce qu'une trop grande durée s'est écoulée sans données transitant (Cisco Pix/Asa par exemple).
Ce qu'il faut c'est effectivement un mécanisme coté shell pour répondre à la problématique.
# find
Posté par Xarli (site web personnel) . En réponse au message Supprimer une grande quantité de fichiers impossible. Évalué à 5.
find /var/qmail/mails/root/ -print | xargs /bin/rm
/var/qmail/mails/root/ est bien sûr à remplacer par ton répertoire à traiter.
Avec les paramètres de find, tu peux aussi n'effectuer l'action que sur les fichiers vieux de plus de N jours (ou minutes sur certaines versions de find).
[^] # Re: Just for the record
Posté par Xarli (site web personnel) . En réponse au journal EyeOS 1.7.0. Évalué à 3.
[^] # Re: Et le DNS ?
Posté par Xarli (site web personnel) . En réponse au message Problème de lenteur après activation de netfliter. Évalué à 0.
UseDNS no
Dans beaucoup de cas, c'est superflu, pour de l'accès depuis un réseau privé, et ça accélère beaucoup les choses.
# AddDefaultCharset
Posté par Xarli (site web personnel) . En réponse au message apache et jeux de caractere. Évalué à 2.
# KeepAlive off
Posté par Xarli (site web personnel) . En réponse au message directive KeepAlive. Évalué à 1.
L'excellent site de Willy Tarreau donne une très bonne explication : http://1wt.eu/articles/2006_lb/index_10.html#tune
# script?
Posté par Xarli (site web personnel) . En réponse au message Recherche de motifs via un fichier. Évalué à 1.
xarli@tiki:/tmp$ cat test.sh
exec < file1
while read ligne
do
grep $ligne file2
done
xarli@tiki:/tmp$ sh test.sh
dsdssd sfdsdfsd toto
qsdfqsdftoto toto qsqsf
sisi qsfsdfsdf
dfsdfs nono qdqsd
xarli@tiki:/tmp$
# Bonding
Posté par Xarli (site web personnel) . En réponse au message Haute dispo et double Lan. Évalué à 3.
http://www.debianhelp.co.uk/bonding.htm
# DRBD
Posté par Xarli (site web personnel) . En réponse au message Cluster Haute Dispo avec loadbalancing sans SAN ?. Évalué à 1.
Une autre solution plus performante et éventuellement plus extensible (plus de noeuds accédant à la ressource), c'est comme tu le dis une baie de disque supportant les accès concurrents, et un système de fichier identique à ceux cités ci-dessus (GFS/OCFS).
# Limite du nombre de partitions utilisables par disque
Posté par Xarli (site web personnel) . En réponse au message Nombre maximal de FS montés. Évalué à 0.
# GPG
Posté par Xarli (site web personnel) . En réponse au message Logiciel de chiffrement et de compression de volumes de données. Évalué à 1.
"gpg --help" te donnera les algorithmes de compression supportés.
# LoggedFS
Posté par Xarli (site web personnel) . En réponse au message journaux d'activité. Évalué à 1.
http://loggedfs.sourceforge.net/
Par contre, pour surveiller tout le système à partir de la racine, ça risque peut-être d'être compliqué, mais pour une petite arborescence, ça devrait répondre à ton problème (la partie dernier fichier modifié au moins).
# Xinetd
Posté par Xarli (site web personnel) . En réponse au message déclencher le traitement d'un fichier suite à un FTP. Évalué à 4.
dans la conf xinetd :
Et le fichier shell /usr/local/bin/lance-ftp.sh correspondant :
Dans le script appelé après la fin d'une connexion, il faut vérifier si des fichiers ont été déposés par contre, mais il n'est lancé que lorsqu'un utilisateur FTP se déconnecte (pas dis que c'était optimal non plus).
# Snoopy
Posté par Xarli (site web personnel) . En réponse au message Tracer l'activité des users. Évalué à 2.
http://sourceforge.net/projects/snoopylogger/
Ca permet de tout tracer via Syslog, pour un utilisateur ou pour un soft (très pratique).
Attention, c'est super verbeux, donc à utiliser avec précaution.
# DenyHosts
Posté par Xarli (site web personnel) . En réponse au message Serveur SSH comment se proteger. Évalué à 2.
http://denyhosts.sourceforge.net/
Assez pratique, surtout avec les robots qui tournent.
# htmldoc
Posté par Xarli (site web personnel) . En réponse au message HTML TO PDF ?. Évalué à 3.
# les droits sur la commande su ont sautés
Posté par Xarli (site web personnel) . En réponse au message compte root. Évalué à 3.
chown root /bin/su
chmod u+s /bin/su
Si su n'est pas dans /bin, fait le là où il se trouve. Tu peux le trouver avec :
which su
# Debug
Posté par Xarli (site web personnel) . En réponse au message Un serveur paresseux. Évalué à 2.
Sinon, essaie de mettre en place des scripts appelés régulièrement sur ce serveur, en journalisant leur sortie, pour voir ce qui se passe (ping vers une adresse IP extérieure, récupération d'un fichier en HTTP sur le net, résolution DNS, ping vers la passerelle). Ca te permettra de voir ce qui se passe de manière plus précise.
[^] # Re: DRBD + Heartbeat
Posté par Xarli (site web personnel) . En réponse au journal HA & FS. Évalué à 1.
# Spécifier le chemin?
Posté par Xarli (site web personnel) . En réponse au message Lancer un .out dans une console. Évalué à 1.
./a.out
[^] # Re: echo $JAVA_HOME
Posté par Xarli (site web personnel) . En réponse au message Install Tomcat sur Ubuntu 6.06. Évalué à 1.
/usr/lib/jvm/java-1.5.0-sun/bin/java
[^] # Re: echo $JAVA_HOME
Posté par Xarli (site web personnel) . En réponse au message Install Tomcat sur Ubuntu 6.06. Évalué à 2.
Sinon, essaye de rajouter l'affichage des variables dans les scripts /usr/share/tomcat5/bin/startup.sh et surtout (ou plutôt d'ailleurs) /usr/share/tomcat5/bin/catalina.sh, en rajoutant -ex après l'invocation du shell, comme ça en début de script :
Tu dois voir le bon chemin vers le binaire java à un moment, dans l'appel de catalina.sh, ce qui n'est apparemment pas le cas actuellement.
# echo $JAVA_HOME
Posté par Xarli (site web personnel) . En réponse au message Install Tomcat sur Ubuntu 6.06. Évalué à 2.
# Problème connu
Posté par Xarli (site web personnel) . En réponse au message Lenteur FTP - Deconnexion. Évalué à 1.
(c'est un module, activé par défaut, qui rend difficile voir impossible les attaques DOS et le brute forcing, rajoutant un délai aléatoire à chaque tentative de connexion)
Après, si tu es en réseau local, ces paramètres peuvent accélérer le tout, en désactivant les résolution de nom inverses et l'identification ident :
[^] # Re: Quelle différence ?
Posté par Xarli (site web personnel) . En réponse au journal Teledeclarer chez xiti. Évalué à 2.