Catégorie: debian

SSH nohup

Je viens de découvrir la commande nohup qui permet de continuer une action même si vous vous déconnecté (par ex de ssh)

Exemple concret:

Hier plantage de PC, donc reinstall de windows toussa … et j’me dis, je vais en profiter pour mettre un dual boot avec debian.
Je dl donc un iso DVD de debian (testing car raid + sata …), mais, il est 4h du mat et je pompe à 200ko/s le FTP … et j’ai cours à 8h.

J’aime pas dormir avec le PC allumé parce que j’ai 18 m² et mes raptors ne sont plus tout à fait silencieux 😀

Je lance donc un
nohup wget ftp://.... &

N’oubliez pas le & à la fin qui permet de lancer l’apli en arière plan.

Et voilou, je ferme ssh et ce matin tout était là 😉 près a être dl a 1mo/s 😀

Google:
Lancer un programme puis le laisser tourner même après s’être déconnecté (ssh)

Instaler emacs sur debian (apt)

« Tout bète » vous allez me dire:

aptitude install emacs
ou
apt-get install emacs

Vous allez vous prendre un:
Pas de version candidate trouvée pour emacs

Pour je ne sais quelle raison (si on pouvait m’éclairer ..) il faut en fait installer emacs21

Et donc un petit coup de

aptitude install emacs21
ou
apt-get install emacs21

et l’affaire est dans le sac 😀

J’installe emacs car en cours d’UNIX, on boss sur emacs (nano me sufisait amplemment)
++

Chercher une commande

Pour chercher une commande qui fait quelque chose sous linux, il y a une commande toutes simple:

man ␣ -k ␣ la_chose_que_lon_veut_faire↵

Sachant que la_chose_que_lon_veut_faire est souvent à formuler en anglais.. (et oui les pages de man en fr y’en à pas tant que ça)

En gros ca ressemble un peu à la commande

aptitude search prog_ou_fction

mais pas pour la même utilisation.

Voila, j’ai trouvé ca cool et je ne connaissais pas 😉

Emplacemment historique awstats

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

++

Linux rechercher fichiers en fonction de leur taille

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 😀

++

Empecher affichage version apache

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.

Script de backup sauvegarde mysql par ftp

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) 😉

Linux effacer tous sauf un dossier ou un fichier

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 😉

Log ssh et bruteforce, iptables, interdire root

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 😉

Dedibox online

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

Ma dedibox

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)