• Serveurs
  • [Discussion] : Sécurisation & Logs {nginx} {lighttpd}

Ça c'est correct. Je pige pas son soucis avec le message d'erreur ...
Pis faut que je me sauve bosser là

Si t'as pas eu de soluce d'ici ce soir, on avisera pour la suite
Ex.
Bon travail. J'ai pas trouvé.
J'ai fini le tutoriel sinon. J'ai testé en retirant l'ip de chez moi et me bannir et cela fonctionne.
On a plus accès au serveur pendant 10 minutes.
Pour ceux trouver dans le logwatch, il faut les bannir manuellement?

access.html Je suppose que je vais mettre un .htaccess pour pas que tout le monde puisse le voir.
Voila les actions que des gens essaies:
115.239.253.11 xxx.xxx.xxx.xxx - [01/Mar/2014:11:17:36 +0100] "GET /MyAdmin/scripts/setup.php HTTP/1.1" 404 345
115.239.253.11 62.210.114.164 - [01/Mar/2014:11:17:31 +0100] "GET /phpmyadmin/scripts/setup.php HTTP/1.1" 404 345
115.239.253.11 62.210.114.164 - [01/Mar/2014:11:17:31 +0100] "GET /pma/scripts/setup.php HTTP/1.1" 404 345
115.239.253.11 62.210.114.164 - [01/Mar/2014:11:17:27 +0100] "GET /w00tw00t.at.blackhats.romanian.anti-sec🙂 HTTP/1.1" 404 345
187.122.78.222 - - [01/Mar/2014:10:34:36 +0100] "HEAD / HTTP/1.0" 200 0 "-" "-"
85.18.108.228 - - [01/Mar/2014:07:20:05 +0100] "HEAD / HTTP/1.0" 200 0 "-" "-"
179.60.148.11 - - [01/Mar/2014:03:32:58 +0100] "POST //%63%67%69%2D%62%69%6E/%70%68%70?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%6E HTTP/1.1" 400 349 "-" "-"
Je viens de les bannir manuellement + ceux du logwatch.

Donc si je recapitule, il faut regarder toujours les logwatch en email + regarder le access.html pour vérifié que l'on se fait pas attaquer.
Mais est ce qu'il est possible de ne pas mettre dans le access.html sont ip à la maison dessus car j'ai une page énorme.


Les bannis par fail2ban les bannis que pour 10 minutes.
Après c'est à moi de voir que si les ips reviennent, je les bannis?

Je viens de regarder les ip bloqués:
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- 114-43-6-245.dynamic.hinet.net anywhere
DROP all -- 220.168.30.67 anywhere
DROP all -- 217.169.223.79 anywhere
DROP all -- 198.204.242.84 anywhere
DROP all -- h2216237.stratoserver.net anywhere
DROP all -- 222.186.62.38 anywhere
DROP all -- 222.186.62.21 anywhere
DROP all -- 222.186.62.7 anywhere
DROP all -- 222.186.62.12 anywhere
DROP all -- 220.168.30.67 anywhere
DROP all -- h2216237.stratoserver.net anywhere
DROP all -- 196.51.174.61.dial.wz.zj.dynamic.163data.com.cn anywhere
DROP all -- 61.147.103.152 anywhere
DROP all -- 1.93.33.2 anywhere
fail2ban-lighttpd-noscript tcp -- anywhere anywhere multiport dports http,https
fail2ban-lighttpd tcp -- anywhere anywhere multiport dports http,https
fail2ban-vsftpd tcp -- anywhere anywhere multiport dports ftp
fail2ban-ssh tcp -- anywhere anywhere multiport dports 22186
DROP all -- scanresearch1.syssec.ruhr-uni-bochum.de anywhere
DROP all -- 110.19.ultimate-int.uia.net anywhere
DROP all -- 179.60.148.11.ptr.vds4you.ru anywhere
DROP all -- 85-18-108-228.ip.fastwebnet.it anywhere
DROP all -- 187-122-78-222.cpecoa.viaembratel.net.br anywhere
DROP all -- 115.239.253.11 anywhere
DROP all -- 96.47.239.120 anywhere
test rkhunter me donne en warning
/usr/bin/unhide.rb [ Warning ]
re !
Je vois que t'as bien avancé cet après-midi
T’embêtes pas à bannir à la main, si ils reviennent ils vont tomber tout seul maintenant.
Et ce sera comme ça à chaque fois, t'as rien à faire

Le log sert plus à garder un œil sur l'activité et à voir une anomalie, faut rester zen, Fail2ban fait le boulot !
Pour le problème de la taille, je viens de trouver une soluce pour faire un peu de ménage la dedans avec le nouveau tuto, je vais l'adapter sur celui que tu as suivi dans la semaine. La modification sera facile à faire.

Pour ton soucis de logwatch /lighttpd qui a pas l'air d'être réglé, je peux jeter un œil si tu veux. Tu peux m'envoyer un MP si tu le souhaites

Sinon tente de refaire à zéro juste cette partie :

Configuration pour lighttpd, on lance les 3 commandes :
cp /usr/share/logwatch/default.conf/logfiles/http.conf /usr/share/logwatch/default.conf/logfiles/lighttpd.conf
cp /usr/share/logwatch/default.conf/services/http.conf /usr/share/logwatch/default.conf/services/lighttpd.conf
cp /usr/share/logwatch/scripts/services/http /usr/share/logwatch/scripts/services/lighttpd
Editions des fichiers :
nano /usr/share/logwatch/default.conf/logfiles/lighttpd.conf
Modifier les valeurs :
LogFile = lighttpd/*access_log
LogFile = lighttpd/*access.log.1
LogFile = lighttpd/*access.log
LogFile = lighttpd/*access.log.1
LogFile = lighttpd/*access.log
LogFile = lighttpd/*error.log.1
LogFile = lighttpd/*error.log
nano /usr/share/logwatch/default.conf/services/lighttpd.conf
Modifier les valeurs :
Title = "lighttpd"
LogFile = lighttpd
Et vérifie que t'as bien un fichier access.log en /var/log/lighttpd/ (y'a pas de raison si tu l'as activé mais des fois que...)
Ex.
Pour le problème du script "taille de la page html" (sous lighttpd seulement)

On ouvre le script logserver.sh:
nano /usr/share/mes-scripts/logserver.sh
On efface tout et on colle :
#!/bin/bash
#
#

# Récupération des logs
cp /var/log/lighttpd/access.log /tmp/access.log
cd /tmp
# Nettoyage
sed -i '/plugins/d' access.log
sed -i '/images/ d' access.log

# Création de la page html
ccze -h < /tmp/access.log > /var/www/logserver/access.html
On le teste directement :
/usr/share/mes-scripts/logserver.sh
Voilà c'est tout. On doit avoir une page un peu plus zen vidé d'une partie des lignes superflues.

J'ai mis l'ancien tuto à jour
Ex.
Ok je viens de faire la modification et je trouve que c'est mieux.
On le sait comment si par exemple, une attaque a réussi ou elle sera bloqué avant d'avoir un problème.

Edit: j'ai plus de problème affiché avec la refonte de la modification.
Salut ex.

Dit moi en ayant fait une installe complète de ton tuto de sécurisation sous lighttpd, quelles sont les réelles modifs a effectués sous nginx.

Je ne doit pas être dans l'obligation de tous désinstaller ? Une possibilité de modifier les fichiers de config?

Merci.
Cool cocolacombe tout était bon sur le serveur, surement un fantôme...

Dam,
Il n'y a pas des millions de modif et non, on refait pas tout. Pour pas te perdre tu peux ouvrir les deux tuto sécu en même temp pour comparer vu que tout est +/- dans le même ordre

- rien à faire pour ssh/ portsentry et rkhunter

- Fail2ban, tu supprimes tout ce qui parle de lighttpd et tu ajoutes pour nginx (jail.local et filter.d)

- même topo pour pour Logwatch

-modif du script à la fin + chemin des log pour la page html/log

Rien qui doit vraiment poser problème si on s’applique
Ex.
Merci pour ce super tuto

Est il possible d'avoir une config pour créer un accès à la page http://ip_server/logserver/lighttpd.conf.html via une authentification pour plus de sécurité des infos logs ?

++boby
Salut ex_rat j'ai trouvé une solution.

j 'ai édité mon fichier lighttpd.conf puis rajouté
),
"/logserver/" =>
(
"method" => "digest",
"realm" => "ruTorrent Seedbox",
"require" => "valid-user"
)
)
J'ai rien changé au niveau des logs, ils sont toujours dans /var/www/logserver
Lighttpd utilise donc le htaccess de ruTorrent sur mes logs.

Du coup j ai bien une demande d'auth quand je demande la page http://ip_server/logserver/lighttpd.conf.html
Merci, je garde ça dans un coin
Je le colle pas dans le tuto par contre, je préfère pas faire toucher à lighttpd.conf pour pas trop mélanger les choses.
La demande de pass est prise en charge dans la version nginx du tuto.
Ex.
ptit pb :

Cron Daemon me dit :
/bin/sh: -c: ligne0: Erreur de syntaxe près du symbole inattendu « | »
/bin/sh: -c: ligne0: `if ! ( ps -U <username> | grep rtorrent > /dev/null ); then /etc/init.d/<username>-rtorrent start; fi'
chr1s wrote:ptit pb :

Cron Daemon me dit :
/bin/sh: -c: ligne0: Erreur de syntaxe près du symbole inattendu « | »
/bin/sh: -c: ligne0: `if ! ( ps -U <username> | grep rtorrent > /dev/null ); then /etc/init.d/<username>-rtorrent start; fi'
il faut remplacer les <username> par le nom d'utilisateur courant
gros-boulet-inside
thx
Bug
Cron <root@ksxxxxxx> sh /usr/share/mes-scripts/logserver.sh

cp: impossible d'évaluer « /var/log/nginx/rutorrent.access.log »: Aucun fichier ou dossier de ce type
cp: impossible d'évaluer « /var/log/nginx/rutorrent.access.log.1 »: Aucun fichier ou dossier de ce type
cat: access.log.1: Aucun fichier ou dossier de ce type
cat: access.log.tmp: Aucun fichier ou dossier de ce type


Comment le résoudre ? Est-ce dû aux caractères ""spéciaux"" ?
Par rapport au caractère "d'évaluer", c'est du à quoi ?
Je peux le résoudre avec LANG=fr_FR & LANGUAGE=fr_FR:fr -> les 2 en fr_FR.UTF-8 ???
"évaluer «Â" Vérifies que ton putty est en utf-8 pour commencer, ensuite ouvre le script logserver.sh, efface tout et re-colle celui du tuto pour voir si ça rentre dans l'ordre.
Ex.
putty était bien en utf-8

/usr/share/mes-scripts/logserver.sh
cp: impossible d'évaluer « /var/log/nginx/rutorrent.access.log »: Aucun fichier ou dossier de ce type
cp: impossible d'évaluer « /var/log/nginx/rutorrent.access.log.1 »: Aucun fichier ou dossier de ce type
cat: access.log.1: Aucun fichier ou dossier de ce type
cat: access.log.tmp: Aucun fichier ou dossier de ce type

pourtant via ftp je vois qu'ils existent ..
??
les deux fichiers que tu vois en ftp, il ont une taille supérieur à 0 ko ?
oui les logs sont remplis