J'ai un serveur apache qui tourne et ouvert sur l'extérieur.
Régulièrement, des nimda tentent le vieux "cmd.Exe" et ses variantes.
J'ai donc développé un petit script en php qui parcourt le fichier de
log, cherche la trace, recupere l'ip et l'ajoute au hosts.deny.
J'ai ensuite crée un fichier Check.sh :
#!/bin/sh
php banIPs.php > /dev/null
J'ai ensuite crée un lien dans /cron.hourly vers Check.sh.
Le pb est qu'il ne s'execute jamais !
Par contre, si j'invoque à la main Check.sh, le travail est fait.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Cyrille Szymanski
On 2004-04-29, charly wrote:
J'ai un serveur apache qui tourne et ouvert sur l'extérieur. Régulièrement, des nimda tentent le vieux "cmd.Exe" et ses variantes. J'ai donc développé un petit script en php qui parcourt le fichier de log, cherche la trace, recupere l'ip et l'ajoute au hosts.deny.
Je ne vois pas trop l'intérêt, peux-tu m'expliquer pourquoi tu fais cela ?
J'ai ensuite crée un fichier Check.sh :
#!/bin/sh php banIPs.php > /dev/null
Tu peux probablement passer directement par l'interpréteur php, par exemple :
#!/usr/local/bin/php
J'ai ensuite crée un lien dans /cron.hourly vers Check.sh.
Je pense qu'il vaut mieux éviter cron.hourly et tout simplement ajouter une commande du type 0 * * * * /usr/local/bin/banIPs au crontab.
Ou alors utiliser /etc/cron.d/
-- cns
On 2004-04-29, charly <kanari@yahoo.fr> wrote:
J'ai un serveur apache qui tourne et ouvert sur l'extérieur.
Régulièrement, des nimda tentent le vieux "cmd.Exe" et ses variantes.
J'ai donc développé un petit script en php qui parcourt le fichier de
log, cherche la trace, recupere l'ip et l'ajoute au hosts.deny.
Je ne vois pas trop l'intérêt, peux-tu m'expliquer pourquoi tu fais
cela ?
J'ai ensuite crée un fichier Check.sh :
#!/bin/sh
php banIPs.php > /dev/null
Tu peux probablement passer directement par l'interpréteur php, par
exemple :
#!/usr/local/bin/php
J'ai ensuite crée un lien dans /cron.hourly vers Check.sh.
Je pense qu'il vaut mieux éviter cron.hourly et tout simplement
ajouter une commande du type
0 * * * * /usr/local/bin/banIPs
au crontab.
J'ai un serveur apache qui tourne et ouvert sur l'extérieur. Régulièrement, des nimda tentent le vieux "cmd.Exe" et ses variantes. J'ai donc développé un petit script en php qui parcourt le fichier de log, cherche la trace, recupere l'ip et l'ajoute au hosts.deny.
Je ne vois pas trop l'intérêt, peux-tu m'expliquer pourquoi tu fais cela ?
J'ai ensuite crée un fichier Check.sh :
#!/bin/sh php banIPs.php > /dev/null
Tu peux probablement passer directement par l'interpréteur php, par exemple :
#!/usr/local/bin/php
J'ai ensuite crée un lien dans /cron.hourly vers Check.sh.
Je pense qu'il vaut mieux éviter cron.hourly et tout simplement ajouter une commande du type 0 * * * * /usr/local/bin/banIPs au crontab.
Ou alors utiliser /etc/cron.d/
-- cns
charly
Cyrille Szymanski wrote:
On 2004-04-29, charly wrote:
J'ai un serveur apache qui tourne et ouvert sur l'extérieur. Régulièrement, des nimda tentent le vieux "cmd.Exe" et ses variantes. J'ai donc développé un petit script en php qui parcourt le fichier de log, cherche la trace, recupere l'ip et l'ajoute au hosts.deny.
Je ne vois pas trop l'intérêt, peux-tu m'expliquer pourquoi tu fais cela ?
Je suis parti du principe que cette ip appartenant à une machine
vérolée, elle pourrait servir de pt de départ à d'autres virus, moins orientés IIS et plus apache => dans le doute, je le bannis.
Evidemment, régulièrement je vais vider les ip car comme elles sont dynamiques, une machine saine pourrait en hériter.
Je vais essayer l'interpréteur php pour voir.
Pour le crontab, j'ai bien noté, mais c'est étrange que le hourly ne fonctionne pas avec ce script....
Merci de ta réponse en tout cas.
Cyrille Szymanski wrote:
On 2004-04-29, charly <kanari@yahoo.fr> wrote:
J'ai un serveur apache qui tourne et ouvert sur l'extérieur.
Régulièrement, des nimda tentent le vieux "cmd.Exe" et ses variantes.
J'ai donc développé un petit script en php qui parcourt le fichier de
log, cherche la trace, recupere l'ip et l'ajoute au hosts.deny.
Je ne vois pas trop l'intérêt, peux-tu m'expliquer pourquoi tu fais
cela ?
Je suis parti du principe que cette ip appartenant à une machine
vérolée, elle pourrait servir de pt de départ à d'autres virus, moins
orientés IIS et plus apache => dans le doute, je le bannis.
Evidemment, régulièrement je vais vider les ip car comme elles sont
dynamiques, une machine saine pourrait en hériter.
Je vais essayer l'interpréteur php pour voir.
Pour le crontab, j'ai bien noté, mais c'est étrange que le hourly ne
fonctionne pas avec ce script....
J'ai un serveur apache qui tourne et ouvert sur l'extérieur. Régulièrement, des nimda tentent le vieux "cmd.Exe" et ses variantes. J'ai donc développé un petit script en php qui parcourt le fichier de log, cherche la trace, recupere l'ip et l'ajoute au hosts.deny.
Je ne vois pas trop l'intérêt, peux-tu m'expliquer pourquoi tu fais cela ?
Je suis parti du principe que cette ip appartenant à une machine
vérolée, elle pourrait servir de pt de départ à d'autres virus, moins orientés IIS et plus apache => dans le doute, je le bannis.
Evidemment, régulièrement je vais vider les ip car comme elles sont dynamiques, une machine saine pourrait en hériter.
Je vais essayer l'interpréteur php pour voir.
Pour le crontab, j'ai bien noté, mais c'est étrange que le hourly ne fonctionne pas avec ce script....
Merci de ta réponse en tout cas.
Cyrille Szymanski
On 2004-04-30, charly wrote:
Evidemment, régulièrement je vais vider les ip car comme elles sont dynamiques, une machine saine pourrait en hériter.
En réalité tu la désactives temporairement. Après tout pourquoi pas, un autre ver installé sur la machine pourrait tenter une attaque sur ton serveur. Mais je ne suis pas persuadé de l'efficacité de la méthode.
Je ne sais pas si nimda est capable de passer par un proxy, mais si c'est le cas, le fait de bannir cette IP pourrait bannir beaucoup trop d'utilisateurs d'un coup.
Je vais essayer l'interpréteur php pour voir.
Disons que l'idée c'est de ne pas passer par sh quand cela n'est pas nécessaire. Cela ne résoudra pas les problèmes de cron.hourly.
Merci de ta réponse en tout cas.
De rien.
-- cns
On 2004-04-30, charly <charlyspam@yahoo.fr> wrote:
Evidemment, régulièrement je vais vider les ip car comme elles sont
dynamiques, une machine saine pourrait en hériter.
En réalité tu la désactives temporairement. Après tout pourquoi pas,
un autre ver installé sur la machine pourrait tenter une attaque sur
ton serveur. Mais je ne suis pas persuadé de l'efficacité de la
méthode.
Je ne sais pas si nimda est capable de passer par un proxy, mais si
c'est le cas, le fait de bannir cette IP pourrait bannir beaucoup trop
d'utilisateurs d'un coup.
Je vais essayer l'interpréteur php pour voir.
Disons que l'idée c'est de ne pas passer par sh quand cela n'est pas
nécessaire. Cela ne résoudra pas les problèmes de cron.hourly.
Evidemment, régulièrement je vais vider les ip car comme elles sont dynamiques, une machine saine pourrait en hériter.
En réalité tu la désactives temporairement. Après tout pourquoi pas, un autre ver installé sur la machine pourrait tenter une attaque sur ton serveur. Mais je ne suis pas persuadé de l'efficacité de la méthode.
Je ne sais pas si nimda est capable de passer par un proxy, mais si c'est le cas, le fait de bannir cette IP pourrait bannir beaucoup trop d'utilisateurs d'un coup.
Je vais essayer l'interpréteur php pour voir.
Disons que l'idée c'est de ne pas passer par sh quand cela n'est pas nécessaire. Cela ne résoudra pas les problèmes de cron.hourly.
Merci de ta réponse en tout cas.
De rien.
-- cns
Michel Tatoute
Bonjour,
Bonjour,
J'ai ensuite crée un fichier Check.sh :
#!/bin/sh php banIPs.php > /dev/null
J'ai ensuite crée un lien dans /cron.hourly vers Check.sh.
Le pb est qu'il ne s'execute jamais ! Par contre, si j'invoque à la main Check.sh, le travail est fait.
qqun peut m'expliquer ce qui se passe svp ?
Merci d'avance !
utilise crontab pour déclencher ton script et aussi précise le path de php. Le cron est lancé avec un environnement peu étoffé et donc php n'est probablement pas dans le path. par exemple:
De plus comme on te l'as dit, il vaut mieux faire de banIPs.php un vrai script executable avec au début #!/usr/local/bin/php
et le chmod +x adequat.
Michel.
Bonjour,
Bonjour,
J'ai ensuite crée un fichier Check.sh :
#!/bin/sh
php banIPs.php > /dev/null
J'ai ensuite crée un lien dans /cron.hourly vers Check.sh.
Le pb est qu'il ne s'execute jamais !
Par contre, si j'invoque à la main Check.sh, le travail est fait.
qqun peut m'expliquer ce qui se passe svp ?
Merci d'avance !
utilise crontab pour déclencher ton script et aussi précise le path de
php. Le cron est lancé avec un environnement peu étoffé et donc php
n'est probablement pas dans le path. par exemple:
J'ai ensuite crée un lien dans /cron.hourly vers Check.sh.
Le pb est qu'il ne s'execute jamais ! Par contre, si j'invoque à la main Check.sh, le travail est fait.
qqun peut m'expliquer ce qui se passe svp ?
Merci d'avance !
utilise crontab pour déclencher ton script et aussi précise le path de php. Le cron est lancé avec un environnement peu étoffé et donc php n'est probablement pas dans le path. par exemple:
De plus comme on te l'as dit, il vaut mieux faire de banIPs.php un vrai script executable avec au début #!/usr/local/bin/php
et le chmod +x adequat.
Michel.
charly
Michel Tatoute wrote:
Bonjour,
Bonjour,
J'ai ensuite crée un fichier Check.sh :
#!/bin/sh php banIPs.php > /dev/null
J'ai ensuite crée un lien dans /cron.hourly vers Check.sh.
Le pb est qu'il ne s'execute jamais ! Par contre, si j'invoque à la main Check.sh, le travail est fait.
qqun peut m'expliquer ce qui se passe svp ?
Merci d'avance !
utilise crontab pour déclencher ton script et aussi précise le path de php. Le cron est lancé avec un environnement peu étoffé et donc php n'est probablement pas dans le path. par exemple:
De plus comme on te l'as dit, il vaut mieux faire de banIPs.php un vrai script executable avec au début #!/usr/local/bin/php
et le chmod +x adequat.
Michel.
Ah oui, voila une très bonne idée !
Merci, j'avais pas compris ca comme ca :) (tellement l'habitude d'utiliser php comme langage de dev web que j'en avais oublié qu'il pouvait aussi avoir son chmod +x :) )
Merci et bon WE !
Michel Tatoute wrote:
Bonjour,
Bonjour,
J'ai ensuite crée un fichier Check.sh :
#!/bin/sh
php banIPs.php > /dev/null
J'ai ensuite crée un lien dans /cron.hourly vers Check.sh.
Le pb est qu'il ne s'execute jamais !
Par contre, si j'invoque à la main Check.sh, le travail est fait.
qqun peut m'expliquer ce qui se passe svp ?
Merci d'avance !
utilise crontab pour déclencher ton script et aussi précise le path de
php. Le cron est lancé avec un environnement peu étoffé et donc php
n'est probablement pas dans le path. par exemple:
De plus comme on te l'as dit, il vaut mieux faire de banIPs.php un vrai
script executable avec au début
#!/usr/local/bin/php
et le chmod +x adequat.
Michel.
Ah oui, voila une très bonne idée !
Merci, j'avais pas compris ca comme ca :) (tellement l'habitude
d'utiliser php comme langage de dev web que j'en avais oublié qu'il
pouvait aussi avoir son chmod +x :) )
J'ai ensuite crée un lien dans /cron.hourly vers Check.sh.
Le pb est qu'il ne s'execute jamais ! Par contre, si j'invoque à la main Check.sh, le travail est fait.
qqun peut m'expliquer ce qui se passe svp ?
Merci d'avance !
utilise crontab pour déclencher ton script et aussi précise le path de php. Le cron est lancé avec un environnement peu étoffé et donc php n'est probablement pas dans le path. par exemple:
De plus comme on te l'as dit, il vaut mieux faire de banIPs.php un vrai script executable avec au début #!/usr/local/bin/php
et le chmod +x adequat.
Michel.
Ah oui, voila une très bonne idée !
Merci, j'avais pas compris ca comme ca :) (tellement l'habitude d'utiliser php comme langage de dev web que j'en avais oublié qu'il pouvait aussi avoir son chmod +x :) )