Tuto sur la sécurisation et l'exploitation des logs
Je partage aujourd'hui l'ensembles des petites astuces que pu trouvé sur la toile
Pour ceux qui serait interesé et qui ont un nom de domaine, je peux aussi vous aider à configurer des sous domaines pour vos utilisateurs, chacun aura sont sous domaine : exemple : adrien.xcid.fr ou encore des boîtes mails, etc etc
Mais venons-en au sujet du tuto : Sécurisation et Logs
I) Serveur Mail
On va commencer par mettre en place un léger serveur mail pour avoir un retour sur ce qui se passe sur notre serveur
a) Installation de postfix
b) Test
c) Redirection des mails root
On a fini de configurer le serveur pour qu'il nous envoie des mails en cas de problèmes
II) Sécurisation
a) Configuration SSH
Les principales attaques sur internet se font sur les ports 21/22 et 80
On va donc changer le port SSH et interdire la connexion en root
Vous pourrez plus vous connecter en root !
Il va falloir vous connecter directement avec votre login (<user>) et non avec root
b) Mail lors connexion root
On va mettre en place un mail lors des connexion ssh root, vous recevrez ainsi un mail a chaque connexion sur le compte root.
Installation :
Configuration :
Fichier jail.conf
Modifier les valeurs suivantes :
Vous receverez un mail a chaque ban
d) RKHunter :
RKHunter est un programme qui essaye de détecter les rootkits, portes dérobées et exploits sur votre serveur
Installation
Configuration
Modifier les valeurs :
Vous obtiendrez des faux positifs, poster les je vous aiderais à les résoudres.
Attention, suite l'utilisation de apt-get ou aptitude, il va falloir lancer la commande suivante pour mettre à jour votre base de software.
III) Lecture des logs
a) Logwatch
Logwatch est un programme qui vous envoie un récapitulatif de ce qui se passe sur votre serveur tout les jours.
Installation :
Configuration basique
Modifier les valeurs suivantes :
et ensuite un mail journalier 
b) AWStats
AWStats est un analyseur de log web mais aussi FTP offrant des vues graphiques statiques mais aussi dynamiques des statistiques d'accès à vos serveurs web. Voir définition WIKI
Installation
Configuration de lighttpd
Script d'automatisation
L'executer
http://ip/awstats/awstats.pl?config=seedbox.fr
Si il ya des interessé, je posterais la configuration pour avoir les stats FTP dans awstats
Voila, si vous avez des problèmes ou des demandes particulières n’hésitez pas.
Par rapport à IPTables,
J'ai essayé de le configurer correctement mais a chaque fois j'ai l'impression que rutorrent télécharge plus aussi vite une fois que c'est en place c'est pourquoi je l'ai desactiver et que je ne l'ai décris ici.
Dernière chose : Je vous conseille d'ajouter les ip de vos collegues dans :
/etc/hosts
(nano /etc/hosts)
par exemple :
88.888.88.88 adrien.fr
A++
EDIT : Suppression de portsentry, je dois me pencher dessus
Je partage aujourd'hui l'ensembles des petites astuces que pu trouvé sur la toile

Pour ceux qui serait interesé et qui ont un nom de domaine, je peux aussi vous aider à configurer des sous domaines pour vos utilisateurs, chacun aura sont sous domaine : exemple : adrien.xcid.fr ou encore des boîtes mails, etc etc
Mais venons-en au sujet du tuto : Sécurisation et Logs
I) Serveur Mail
On va commencer par mettre en place un léger serveur mail pour avoir un retour sur ce qui se passe sur notre serveur
a) Installation de postfix
Lors de l'installation, laisser la configuration par défault et dans Nom de courrier mettre le nom de votre serveurapt-get install -f postfix mailutils
b) Test
echo 'Salut, je suis un email.' | mail -s 'Hello world' mail@gmail.com
c) Redirection des mails root
Rajouter à la finnano /etc/aliases
root: mail@gmail.com
Pour valider les changements
Nouveau testnewaliases
echo 'Salut, je suis un email.' | mail -s 'Hello world' root
On a fini de configurer le serveur pour qu'il nous envoie des mails en cas de problèmes

II) Sécurisation
a) Configuration SSH
Les principales attaques sur internet se font sur les ports 21/22 et 80
On va donc changer le port SSH et interdire la connexion en root
Modifier les valeurs, j'ai mis 2 ports en écoute vous pouvez en mettre un seul bien sur.nano /etc/ssh/sshd_config
Port 8080
Port 443
PermitRootLogin no
AllowUsers <user> # Choix des utilisateurs autorisé a se connecter
On relance le daemon
On teste sa configuration sans fermer la fenetre actuelle, en cas de probleme remettre le port 22 ou essayer avec un autre./etc/init.d/ssh restart
Vous pourrez plus vous connecter en root !
Il va falloir vous connecter directement avec votre login (<user>) et non avec root
b) Mail lors connexion root
On va mettre en place un mail lors des connexion ssh root, vous recevrez ainsi un mail a chaque connexion sur le compte root.
Ajouter à la finnano /root/.bashrc
echo 'Acces Shell Root le ' `date` `who` | mail -s 'Connexion serveur via root' root
c) Fail2BanInstallation :
apt-get install -f fail2ban
Configuration :
Fichier jail.conf
nano /etc/fail2ban/jail.conf
Modifier les valeurs suivantes :
destemail = root
# Activation de fail2ban sur le ssh
[ssh-ddos] enable = true
port = 8080
port = 443
# Il faut ensuite mettre des true sur les services que vous voulez surveillez.
#Par exemple : Pam-generic
#Pour lighttpd :
[lighttpd]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/log/lihttpd/*error.log
maxretry = 6
[lighttpd-noscript]
enabled = true
port = http,https
filter = apache-noscript
logpath = /var/log/lighttpd/*error.log
maxretry = 6
[lighttpd-overflows]
enabled = true
port = http,https
filter = apache-overflows
logpath = /var/log/lighttpd/*error.log
maxretry = 2
# Pour vsftpd
[vsftpd]
enabled = true
port = ftp
filter = vsftpd
logpath = /var/log/vsftpd.log
bantime = 1000
maxretry = 3
Fichier de fail2ban.confRajouter à la finnano /etc/fail2ban/fail2ban.conf
[MAIL]
enabled = true
from = root
to = root
subject = [Fail2Ban] <section>: Banned <ip>
message = Hi,<br>
The IP <ip> has just been banned by Fail2Ban after
<failures> attempts against <section>.<br>
Regards,<br>
Fail2Ban
Et on redemarre fail2ban/etc/init.d/fail2ban restart
Vous receverez un mail a chaque ban

d) RKHunter :
RKHunter est un programme qui essaye de détecter les rootkits, portes dérobées et exploits sur votre serveur
Installation
apt-get install -f rkhunter
Configuration
Modifier les valeurs :nano /etc/default/rkhunter
DB_UPDATE_EMAIL="yes"
nano /etc/rkhunter.conf
Modifier les valeurs :
MAIL-ON-WARNING="root"
Test : rkhunter -c --sk
Vous obtiendrez des faux positifs, poster les je vous aiderais à les résoudres.
Attention, suite l'utilisation de apt-get ou aptitude, il va falloir lancer la commande suivante pour mettre à jour votre base de software.
Ou l'automatiser :rkhunter --propupd
et copier :nano /etc/apt/apt.conf.d/90rkhunter
DPkg::Post-Invoke { "if [ -x /usr/bin/rkhunter ]; then /usr/bin/rkhunter --propupd; fi"; };
III) Lecture des logs
a) Logwatch
Logwatch est un programme qui vous envoie un récapitulatif de ce qui se passe sur votre serveur tout les jours.
Installation :
apt-get install -f logwatch
Configuration basique
nano /usr/share/logwatch/default.conf/logwatch.conf
Modifier les valeurs suivantes :
Output = mail
MailTo = root
Configuration pour lighttpdEditions des fichiers :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
Modifier les valeursnano /usr/share/logwatch/default.conf/logfiles/lighttpd.conf
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
Modifier les valeursnano /usr/share/logwatch/default.conf/services/lighttpd.conf
Title = "lighttpd"
LogFile = lighttpd
On test :
Et vous devriez recevoir un mail avec le récapitulatiflogwatch


b) AWStats
AWStats est un analyseur de log web mais aussi FTP offrant des vues graphiques statiques mais aussi dynamiques des statistiques d'accès à vos serveurs web. Voir définition WIKI
Installation
apt-get install -f awstats perl liburi-perl
Configuration de lighttpd
Ajouter à la finnano /etc/lighttpd/lighttpd.conf
alias.url += (
"/awstatsclasses" => "/usr/local/awstats/wwwroot/classes/",
"/awstatscss" => "/usr/local/awstats/wwwroot/css/",
"/awstatsicons" => "/usr/local/awstats/wwwroot/icon/",
"/awstats" => "/usr/local/awstats/wwwroot/cgi-bin/",
"/icon/" => "/usr/local/awstats/wwwroot/icon/"
)
server.modules += ( "mod_cgi" )
$HTTP["url"] =~ "/awstats/" {
cgi.assign = (
".pl" => "/usr/bin/perl",
".cgi" => "/usr/bin/perl"
)
auth.backend = "htdigest"
auth.backend.htdigest.userfile = "/etc/lighttpd/.aw"
auth.require = ( "/awstats/" =>
(
"method" => "digest",
"realm" => "Awstats",
"require" => "valid-user"
)
}
Création de l'user et changement d'utilisateur sur le repertoirehtdigest -c /etc/lighttpd/.aw 'Awstats' <user>
Configuration des statschown -R www-data:www-data /usr/local/awstats/wwwroot/
cp /etc/awstats/awstats.model.conf /etc/awstats/awstats.seedbox.net.conf
Modifier les valeurs suivantesnano /etc/awstats/awstats.seedbox.net.conf
LogFile="/usr/local/awstats/tools/logresolvemerge.pl /var/log/lighttpd/access.log* |"
SiteDomain="seebox.net"
DirData="."
DNSLookup=1
AllowFullYearView=3
Script d'automatisation
nano /etc/cron.daily/01awstats
#!/bin/bash
# path to cgi-bin
AWS=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl
# append your domain
DOMAINS="seedbox.fr"
# loop through all domains
for d in ${DOMAINS}
do
${AWS} -update -config=${d}
done
chmod +x /etc/cron.daily/01awstats
L'executer
Vos stats sont maintenant disponible à l'adresse suivante :/etc/cron.daily/01awstats
http://ip/awstats/awstats.pl?config=seedbox.fr
Si il ya des interessé, je posterais la configuration pour avoir les stats FTP dans awstats

Voila, si vous avez des problèmes ou des demandes particulières n’hésitez pas.
Par rapport à IPTables,
J'ai essayé de le configurer correctement mais a chaque fois j'ai l'impression que rutorrent télécharge plus aussi vite une fois que c'est en place c'est pourquoi je l'ai desactiver et que je ne l'ai décris ici.
Dernière chose : Je vous conseille d'ajouter les ip de vos collegues dans :
/etc/hosts
(nano /etc/hosts)
par exemple :
88.888.88.88 adrien.fr
A++
EDIT : Suppression de portsentry, je dois me pencher dessus