Archives de catĂ©gorie : Internet

Correction bug munin

Alors une petite liste de bug avec munin :

cat: /proc/net/ip_conntrack: Permission denied

Il n’y a pas les bon droit dans /proc/net/ip_conntrack il faut faire le chmod.

#chmod +xr -R /proc/net

Ensuite on peut aussi avoir :

Plugin « if_eth0 » exited with status 512.

C’est toujours un probleme de droit. Mais cette fois si il faut les corriger dans le fichier :

#nano /etc/munin/plugin-conf.d/munin-node

et

#nano /etc/munin/plugins.conf

Et rajouter ces lignes :

[if_*]
user root

[if_err_*]
user root

Et enfin le plus facile : mysql

mysqladmin: connect to server at ‘localhost’ failed
error: ‘Access denied for user ‘nobody’@’localhost’ (using password: NO)’

Petit piĂšge quand vous mettez le mot de passe contrairement au login il ne faut pas d’espace entre le -p et le mot de passe.

Editer donc :

#nano /etc/munin/plugin-conf.d/munin-node

et

#nano /etc/munin/plugins.conf

[mysql*]
env.mysqlopts -u login -ppass

Utilisateur et liste de distribution

Il arrive bien souvent qu’un utilisateur ne rentre pas correctement son email dans la newsletter.La liste des FQDN pourris et une commande SQL et le tour est jouĂ© :

SQL :

UPDATE table_name SET column_name = REPLACE(column_name, »%original_string% », »%replace_string% »)

Voici une petite liste de FQDN :

Pour hotmail.fr ou .com

otmail.fr
htomail.fr
hotmzil.fr
hotmai.com
hotmaol.com
hotmal.com

Pour yahoo.fr

yhoo.fr

Pour videotron.ca

videotro.ca

Pour gmail.com

gmaill.com
gmail.fr

Pour cegetel.net

cegtel.net

Firewall pour serveur dédié avec iptables

Firewall pour serveur dédié avec iptables

Ce script ce base sur iptables, il a pour but de bloquer tout le trafic entrant sur le serveur Ă  part les service qui seront listĂ©. Le trafic sortant n’est quand a lui n’est pas impactĂ©.

Je créer un fichier firewall :

# nano /etc/init.d/firewall

#!/bin/bash
echo Setting firewall rules...
#
# config de base dedibox
# Florian Cristina
#v1.1

###### Debut Initialisation ######

# Vider les tables actuelles
iptables -t filter -F
iptables -t filter -X
echo - Vidage : [OK]

# Ne pas casser les connexions etablies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
echo - Ne pas casser les connexions établies : [OK]

###### Fin Inialisation ######

##### Debut Regles ######

# Autoriser SSH
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
echo - Autoriser SSH : [OK]

# Autoriser loopback
iptables -t filter -A INPUT -i lo -j ACCEPT
echo - Autoriser loopback : [OK]

# Autoriser ping
iptables -t filter -A INPUT -p icmp -j ACCEPT
echo - Autoriser ping : [OK]

# HTTP et HTTPS
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 8443 -j ACCEPT
echo - Autoriser HTTP et HTTPS : [OK]

# DNS
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
echo - Autoriser DNS : [OK]

# FTP
modprobe ip_conntrack_ftp
iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
echo - Autoriser FTP : [OK]

# Mail : POP, SMTP, IMAP
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
echo - Autoriser Mail : [OK]

###### Fin Regles ######

###### Interdiction de tout entrant ######
# Interdire toute connexion entrante
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
echo - Interdire toute connexion entrante : [OK]

echo Firewall mis a jour avec succes !

Je donne les droits d’exĂ©cution :

# chmod +x /etc/init.d/firewall

Une fois que vous l’avez tester et que cela fonctionne vous pouvez le mettre Ă  chaque dĂ©marrage du serveur.

# update-rc.d firewall defaults 99

Merci Ă  Rusty Russell et son How-To, il est la base de cette page. Et merci surtout pour son travail au sein de l’Ă©quipe de dĂ©veloppement de Netfilter 🙂

Tester votre Firewall avec nmap

Tester votre Firewall avec nmap

Attention un scan de port sur un serveur qui ne vous appartient pas est considéré comme une attaque.

Afin de savoir si votre firewall fonctionne, vous pouvez utiliser l’utilitaire nmap (http://insecure.org/nmap/). Avec nmap vous allez chercher Ă  savoir quel est l’Ă©tat de vos ports.

Il y a 3 états possibles :

* open : Le port est ouvert et un service écoute le port.
* closed : Le port est ouvert mais il n’y a aucun service qui Ă©coute le port.
* filtered : Le port est fermé.

Pour utiliser nmap, vous devez vous situer sur un autre serveur (ou de chez vous) et procéder ainsi :

#nmap IPduserveurcible -p leport

Gestion avec BIND et nssec.dedibox.fr de nom de domaine en .fr

Déclaration du nom de domaine sur nssec.dedibox.fr

Pour commencer, comme cela prend 24h pour que nssec.dedibox.fr se mette à jour, vous devez ajouter votre domaine en .fr dans l’interface dedibox le plus tît possible.

Note du relecteur : L’installation initiale du domaine secondaire prends 24 heures environs (toutes les nuits Ă  2h45 du matin), ensuite les mises Ă  jour sont effectuĂ©es dans le dĂ©lais “refresh” indiquĂ© dans la SOA du DNS primaire de votre nom de domaine.

AprĂ©s avoir sĂ©lectionne votre serveur, dans l’onglet “Dns secondaire”.

A présent, cliquez sur Gestion DNS secondaire. Vérifiez que le serveur DNS primaire est bien celui qui doit gérer les DNS. Rajouter votre nom de domaine (sans http ni www).

Configuration de BIND

Le fichier de configuration général

Si vous utilisez un panel de gestion, commencez par installer le domaine avec le panel de gestion. Pour configurer BIND vous devez vous logger en root en ssh sur votre dedibox et éditer 2 fichiers.

Editez le fichier de configuration général de bind /etc/bind/named.conf. Placez-vous à la suite (ou sur la configuration faite par le panel) pour que la configuration de votre domaine ressemble à ceci (remplacer domaine.fr par votre domaine) :

zone "domaine.fr" {
       type master;
       notify yes;
       allow-transfer { 88.191.254.7; };
       file "/var/cache/bind/domaine.fr.db";
};

Comme vous l’avez surement remarquĂ© le allow-transfer n’est pas configurĂ© sur 88.191.254.71, l’ip de nssec.dedibox.fr, mais sur 88.191.254.7 car c’est ce serveur qui s’occupe de gerer les AXFR. Dans cet exemple le fichier de zone sera contenu dans /var/cache/bind/domaine.fr.db

Le fichier de zone

A prĂ©sent il faut Ă©diter le fichier pointĂ© par le file. Dans cet exemple ce sera donc /var/cache/bind/domaine.fr.db Editer votre fichier pour qu’il ressemble Ă  ceci :

$TTL 86400
@       IN      SOA     sd-xxxx.dedibox.fr. root.domaine.fr. (
                        2006081720
                        8H
                        2H
                        4W
                        1D )
        IN      NS      sd-xxxx.dedibox.fr.
        IN      NS      nssec.dedibox.fr.
        IN      MX      10 mail.domaine.fr.

domaine.fr.    A       88.191.xx.xx
ns             IN      A       88.191.xx.xx
mail           IN      A       88.191.xx.xx
www            CNAME   domaine.fr.
ftp            CNAME   domaine.fr.

Remplacer domaine.fr par votre propre nom de domaine. Remplacer sd-xxxx.dedibox.fr par le nom de votre dedibox. Remplacer 88.191.xx.xx par l’ip de votre dedibox. Faite bien attention de laisser les ”.” comme ils sont indiquĂ©s. Metter Ă  jour le numero de serie.

A présent il vous reste à relancer BIND pour prendre en compte les modifications.

# /etc/init.d/bind9 reload

L’Afnic arg


Avant de vous rendre sur le site de l’afnic pour tester votre domaine, pensez Ă  crĂ©er un mail en postmaster (faite un catch-all) sur le domaine en .fr.

AprĂšs avoir attendu les 24h rĂ©glementaires, il vous reste l’étape si redoutĂ©e du passage du test zonecheck de l’afnic ici http://www.afnic.fr/outils/zonecheck/form

* Dans « zone » rentrer votre domaine sans www, ni http.
* Dans « primaire » rentrer le reverse (sd-xxxx.dedibox.fr) de votre dedibox et son IP.
* Dans « secondaire » rentrer nssec.dedibox.fr et 88.191.254.71 pour IP.

Si le test provoque des erreurs lisez les messages d’erreur gĂ©nĂ©rĂ©s par le zonecheck et corrigez les problĂšmes.

Sinon, si le test affiche SUCCES c’est que tout est bon, vous pouvez vous rendre chez votre registrar pour modifier vos serveurs de nom. Votre registrar enverra la demande Ă  l’afnic qui procĂ©dera Ă  la mise Ă  jour du lundi au vendredi 9h-12h et 14h-17h


Bref pour ce qui concerne la migration des DNS d’un nom de domaine en .fr, la meilleure des qualitĂ©s c’est d’ĂȘtre patient. 😀

Merci Ă  Mickael Moreira, Raphael Clerc, et achtungbaby pour leurs conseils.

Celui que j’avais Ă©cris pour le support ce trouve ici : http://documentation.dedibox.fr/doku.php?id=admin:dns

Des vieux articles sur documentation.dedibox.fr

Je viens de retrouver des vieux tuto que j’avais Ă©cris pour le support de dedibox.fr http://documentation.dedibox.fr/doku.php

Le premier traite de l’utilisation d’un firewall (iptables) pour un serveur dĂ©diĂ© de façon trĂšs basique. Et le second sur la configuration de bind pour validĂ© les ndd en .fr qui est plus rigoureuse que celles des .com/.net/.org.

Je vais un peu les rafraichir et les mettres sur le blog 😀

Serveur vpn PPTP sous debian en MS-CHAPv2

Ayant besoin d’un VPN en pptp pour un client qui ne supporte par openvpn, j’ai essayĂ© et rĂ©ussis d’installer une serveur pptp sur un de mes serveur dĂ©diĂ©.
Donc pour tous ceux qui ont des dedibox, kimsufi et autre serveur ovh et qui veulent un serveur vpn plus simple Ă  mettre en place que openvpn et moins sĂ©curisĂ© ce tuto est pour vous ! Dans cet exemple j’utilise le MS-CHAPv2 mais le CHAP ou le PAP sont aussi disponible.

Pour ceux qui préfÚre openvpn (moi) voici le liens pour mon tuto openvpn : http://www.artiflo.net/2008/05/ubuntu-openvpn/

J’ai rĂ©alisĂ© l’installation sous debian etch mais cela devrait ĂȘtre le mĂȘme concept pour les autres distribution.

Installation du serveur pptpd :

# apt-get install pptpd

Configuration du serveur :

# nano /etc/pptpd.conf

Il faut dĂ©commenter les 2 lignes localip et remonteip. Vous indiquĂ© l’ip du votre serveur et ensuite la plage d’adresse d’ip locale que vous voulez attribuĂ© au pc qui se connecteront au VPN

localip IP.DE.VOTRE.SERVEUR
remoteip 192.168.0.234-238,192.168.0.245

A prĂ©sent nous allons configurer la mĂ©thode d’authentification. Nous allons utiliser le MS-CHAPv2. Mais les autres protocole que ce soit pap ou chap sont aussi possible c’est a vous de le configurer.

# nano /etc/ppp/options

Il faut rajouter ces lignes a la fin du fichier :

refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp 

Maintenant il reste a créer les utilisateurs.

# nano /etc/ppp/chap-secrets

Cela se présente ainsi :

artiflo pptpd artiflopassword "*"

* est pour signifier que les utilisateurs peuvent se connecter de n’importe quel ip. Dans le cas contraire spĂ©cifiĂ© l’ip.

Et enfin, pour ce concerne le firewall il faut en premier que vous autoriser le port 1723 et le protocole GRE ainsi :

# iptables -A INPUT -p tcp –dport 1723 -j ACCEPT
# iptables -A INPUT -p gre -j ACCEPT

Et ensuite il faut configurer le routage en spĂ©cifiant que toutes les adresse locale que vous avez dĂ©finis toutes a l’heure doivent ĂȘtre rediriger sur l’adresse de la carte eth0. Et en activant l’ip forwarding.

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to IP.DE.VOTRE.SERVEUR

RedĂ©marrer pptp et cela doit fonctionner 🙂

# /etc/init.d/pptpd restart

Je n’explique pas dans ce billet la configuration du client pour Windows XP ou Vista car c’est du clic-clic.

Migration de site de plesk Ă  plesk

La migration doit ĂȘtre lancĂ© Ă  partir du serveur qui va recevoir le site.

1 / Aller dans server > gestionnaire de migration. « Puis lancer une nouvelle migration ».

Il faut bien cocher « migration » et rentrer les information du serveur qui héberge le site à migrer. Comme les transactions se font en ssh il faut que le serveur cible est son serveur ssh configurer avec le port 22.

On sélectionne le répertoire locale qui va recevoir temporairement les fichiers. Dans mon cas /var/temp.

Cliquez sur suivant.

2 / Dans la seconde étape. Aller dans « avancé » et sélectionné le template que vous voulez appliquer pour les nouveaux domaines.

Cliquez sur suivant.

3 / Sélectionner le ou les domaines que vous volez migrer. Et le ou les configuration client que vous voulez migrer dans « avancé ».

Cliquez sur suivant.

4 / Choisissez le compte client local a qui affectĂ© le site qui va ĂȘtre transfĂ©rer.

Cliquez sur suivant.

5 / Vérifier que les ip sélectionnés sont les bonnes.

Cliquez sur suivant.

6 / Etre patient durant la migration. Ne cliquez pas sur « annuler ».

7 / Le log s’affiche est indique comment la procĂ©dure c’est dĂ©roulĂ©. Vous pouvez cliquer sur terminer et changer les dns en consĂ©quence.

Centos 5 et backup-manager

J’ai rĂ©cupĂ©rĂ© le tuto Ă©crit sur fedora-fr.org pour fĂ©dora mais Ă  la sauce centos

On créer le fichier qui va contenir le script :

nano install-backup-manager.sh

#! /bin/sh

#*************************************************************************#
# installation de backup manager
# Script by TitaX
#*************************************************************************#

##########variables##########
#choix de la version de backup-manager a installer
#commenter la version que vous ne voulez pas
#############################
#version stable
#VERSION= »0.6.2″
#version dev (par defaut)
VERSION= »0.7.4″
#############################
WGET= »/usr/bin/wget »
TAR= »/bin/tar »
YUM= »/usr/bin/yum »
#recupere la version de perl si vous avez une meilleure technique je suis preneur
PERLV=$(perl -v | grep built | awk ‘{ print $4 }’ | sed ‘s/v//;’)

##########fin de variables##########

#########debut du script##########
# petit nettoyage d’ecran
clear

# seul root peux executer ce script
if test `id -u` != « 0 »; then
echo « il faut etre root pour executer ce script »
else

echo -e  » \E[32;40m\033[1m################################################\033[0m  »
echo  » debut de l’installation de backup-manager version $VERSION  »
echo  » merci de patienter … ceci peut prendre quelques minutes … »
echo -e  » \E[32;40m\033[1m################################################\033[0m  »

#telechargement de l’archive de backup-manager
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
echo  » telechargement de backup-manager  »
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
$WGET http://www.backup-manager.org/download/backup-manager-$VERSION.tar.gz

#decompression de backup-manager
$TAR xvfz backup-manager-$VERSION.tar.gz

#changement de repertoire
cd backup-manager-$VERSION

#installation de backup-manager
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
echo « installation de backup-manager »
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
make install

#création du fichier de conf
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
echo « creation du fichier de configuration »
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
cp /usr/share/backup-manager/backup-manager.conf.tpl /etc/backup-manager.conf

#installation des dépendances
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
echo « installation des depedances requises »
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
$YUM -y install perl gettext

#installation des librairies perl
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
echo « installation des librairies perl requises »
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
cp -r BackupManager/ /usr/lib/perl5/site_perl/$PERLV/i386-linux-thread-multi

##fin de l’installation ##
echo «  »
echo -e  » \E[31;40m\033[1m################################################\033[0m  »
echo  » l’installation de backup-manager version $VERSION est terminee »
echo  » n’oubliez pas d’editer le fichier /etc/backup-manager.conf pour configurer vos sauvegardes »
echo -e  » \E[31;40m\033[1m################################################\033[0m  »
fi
#########fin du script##########

Suffit maintenant de rendre le script exécutable grùce à la commande :

chmod +x install-backup-manager.sh

Et enfin vous pouvez l’exĂ©cuter en root :

sh install-backup-manager.sh

L’ensemble de la configuration de Backup-Manager se fait via le fichier /etc/backup-manager.conf

Nous allons procĂ©der Ă  la configuration d’une sauvegarde incrĂ©mentielle (seul ce qui a Ă©tĂ© modifiĂ© sera sauvegardĂ©) des rĂ©pertoires /home /root /etc et /var Ă  l’exclusion du sous-rĂ©pertoire /var/archives qui va contenir nos sauvegardes. La pĂ©riode de rĂ©tention sera de 5 jours et les sauvegardes envoyĂ©es sur un serveur via le protocole FTP.

Cet exemple de configuration pourra ĂȘtre aisĂ©ment adaptĂ© Ă  vos besoins. Je rappelle que cela est fait Ă  titre d’exemple vous pouvez personnaliser cela rapidement en Ă©ditant le fichier /etc/backup-manager.conf, je ne m’intĂ©resserais qu’aux lignes importante de ce fichier.

Modifions donc notre fichier /etc/backup-manager.conf pour arriver Ă  notre politique de sauvegarde :

Notez ici le chemin oĂč seront stockĂ©es vos sauvegardes :

export BM_REPOSITORY_ROOT= »/var/archives »

Précisez le nombre de jours de rétention de vos sauvegardes :

export BM_ARCHIVE_TTL= »5″

Le nom de la machine sera aussi le nom de vos fichiers de sauvegarde :

export BM_ARCHIVE_PREFIX= »$HOSTNAME-« 

On va sĂ©lectionner une sauvegarde incrĂ©mentielle (enregistre que ce qui n’a Ă©tĂ© modifiĂ© depuis la derniĂšre sauvegarde).

export BM_ARCHIVE_METHOD= »tarball-incremental »

Si jamais vous avez une base de données Mysql à sauvegarder il vous suffit de modifier la ligne comme suit :

export BM_ARCHIVE_METHOD= »tarball-incremental mysql »

Modifions le nom du fichier d’archive pour le rendre plus court et plus lisible :

export BM_TARBALL_NAMEFORMAT= »short »

Importante sur cette variable est sur « true » Backup-Manager peut ne pas marcher (vu sur le Bugzilla) :

export BM_TARBALL_OVER_SSH= »false »

On sélectionne les dossiers à sauvegarder :

BM_TARBALL_TARGETS[0]= »/etc »
BM_TARBALL_TARGETS[1]= »/root »
BM_TARBALL_TARGETS[2]= »/var »
BM_TARBALL_TARGETS[3]= »/home »

On exclue des répertoires de la sauvegarde

export BM_TARBALL_BLACKLIST= »/dev /sys /proc /tmp /var/archives »

Les sauvegardes sont maintenant configurĂ©es ( n’oubliez pas d’Ă©diter aussi la partie mysql si vous voulez sauvegarder vos bases de donnĂ©es ).

Continuons la configuration avec l’upload de nos sauvegardes sur un serveur ftp On continue donc l’Ă©dition du fichier /etc/backup-manager.conf :

On choisit notre methode d’export, pour nous ftp mais scp ou encore ssh sont aussi disponible :

export BM_UPLOAD_METHOD= »ftp »

On indique l’adresse du serveur ftp :

export BM_UPLOAD_HOSTS= »ftp.exemple.fr »

On oublie pas de préciser le chemin ou seront stockées les sauvegardes sur le serveur ftp :

export BM_UPLOAD_DESTINATION= »/backup/archives »

On indique l’utilisateur pour la connexion au serveur ftp :

export BM_UPLOAD_FTP_USER= »thierry »

Notons ici le mot de passe pour la connexion au serveur ftp :

export BM_UPLOAD_FTP_PASSWORD= »p@ssw0rd »

on indique ici que l’on souhaite purger le fichier distant, cette fonction peut aussi ĂȘtre dĂ©sactivĂ©e en notant « false » :

export BM_UPLOAD_FTP_PURGE= »true »