Arf que de galères ridicules.
J’avais mal configurer awstats et ce cette manière il me faisais des stats sur tout les sites du serveur et pas seulement celui voulu.
Une fois ceci corrigé, je relance le script de génération html mais la merdouile, il conserve l’histoique et incremente juste en faite les stats.
Donc pour effacer l’historique/cache ancien de awstats, allez jeter un oeil dans:
/var/lib/awstats/
Les fichier sont de la forme:
awstats_DATE_._Nom-du-site_.txt
++
Si comme moi vous chercher une commande linux pour voir tout les fichiers sur votre disque dur qui dépassent une certaine taille, utilisez:
find / -size +1024k -print
Sachant que 1024k est la taille en kilo-octet (1 mega)
Utile, pour ma part pour voir (en plus des log ftp) si je n’heberge pas des fichiers pour une board ftp à mon insu 😀
++
Dans un soucis de sécurité, il est conseillé de ne pas afficher votre version d’apache et tout ce qui va avec (mod-ssl …)
On peut pas dire non plus que ce soit super secure mais c’est toujours un plus 😉
Il suffit d’editer votre fichier /etc/apache2/apache2.conf
nano /etc/apache2/apache2.conf
Et rajouter ensuite ces lignes toutes simples:
# ServerTokens : masque les version de produits dans les headers affiche simplement Apache
ServerTokens Prod
# ServerSignature : masque les version de produits dans les pages générées par Apache
ServerSignature Off
# Options -Indexes : empèche la génération automatique des index de répertoires (listing pâr Apache des fichier d'un répertoire lorsque index n'est pas présent)
Options -Indexes
Personnelement, je commente la dernière ligne, car je me sert de l’indexation automatique.
Voici un petit script pour sauvegarder toutes vos bases de données mysql puis les envoyé sur un ftp.
Le tout en gardant seulement un certains nombre de jours de backup.
J’utilise yafc pour le ftp, si vous ne l’avez pas:
Aptitude install yafc
Ensuite voici le script:
mkdir /cron nano /cron/script_backup_mysql.sh
Le script en lui même !
#!/bin/bash #Backup mysql par ftp Mysql_User="root" Mysql_Paswd="password-sql" Mysql_host="localhost" # Emplacemment des different prog utilisé, laisser tel quel si vous n'avez rien bidouillé MYSQL="$(which mysql)" MYSQLDUMP="$(which mysqldump)" CHOWN="$(which chown)" CHMOD="$(which chmod)" GZIP="$(which gzip)" # Emplacemment du dossier de backup local DEST="/home/archives/backup/" #Rep ou on fou le sql DEST_mysql="$DEST/mysql" #Date du jour NOW="$(date +"%d-%m-%Y")" # Databases a ne pas sauvegarder separer par des espaces IGGY="" # On initialise les variables FILE="" DBS="" #on cree le rep [ ! -d $DEST_mysql ] && mkdir -p $DEST_mysql || : #On limite l'acces au root uniquemment #$CHOWN 0.0 -R $DEST_mysql #$CHMOD 0600 $DEST_mysql # On liste les bases de donnees DBS="$($MYSQL -u $Mysql_User -h $Mysql_host -p$Mysql_Paswd -Bse 'show databases')" for db in $DBS do skipdb=-1 if [ "$IGGY" != "" ]; then for i in $IGGY do [ "$db" == "$i" ] && skipdb=1 || : done fi if [ "$skipdb" == "-1" ] ; then FILE="$DEST_mysql/$db.$NOW.gz" # On boucle, et on dump toutes les bases et on les compresse $MYSQLDUMP -u $Mysql_User -h $Mysql_host -p$Mysql_Paswd $db | $GZIP -9 > $FILE fi done #BACKUP des bases mysql par FTP #nbre de jour de backup a conserver j=7 j_a_delete=$(date +%d-%m-%Y --date "$j days ago") ## Conf des rep de backup pour le ftp DIR_BACKUP_mysql=$DEST_mysql DIR_DIST_BACKUP_mysql='/BACKUP/mysql/' #Configuration de pass ftp loginftp="login" motdepassftp="pass" host_ftp="dedibackup.dedibox.fr" ## Upload sur le ftp yafc $loginftp:$motdepassftp@$host_ftp <<** cd $DIR_DIST_BACKUP_mysql lcd $DIR_BACKUP_mysql mkdir $NOW cd $NOW put -r * cd .. rm -r $j_a_delete bye ** #On delete tout cd $DEST_mysql rm -r *
Enregistrez ensuite le fichier et donnez lui des droits d'execution:
chmod u+x /cron/script_backup_mysql.sh
Et voila, il ne vous reste plus qu'a mettre ceci dans une tache cron
crontab -e
Puis ajoutez ceci
34 06 * * * /cron/backup-mysql-ftp.sh >> /cron/save-mysql.log
Pour que votre script soit executé chaque jour à 6h34, et le log sauvé dans /cron/save-mysql.log ( à créer) 😉
Juste une petite commande pour laquelle j’ai bien galerer:
find . -maxdepth 1 -not -name celui_la_on_efface_pas -exec rm -rf ‘{}’ \;
Biensur remplacer celui_la_on_efface_pas par le dossier ou le fichier que vous voulez garder 😉
L’emplacemment de vox log ssh est /var/log/auth.log.
Pour avoir une petite analyse, faites un petit
nano /var/log/auth.log
Si comme moi vous avez de jolis log du genre:
Sep 3 16:19:29 sd-4145 sshd[23909]: Illegal user aleksandra from 88.191.11.198
Sep 3 16:19:29 sd-4145 sshd[23911]: Illegal user aleksandra from 88.191.11.198
Sep 3 16:19:29 sd-4145 sshd[23913]: Illegal user aleksandra from 88.191.11.198
Sep 3 16:19:30 sd-4145 sshd[23929]: Illegal user alenka from 88.191.11.198
Sep 3 16:19:30 sd-4145 sshd[23931]: Illegal user alenka from 88.191.11.198
Sep 3 16:19:30 sd-4145 sshd[23933]: Illegal user alenka from 88.191.11.198
Ba inquietez vous, on essai de vous brutforcer, donc dans ce cas, un petit abuse est de rigueure pour l’ip en question.
On peut aussi parer à ce genre d’attaque par une petit regle iptables:
iptables -I INPUT -s 88.191.11.198 -j DROP
ou:
iptables -A INPUT -p tcp –dport ssh -m recent –update –seconds 60 –hitcount 4 –name SSH -j DROP
iptables -A INPUT -p tcp –dport ssh -m recent –set –name SSH
iptables -A INPUT -p tcp –dport ssh -j ACCEPT
Qui bloque celui qui tente de se connecter plus de 4 fois en 60 sec en ssh 😉
Une autre très bonne solution est de changer le port de ssh
nano /etc/ssh/sshd_config
Et changer la ligne port 22
et relancez ssh:
/etc/init.d/ssh reload
Il y a aussi les trucs du genre failtoban.
Sans oublier biensur de ne pas autoriser l’acces ssh par root :
dans /etc/ssh/sshd_config
PermitRootLogin no #changez yes en no
et relancez ssh:
/etc/init.d/ssh reload
Voila 😉
Pas forcemment jolis les points d’interrogations dans un losange noir que vous affiche firefox à la place de tous les accents et des caractères speciaux.
Souvent ça nous arrive à la suite d’une exportation/importation toute bète via phpmyadmin.
Pour ma part, ça m’est arrivé lors du passage de mysql4 à mysql5, j’avais donc d’abord exporté via phpmyadmin, mais au moment d’importer, deja j’avais un couac pour selectionner l’interclassement 🙂
Pour bien faire, il faut selectionner interclassement: latin1_swedish_ci pour la base de données et utf8_general_ci pour l’Interclassement pour la connection MySQL
Mais ça ne suffit pas, surtout il faut lors de l’importation avec phpmyadmin de séléctionner l’encodage latin1:
Et voila en principe tout passe en douceure sans les petits points d’interrogations 😉
Ca y est, je me suis enfin décidé 😉
Bon ça reste un investissement puisque 36€/mois mais bon, c’est surtout aussi un plaisir 😀
Un serveur dedié, depuis le temps que j’en voulais un. Et puis bon ba 100mbits de BP, ba c’est plutot cool :-p
Vous pouvez voir les graph mrtg et voir que pour le moment je ne m’en sert pas encor beaucoup (cf graph cpu) sauf pour la Bande Passante, je tourne souvent a 4-5 mo/s et en gros une trentaine de personne sur le ftp.
Pour le moment, il n’y a qu’un serveur de fichiers pour tuto-fr.com qui vous permet de dl toutes distrib whax, backtrack troppix …
Bref de quoi vous faire plaisir et dl à plein régime.
La box tourne sous debian sarge.
C’est mes debut en linux et je pense vous faire quelques post un peu con con pour le linuxien mais pas pour le debutant que je suis :-).
Pour le moment, tout tourne bien, en espérant que ca dure.
D’ailleur il se peut que le blog migre vu que ca rame un peu ici (pack .info 1&1)