Articles Tagués ‘methode’

L’installation de serveurs et/ou postes de travail tous identiques nécessitent, soit une procédure longue et précise, soit un serveur central d’image Linux.

Nous opterons ensemble pour la seconde proposition.

A partir d’une installation Debian Standard :

1. Serveur CloneZilla

Un serveur CloneZilla permet de démarrer un ou plusieurs serveurs/postes de travail à distance (Wake OnLine WOL), choisir depuis quelle partition démarrer, créer une image système en ligne et restaurer une image en boot PXE.

2. Installation de CloneZilla

2.1 Mise à jour du sources.list

# vi /etc/apt

Ajouter

deb http://drbl.sourceforge.net/drbl-core drbl stable

Acquérir la clé GPG

# wget http://drbl.nchc.org.tw/GPG-KEY-DRBL
# apt (apt-key add GPG-KEY-DRBL

Mettre à jour la base de données des dépôts

# apt-get update

2.2 Interface réseau virtuelle

CloneZilla est configuré pour utiliser 2 interfaces ethernet. Si vous n’en disposez que d’une alors :

# ifconfig eth0:0 <ma nouvelle adresse IP> netmask <mon masque>

2.3 Pré-installation

CloneZilla n’existe pas encore dans les dépôt Debian. Nous allons donc télécharger les paquets et les installer.  Pour ce faire, on utilise le binaire LINKS

# apt-get install links2

Téléchargement :

# links http://sourceforge.net/projects/drbl/files/drbl_stable/

Télécharger le paquet drbl_1.12.15-1drbl_all.deb

2.4 Installation

# dpkg –i drbl_1.9.5-42_i386.deb
# /opt/drbl/sbin/drblsrv –i

– Installer une distribution ? N
– Console série ? N
– Architecture : i386                                                     ( uname -i)
– Mettre à jour le système d’exploitation : Y

Le script se poursuit et met à jour le système d’exploitation de votre serveur depuis le dépôt installé précédemment.

2.5 Configuration de drbl/clonezilla

# /opt/drbl/sbin/drblpush –i

– dns, NIS, prefixe client : <saisir les informations selon votre infrastructure>
– interface ethernet public : eth0:0
– No
– No
– Plage d’adresses IP : <info selon infrastruture réseau>
– ltsp : utile uniquement pour les clients légers

– Fournir clonezilla BOX (1), c’est ce que nous avons besoin pour le déploiement.

– nous allons utiliser /images comme dossier de destinations de celles-ci.

– Aucun mot de passe de démarrage

– On définit un prompt de démarrage ! tempo à choisir (délai avant l’action par défaut), arrière-plan graphique (y)

– On désactive NAT, l’utilisation de PXE ne se fera qu’en LAN…

Et l’on poursuit..

La configuration se fait maintenant.

Afin de faciliter la gestion du parc par filtrage MAC, il est préférable d’ajouter dans /etc/dhcp3/dhcpd.conf les postes clients un par un afin de les nommer et donc de réserver les IPs, voici la syntaxe :

Host nom hôte {

Hardware ethernet @MAC ; #de l’hôte

Fixed-address @IP ; #de l’hôte

}

Et redémarrer le service dhcpd : /etc/init.d/dhcp3-server restart

3. Création d’images de grub pour la selection de la partition à booter à distance

3.1 Création d’un disque de boot grub

Pour commencer, il faut créer une image disque du grub à envoyer en PXE. Pour ce faire, on utilisera VMware.

A partir d’une machine virtuelle, ouvrez le menu Paramètres

* Onglet périphériques : sélectionner floppy disk
* cliquer sur create disk
* saisir un nom

3.2 Installation de grub

# mke2fs /dev/fd0
# mount -t ext2 /dev/fd0 /mnt
# mkdir –p /mnt/boot/grub
# cp /boot/grub/stage1 /mnt/boot/grub
# cp /boot/grub/stage2 /mnt/boot/grub
# umount /dev/fd0
# grub

Configuration de grub

Grub est maintenant installé.

Cryptage du mot de passe

Afin de ne pas mettre le mot de passe de verrouillage grub en clair, nous allons le crypter en md5 via grub : (azerty pour les tests, ATTENTION : clavier grub est en qwerty)

Configuration menu.lst

<

Il va maintenant falloir configurer le menu pour les partitions (dans ce cas, par défaut : Ubuntu) qui se trouve dans le répertoire monté /mnt/boot/grub/menu.lst:

timeout 1 # attente d'1 seconde avant exécution
default 0 # par défaut on boot sur la première partition
password --md5 ???????????????????????????? # on prendra un mot de passe simple comme "azerty"
title Ubuntu
root (hd0,0)
kernel /boot/vmlinuz-2.6.24-17-genric root=/dev/sda1 ro quiet splash
initrd /boot/initrd.inmg-2.6.24-17-generic
title Windows XP
root (hd0,2)
makeactive
chainloader +1

Grub est maintenant configuré.

Création de l’image PXE

Nous pouvons maintenant procéder à la création de l’image de boot grub à partir de l’image disquette (ne pas oublier de démonter la disquette).

Pour cela, l’on va d’abord se rendre dans le répertoire root du serveur TFTP de clonezilla :

cd /tftpboot/nbi_img/

et enfin, créer l’image dans ce dernier :

# dd if=/dev/fd0 of=boot_ubuntu.img bs=1024 count=1440

L’image de boot PXE pour démarrer sur Ubuntu est maintenant prête. Pour Windows XP, il suffit de refaire la manipulation en modifiant simplement le default à 1 dans le menu.lst.

Configuration du menu de boot

Maintenant que les images de boot pour grub sont préparées, nous allons pouvoir les ajouter dans le menu de boot PXE. Pour se faire, il faut éditer le script situé dans /opt/drbl/sbin/generate-pxe-menu et se diriger vers la fin où l’on trouve les labels puis ajouter les 2 entrées pour ces menus. Il est conseillé de les entrer après le label local.

On a aussi la possibilité de désactiver l’édition des menus en mettant l’option « ALLOWOPTIONS » à 0.

Définition des lignes :

Label : nom du label (vu sur clonezilla)

MENU DEFAULT : IMPORTANT : utilisé pour la configuration du boot via clonezilla

MENU HIDE : pareil

Menu label : nom du label vu sur le menu de boot pxe

Memdisk : utilisation de la mémoire du client pour charger l’image

Boot_xp.img : image à chargée

TEXT HELP/ENDTEXT : compléments d’aide lors de la sélection du label dans le menu pxe.

Pour changer le timeout du menu, il faut modifier timeout (40 = 4 secondes). On peut aussi modifier l’image de boot soit en changeant la valeur dans MENU BACKGROUND, soit en remplaçant drblwp.png situé dans /tftpboot/nbi_img/.

Le menu est maintenant configuré, il suffit de lancer ce script après l’avoir enregistré pour prendre en compte les résultats : /opt/drbl/sbin/generate-pxe-menu

Nous pouvons maintenant démarrer une machine en PXE

Utilisation de clonezilla

Voici divers exemples pour utiliser clonezilla (depuis la commande /opt/drbl/sbin/dcs) :

Premier menu :

2 choix sont proposés :

le premier permet de paramétrer une action pour TOUS les clients (c’est-à-dire sur tout le pool dhcp en récupérant les correspondances dans dhcpd.conf)

le second permet de paramétrer une action pour UN ou PLUSIEURS clients

Création de groupe

Il est possible de créer des groupes de MAC/IP pour éviter de sélectionner un à un les postes cibles.

Pour se faire il suffit de créer dans /etc/drbl/ un fichier contenant les adresses MAC ou IPs cibles.

Groupes par adresses MAC

/etc/drbl/MAC-grp-« nom du groupe »

Contenu (une IP par ligne) :

00:25:XX:XX:XX:XX

00:1c:XX:XX:XX:XX

Groupes par adresses IP

/etc/drbl/IP-grp-« nom du groupe »

Contenu (une IP par ligne) :

192.168.1.1

192.168.1.2

Exemple 1 : sélectionner le démarrage par défaut

Maintenant, si l’on veut que TOUS les postes démarrent automatiquement sur XP, il suffit de sélectionner le mode « All », de se rendre dans l’option « more » => « switch-pxe-menu » => « setdefault »=> cocher « xp ».

Exemple 2 : utilisation du wol (wake-on-lan)

Maintenant soit on démarrer les postes un à un… soit on relance dcs en sélectionnant une fois de plus le mode « All » et en sélectionnant par la suite « Wake-on-Lan ».

Attention lorsque l’on choisit ce paramètre, il reste par défaut même après le redémarrage de la machine. Donc il faut penser à changer la valeur de setdefault après reboot.

Exemple 3 : Backup d’un poste via PXE

Nous allons cette fois ci utiliser le mode « part » avec par la suite, le mode par adresse MAC.

On choisit le poste client à sauvegarder via la touche espace et l’on accepte.

Ensuite, il faut choisir « clonezilla start », suivis de « save-parts » (dans mon cas « save-disk ») et entrer le nom de l’image.

Exemple 4 : Restauration de plusieurs postes en Multicast

Encore une fois, nous allons choisir le mode « Part » .

On choisit les postes à restaurer en cochant avec la touche espace. (les hôtes affichés sont récupérés à partir des réservations IPs faites dans le dhcpd.conf)

Une fois les clients sélectionnés, il faut choisir le mode « clonezilla-start », ensuite au choix entre débutant et expert. Expert permettant de configurer plus d’options tel que la méthode de compression, la priorité des utilitaires à utiliser pour la restauration, etc…

Une fois choisi, il faut sélectionner « restore parts », choisir l’action à faire à la fin du clonage.

A noter : on ne peut faire de restauration sur un disque dur cible qui est plus petit que le disque dur dont provient l’image. Par ailleurs, il est possible de faire une restauration sur un disque dur plus grand que le disque dur source (clonezilla va s’occuper de redimensionner le MBR source afin que la taille de la table des partition soit proportionnelle à la taille du disque dur cible).

ensuite choisir le déploiement en multicast et le mieux est de choisir l’option ci-dessous :

clients-time-to-wait

Elle permet de spécifier un nombre de client cibles ainsi qu’un délai max avant le début du déploiement.

Imaginons que l’on veuille déployer une image sur 20 postes et que l’on mette un délai d’attente de 30 secondes : Si au bout de 30 secondes à partir du moment où le premier poste se connecte, les 20 postes connectés ne sont pas atteint, la restauration commence.

Lorsque la restauration est terminée, une notification est envoyée sur le Shell afin de prévenir l’état de la restauration.

Future mises à jour Clonezilla/Debian

Attention, pour les futures mises à jour clonezilla ou lorsque l’on veut mettre en place un nouveau kernel (via /opt/drbl/sbin/drblsrv –i), il faut faire une sauvegarde du script de génération de menu, de l’image splashboot ainsi que des images grub.

 

L’administration d’un parc informatique important peut devenir une tâche ardue si le nombre de postes de travail est important ou s’ils sont répartis sur une zone géographique vaste.

Dans ce cas, vous avez 2 solutions majeures :

  • Le réseau « basket » : à l’aide d’une clé USB, d’un partage réseau et d’une bonne paire de chaussures de sports, votre rôle sera de vous connecter sur chaque poste de travail et de réaliser l’installation manuelle. J’oubliais que vous pouviez aussi vous connecter en prise de main à distance 🙂
  • Packager votre application et la proposer au déploiement : cette solution sera étudiée ci-dessous

1. Installation d’une application : description

L’installation d’une application se fait via l’exécution d’un programme exécutable (.exe) qui réalise différentes opérations :

  • Base de registre : ajout/modification de clés et de valeurs
  • Système de fichiers : ajout de fichiers selon une arborescence
  • Base de données de configuration logicielle Microsoft : ajout des informations sur l’application dans la base de données (Panneau de configuration/Ajout-suppression de programmes)

L’application se charge également de valider les pré-requis :

  • architecture CPU,
  • espace disque,
  • mémoire vive,
  • version d’IE,
  • version de .NET,

2. Pré-requis : le poste de travail source

Afin de packager l’application cible, vous devez vous appuyer sur un poste de travail type. Ce poste de travail doit contenir toutes les applications standards de votre entreprise, être intégrée à votre domaine Active Directory et connectée à votre réseau.

Vous devez être administrateur local de ce poste de travail.

Il doit également posséder 2 applications :

  • regshot : disponible ici
  • MSI Studio Pro : disponible ici

Votre poste de travail source peut également être, et je vous le conseille, une machine virtuelle.
Dans ce cas, avant toute modification, vous activerez les snapshots. Cette opération vous permettra de revenir facilement en arrière et retrouver un poste de travail source propre.

3. Cliché pré-installation de la base de registre

  1. Fermer toutes les applications ouvertes
  2. Exécuter l’application regshot.exe
    regshot1
  3. Ajouter un commentaire, ici : « Shot 1 : Application TEST »
  4. Cliquer sur le bouton <1st shot>, <Shot and save>
  5. Enregistrer le résultat dans un fichier, ici : TEST-Shot-1.hiv
  6. Fermer l’application

4. Installation de l’application cible

Installez votre à application.

Lors de l’installation, veillez tout de même à noter les différents chemins d’installation, les modifications réalisées sur l’arborescence du Menu Démarrer et les modifications apportées sur le bureau.

TESTEZ VOTRE NOUVELLE APPLICATION

5. Cliché post-installation de la base de registre

  1. Fermer toutes les applications ouvertes
  2. Exécuter l’application regshot.exe
    regshot1
  3. Ajouter un commentaire, ici : « Shot 2 : Application TEST »
  4. Cliquer sur le bouton <1st shot>, <Load> et sélectionner le fichier TEST-Shot-1.hiv
    regshot2
  5. Cliquer sur le bouton <2nd shot>, <shot>
    regshot3
  6. Cliquer sur le bouton <cOmpare>
    RegShot ouvre alors un fichier txt contenant les différences entre les 2 clichés. On y trouve en outre les clés et les valeurs ajoutées/modifiées/supprimées
  7. Enregistrer ce fichier résultat
  8. Fermer l’application

6. Packager l’application

  1. Ouvrez l’application MSI Studio Professional
  2. Sélectionnez « Create a New Setup Installation for a Sofware Program »
  3. Sélectionnez « Windows Template » puis cliquez sur « Open the new project directly »
  4. Configuration du projet (* = Obligatoire)
    Product Details – Name (*): saisissez le nom de l’application tel qu’il apparaitra sur le poste de travail
    Product Details – Version (*): saisissez le numéro de version
    Product Details – Manufacturer (*): saisissez l’éditeur du programme
    Product Details – Default Directory (*): sélectionnez le dossier de destination par défaut
    General Information – Title :
    General Information – Subject :
    General Information – Author : saisissez l’auteur du projet, c’est à dire vous
    General Information – Keywords :
    General Information – Comments :
    General Information – Package Code (*): cliquez sur le bouton <Create>, pour générer un identifiant unique
  5. Support et panneau de configuration
    Dans la zone « Add or Remove Programs », vous pouvez paramétrer l’intégration de votre nouvelle application dans le Panneau de configuration-Ajout/suppression de programmes de Windows.
    Les informations de support sont fortement recommandées. Support Information – Contact :  nom du chef de projet responsable de cette application
    Support Information – Phone Number : numéro de téléphone de votre centre de service ou de votre équipe support niveau 1
    Support Information – Support URL : URL d’accès à la page Web de support de votre application
  6. Applications Requirements
    Sélectionnez ici (si nécessaire) les versions minimales nécessaires à la bonne exécution de votre programme

    • Windows 9x
    • Windows NT
    • Internet explorer
    • .Net framework

    Sélectionnez ensuite (si nécessaire) les applications (fichiers .exe) nécessaires à la bonne exécution de votre programme cible.

    Si votre cible requière le framwork .Net, spécifiez le mode d’installation :

    • Run the .NET MSI from a UNC network or local path : si vous disposez d’un partage réseau contenant le fichier d’installation
    • Store the .NET Framework within the package : si vous souhaitez intégrer le pacage d’installation .NET dans votre propre package
  7. Installation Properties
    Configurez ici votre méthode d’installation (redémarrage, …)
  8. Files and Registry ( <— C’est ici que vous ajoutez les fichiers, registre et autres variables d’environnement de votre future application)
    1. Filesmsi1
      A partir de l’onglet « System View », sélectionnez le dossier d’installation de votre application source
      A partir de l’onglet « Project View », sélectionnez le dossier de destination
      Cliquez sur le bouton <Add Folder>
    2. Registry
      A partir du fichier issu de RegShot, sélectionnez les clés et les valeurs à ajouter
  9. Shortcuts and Other Items
    1. Shortcuts : ajoutez ici la création de raccourcis
    2. INI Files : ajoutez ici la création de fichier INI spécifique ou modifiez un fichier INI existant
    3. Environnement variables : ajoutez/modifiez des variables d’environnement (Poste de Travail/Propriété/Avancé/Variable d’environnement)
    4. Service Management : déterminez ici l’exécutable à configurer en tant que service et gérez son mode de démarrage
  10. Dialogs and Actions

    1. Dialogs : ici, vous pouvez ajouter/modifier les boites de dialogue prédéfinies dans l’application. En effet, un fichier MSI, tel une application, communique avec son utilisateur (licence, path, …).
    2. Dialog Sequencing : le séquencement des boites de dialogue peut être configuré
  11. A vos marques, prêts, …., packagez et testez
    Ctrl+B

7. Ajouter votre fichier MSI pour déploiement sur votre parc

Cette section est ou sera abordée dans l’article « Implémentation GLPI »

1. Pré-requis

ssh étant un protocole sécurisé, il faut impérativement que la clé publique du certificat d’identification du serveur maître soit recopié sur chaque serveur fils, pour que la connexion puisse s’effectuer sans saisie de mot de passe.
A noter qu’on peut rapidement déployer la clé publique sur les serveurs fils en utilisant ce script :
scp id_svocs.pub $1:/root/
ssh $1 "cat /root/id_svocs.pub >>/root/.ssh/authorized_keys"
qui va s’utiliser ainsi :
/root/majiddsapub nom_du_serveur
Il faudra simplement taper deux fois le mot de passe de root pour réaliser l’opération.
Bon, okay, vous avez accès à la commande : ssh-copy-id
ssh-copy-id -i ~/.ssh/id_dsa.pub user@machine

2. Création d’un script

2.1 Stockage des scripts

Il est toujours intéressant de pouvoir s’y retrouver, surtout au bout de quelques mois d’intervention. Voici un exemple d’arborescence mise en œuvre :
 /root/scripts : racine des scripts. On stocke ici les fichiers contenant les listes de serveurs à traiter (on peut avoir plusieurs listes selon les opérations à effectuer).
 /root/scripts/20090304/ dossier contenant les scripts créés le 4 mars 2009. On y retrouvera au minimum le script maître, par exemple : script. On pourra également trouver le script qui doit s’exécuter sur les serveurs distants : scriptdistant.

2.2 Liste des serveurs

Dans un fichier texte, insérer la liste des serveurs, avec une ligne par serveur. Ne pas laisser de ligne vide. Utiliser de préférence les noms dns, qui garantissent un accès dans tous les cas de figure aux serveurs distants.

2.3 Script serveur

Voici un exemple de script, qui peut être adapté en fonction des besoins :
 
# Mise a jour de la liste des rpm
for serveur in $(cat ../listeserveurs)
do
echo "serveur en cours de traitement : "$serveur
scp /root/majlisterpm $serveur:/root/
scp scriptdistant $serveur:/root/
ssh $serveur /root/scriptdistant
done
Ce programme va recopier le fichier /root/majlisterpm sur chaque serveur, le fichier scriptdistant, puis va exécuter le fichier scriptdistant préalablement recopié.
Ne pas oublier de rendre exécutable le script :
chmod +x script

3. Utilisation de dsh

dsh est un utilitaire qui permet de réaliser ce que fait le script précédent, à savoir générer les commandes pour un ensemble de serveurs.
La syntaxe est simple :
dsh  [-m machinename | -a | -g groupname] [-r remoteshellname] [-c | -w | -i | -F forklimit ] -- commandline
 m : permet d’indiquer sur quelle(s) machine(s) doit être exécuté le script (nom des machines séparées par une virgule)
 a : exécute le script sur toutes les machines déclarées dans le fichier /etc/dsh/machines.list
 g : exécute le script pour le groupe de machines décrit dans /etc/dsh/group/nomgroupe (équivalent au fichier listeserveurs ci-dessus)
 f listeserveurs : exécute le script pour le groupe de machines décrit dans le fichier indiqué (pas forcément dans /etc/dsh/group/)
 r : par défaut, dsh va exécuter les scripts en utilisant rsh. Il est possible de forcer l’exécution avec ssh, par exemple, en utilisant cette option. Ce paramètre peut également être modifié par défaut dans le fichier /etc/dsh/dsh.conf
 c : exécute les commandes en parallèle sur l’ensemble des machines
 w : attend que le traitement sur une machine soit terminé avant d’entamer le travail sur la machine suivante
 i : quand l’exécution est demandée sur plusieurs machines en parallèle (option -c), crée autant de processus que de machines traitées
 F : idem que -c, mais en limitant le nombre de traitements parallèles
 v : mode verbeux
 q : mode silencieux
Ainsi, le script précédent va pouvoir prendre la forme suivante :
dsh -f ./listeserveurs -r ssh /root/scriptdistant

3.2 Script distant

On écrit le script qui va s’exécuter sur le serveur distant. Dans notre exemple, on va programmer l’exécution de majlisterpm une fois par semaine :
cat scriptdistant
if test ! -e /etc/cron.weekly/majlisterpm
then
ln -s /root/majlisterpm /etc/cron.weekly/majlisterpm
fi
Ne pas oublier de rendre le script exécutable :
chmod +x scriptdistant
Autre exemple, pour modifier le compte d’envoi des messages systèmes dans le fichier /etc/postfix/aliases :
cat scriptdistantpostfix
cp /etc/postfix/aliases /etc/postfix/aliases.old
sed s/^root:.*$/"root: manouvelleadressemel@mondomaine.com"/ /etc/postfix/aliases.old > /etc/postfix/aliases

3.3 Exécution du script

Il suffit de lancer l’exécution du script :
./script
Mise en place de l’enregistrement du résultat de l’exécution
Par défaut, tous les messages d’exécution s’afficheront sur la console. Si on veut enregistrer le résultat des commandes, il suffit de modifier le script en redirigeant toutes les commandes vers un fichier log, qu’on pourra alors consulter tranquillement…
Par exemple :
$log = /var/log/script.log
`date` > $log
# Mise a jour de la liste des rpm
for serveur in $(cat ../listeserveurs)
do
echo "serveur en cours de traitement : "$serveur >> $log
scp /root/majlisterpm $serveur:/root/ 1>>$log 2>>$log
scp scriptdistant $serveur:/root/ 1>>$log 2>>$log
ssh $serveur /root/scriptdistant 1>>$log 2>>$log
done
echo "fin de traitement a " `date` >>$log

1. Installation du serveur

#apt-get install nis

2. Configuration

2.1 Configuration : /etc/default/nis

#NISSERVER=false
NISSERVER=master
NISCLIENT=true
YPPWDDIR=/etc
YPCHANGEOK=chsh
NISMASTER=
YPSERVARGS=
YPBINDARGS=-no-dbus
YPPASSWDDARGS=
YPXFRDARGS=

2.2 Configuration : /etc/YPServ.conf

#
# ypserv.conf   In this file you can set certain options for the NIS server,
#               and you can deny or restrict access to certain maps based
#               on the originating host.
#
#               See ypserv.conf(5) for a description of the syntax.
#
# The following, when uncommented,  will give you shadow like passwords.
# Note that it will not work if you have slave NIS servers in your
# network that do not run the same server as you.
Host                       : Domain  : Map              : Security
*                          : *       : passwd.byname    : port/mangle
*                          : *       : passwd.byuid     : port/mangle
# This is the default - restrict access to the shadow password file,
# allow access to all others.
*                            : *       : shadow.byname    : port
*                            : *       : passwd.adjunct.byname : port
*                            : *       : *                : none

2.3 Configuration : /etc/yp.conf

#
# yp.conf       Configuration file for the ypbind process. You can define
#               NIS servers manually here if they can't be found by
#               broadcasting on the local net (which is the default).
#
#               See the manual page of ypbind for the syntax of this file.
#
# IMPORTANT:    For the "ypserver", use IP addresses, or make sure that
#               the host is in /etc/hosts. This file is only interpreted
#               once, and if DNS isn't reachable yet the ypserver cannot
#               be resolved and ypbind won't ever bind to the server.
# ypserver ypserver.network.com
ypserver monserveurnis.mondomaine.priv

2.4 Configuration : /etc/defaultdomain

mondomaine.priv

2.4 Configuration : /etc/ypserv.securenets

#
# securenets    This file defines the access rights to your NIS server
#               for NIS clients (and slave servers - ypxfrd uses this
#               file too). This file contains netmask/network pairs.
#               A clients IP address needs to match with at least one
#               of those.
#
#               One can use the word "host" instead of a netmask of
#               255.255.255.255. Only IP addresses are allowed in this
#               file, not hostnames.
#
# Always allow access for localhost
255.0.0.0       127.0.0.0
# This line gives access to everybody. PLEASE ADJUST!
0.0.0.0         0.0.0.0

3. Initialisation

Création de la base de données d’authentification

#/usr/lib/yp/ypinit -m

3.1 Installation du client NIS

# yp.conf       Configuration file for the ypbind process. You can define
#               NIS servers manually here if they can't be found by
#               broadcasting on the local net (which is the default).
#
#               See the manual page of ypbind for the syntax of this file.
#
# IMPORTANT:    For the "ypserver", use IP addresses, or make sure that
#               the host is in /etc/hosts. This file is only interpreted
#               once, and if DNS isn't reachable yet the ypserver cannot
#               be resolved and ypbind won't ever bind to the server.
# ypserver ypserver.network.com
ypserver monserveurnis.mondomaine.priv

3.2 Configuration du client NIS

3.2.1 /etc/hosts

10.11.12.13          monserveurnis.mondomaine.priv     monserveurnis

3.2.2 /etc/defaultdomain

mondomaine.priv

3.2.3 /etc/nsswitch.conf

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd:         nis compat
group:          compat
shadow:         compat
hosts:          files nis mdns4_minimal [NOTFOUND=return] dns mdns4
networks:       files
protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

3.2.4  Modification des fichiers locaux

# echo "+::::::" >>/etc/passwd
# echo "+::::::::" >>/etc/shadow
# echo "+:::" >>/etc/group

4. Maintenance

4.1 Création d’un utilisateur

Sur le serveur client configuré Client NIS :

NIS client # mkdir /home/<user>
NIS client # chown <user>:<user> <user>

Sur le serveur NIS :

NIS server # adduser <user>
NIS server # cd /var/yp
NIS server # make

4.2 Modification d’un mot de passe

NIS server # yppasswd <user>
NIS server # mot de passe root :
NIS server # nouveau mot de passe :
NIS server #
NIS server # cd /var/yp
NIS server # make

4.3 Supprimer un utilisateur

Sur le serveur client configuré Client NIS :

NIS client # rm –r /home/<user>

Sur le serveur NIS :

NIS server # deluser <user>
NIS server # cd /var/yp
NIS server # make
Ce script a pour objectif de changer le mot de passe d’un compte passé en paramètre sur l’ensemble des serveurs UNIX de votre parc.
Pré-requis :
  • Se connecter en tant que ROOT sur votre serveur
  • Configurer un échange de clés SSH entre votre serveur et l’ensemble des serveurs de votre parc
  • Une liste des serveurs cibles dans le fichier /root/scripts/listedesserveursatraiter
Utilisation :
#ChangePasswd.sh <nom du compte>

ex : #ChangePasswd.sh root
Code :
#!/bin/bash

compte = $1

echo "Modification du mot de passe $compte sur l'ensemble des serveurs"
read -s -p "Nouveau mot de passe : " mdp
echo ""
if test -z "$mdp" ; then
        echo "Le mot de passe ne peut pas être vide"
        exit
fi
read -s -p "Vérification du mot de passe saisi : " mdp2
if test "$mdp" != "$mdp2" ; then
        echo "Les mots de passe saisis ne correspondent pas"
        exit
fi

echo "Modification du mot de passe du compte $compte"

SERVEUR=/root/scripts/listedesserveursatraiter
for serveur in `cat $SERVEUR|grep "^[^#].*$"`
do
        echo "Traitement du serveur : $serveur"
        ssh $serveur "echo $compte:$mdp|chpasswd"
done

echo "Après avoir VERIFIE LES CONNEXIONS sur CHAQUE SERVEUR, vous pouvez fermer ce shell"

echo "Après avoir VERIFIE LES CONNEXIONS sur CHAQUE SERVEUR, vous pouvez fermer ce shell"
 
Commentaires :  le fichier /root/scripts/listedesserveursatraiter contient la liste des serveurs :
serveur1
serveur2
#ce serveur ne sera pas traité
Parce que la connexion SSH est configurée par échange de clés, le script se charge d’envoyer, sans authentification, la commande chpasswd <nom du compte>:<mot de passe> à tous les serveurs.

1.Installation d’un serveur LDAP simplissime

Ici, je vais vous montrer comment installer un serveur LDAP minimaliste.

#apt-get install slapd ldap-utils

2.Configuration

Une fois installé, il nous faut définir un password pour root avec la commande suivante.

slappasswd

New password:

Re-enter password:

{SSHA}d2BamRTgBuhC6SxC0vFGWol31ki8iq5m

Copiez la ligne « {SSHA}d2BamRTgBuhC6SxC0vFGWol31ki8iq5m » et éditez le fichier « /etc/ldap/slapd.conf ».

#Assurez d’avoir les lignes suivantes ou de les décommenter, « chezmoi » est le petit nom que je veux donner à mon LDAP

suffix « dc=chezmoi » #j’ai choisi ce DC mais vous pouvez prendre autre chose bien sûre

directory « /var/lib/ldap » #par défaut

rootdn « cn=admin,dc=chezmoi »

rootpw {SSHA}d2BamRTgBuhC6SxC0vFGWol31ki8iq5m

Éditez le fichier /etc/ldap/ldap.conf et ajoutez :

BASE dc=chezmoi

3.Initialisation

Encore un petit effort ! Il nous faut maintenant créer un fichier contenant nos premières entrées LDAP. Je vous propose de créer un fichier nommé init.ldif et d’ajouter ce contenu (minimaliste : création d’une OU contacts pour y placer nos contacts) :

dn: dc=chezmoi

objectClass: dcObject

objectClass: organizationalUnit

dc: chezmoi

ou: Chezmoi

dn: ou=contacts,dc=chezmoi

objectClass: organizationalUnit

ou: contacts

On va arrêter LDAP, charger notre fichier et redémarrer LDAP :

# /etc/init.d/slapd stop

# slapadd -l ~/ldap.ldif

# /etc/init.d/slapd start

Il nous reste maintenant à télécharger le schéma correspondant à mozilla thunderbird à cette adresse :

Mozilla LDAP Schema

Placez son contenu dans un fichier, par exemple /etc/ldap/schema/mozilla-thunderbird.schema

(Note : il faut retirer les lignes suivantes de ce schéma sinon ldap ne veux pas redémarrer)

mozillaCustom2 $

mozillaCustom4 $

nsAIMid $

Ajouter au début du fichier /etc/ldap/slapd.conf la ligne suivante et redémarrez slapd, placer vous dans ~/mozilla/dist/bin et lancer thunderbird :

–> ajout de « include /etc/ldap/schema/mozilla-thunderbird.schema » dans au début du fichier « /etc/ldap/slapd.conf »

# /etc/init.d/slapd restart

# cd ~/mozilla/dist/bin

# ./thunderbird

Maintenant, il suffit d’ajouter un nouvel annuaire LDAP depuis la partie carnet d’adresses de Thunderbird. Les paramètres à entrer sont les suivants (pour notre exemple) :

Name : chezmoi

Hostname : localhost

base DN : ou=contacts, dc=chezmoi

Bind DN : cn=admin,dc=chezmoi

Vous pouvez maintenant créer des contacts qui seront directement enregistrés dans votre annuaire LDAP !! 🙂

1.           Introduction

OCS Inventory est une application client-serveur qui permet l’inventaire complet et dynamique d’un parc informatique. Il prends en charge les OS tels que Microsoft, Linux (toutes distributions), Solaris, AIX, HP-UX, Mac OS, …

Ce document décrit les différentes étapes d’installation et de configuration du serveur OCS Inventory et son agent d’inventaire sur les systèmes Microsoft Windows et Linux ainsi que les processus de compilation d’applications à partir des sources.

2.           A qui s’adresse cette procédure

Ce document s’adresse à des ingénieurs ou administrateurs Microsoft et Linux ayant déjà administrés un serveur Microsoft et/ou Linux.

3.           Pré-requis

3.1.       Pré-requis « Matériels »

    • Aucun

3.2.       Pré-requis « Logiciels »

  • Aucun

3.3.       Pré-requis « Logistique»

  • Accès en tant qu’administrateur du serveur cible

4.  Installation et configuration sous Microsoft Windows

4.1.          Installation de l’agent OCS

  1. Se connecter sur le serveur cible en tant qu’administrateur
  2. Télécharger l’agent OCS Inventory à partir du portail OCS Inventory
  3. Exécuter le programme OcsAgentSetup.exe
  4. Cliquer sur le bouton Suivant
  5. Cliquer sur le bouton « J’accepte »
  6. Configurer l’agent OCS comme ci-dessous puis cliquer sur le bouton Suivant
  7. Cliquer sur le bouton Installer

5.  Déploiement sous Microsoft Windows

5.1.          Installation de l’outil de déploiement

A partir de l’archive OCSNG_AGENT_DEPLOYMENT_TOOL_1.02.zip

installer le programme “OCS Inventory NG Agent Deployment Tool” avec la configuration par défaut.

5.2.          Déploiement de l’agent Windows

  1. Exécuter le programme « OCS Inventory NG Agent Deployment Tool » via le menu démarrer de votre station de travail
  2. Cliquer sur le bouton « Windows Agent »
  3. Sélectionner la plage d’adresses IP ou les serveurs à déployer
  4. Configurer le déploiement comme ci-dessous :
  5. S’authentifier en tant qu’administrateur du domaine
  6. Appuyer sur le bouton « Start »


5.3.          Déploiement de l’agent Linux

  • Appuyer sur le bouton « Start »

6. Installation du CPAN et des modules PERL

6.1.          Pré-requis  Debian

# apt-get install bzip2 lynx make gzip ncftp ftp pgp wget unzip curl

6.2.          Installation du CPAN

# perl -MCPAN -e shell

Répondre ok partout

Your http_proxy? [] 172.16.1.2:3128

cpan> install Bundle::CPAN

6.3.          Installation des modules PERL

cpan> install Digest::MD5 XML::Simple Net::IP LWP Proc::Daemon Proc::PID::File Compress::Zlib

6.4.          Installation des packages RPM

# yum install dmidecode perl-LWP-UserAgent-Determined.noarch lspci pciutils ipmitool

7. Installation de l’agent OCS

7.1.          Installation à partir des paquets

#apt-get install ocsinventory-agent

7.2.          Installation à partir des sources

En tant que : ROOT

cd /usr/local/src

wget –proxy=off http://monserveurquicontientlessources/telechargement/Ocsinventory-Agent-1.1.2.tar.gz

cp Ocsinventory-Agent-1.1.2.tar.gz /tmp

cd /tmp

tar -xzvf Ocsinventory-Agent-1.1.2.tar.gz

cd Ocsinventory-Agent-1.1.2

perl Makefile.PL

make

make install

Do you want to configure the agent

Please enter ‘y’ or ‘n’?> [y]

Where do you want to write the configuration file?

0 -> /etc/ocsinventory

1 -> /usr/local/etc/ocsinventory

2 -> /etc/ocsinventory-agent

?>  2

Do you want to create the directory /etc/ocsinventory-agent?

Please enter ‘y’ or ‘n’?> [y]

What is the address of your ocs server?> [ocsinventory-ng] monServeurOcsQueJeViensDInctaller

Do you need credential for the server? (You probably don’t)

Please enter ‘y’ or ‘n’?> [n]

Do you want to apply an administrative tag on this machine

Please enter ‘y’ or ‘n’?> [y]

tag?> DEV ou SIMU ou PROD

Do yo want to install the cron task in /etc/cron.d

Please enter ‘y’ or ‘n’?> [y]

Where do you want the agent to store its files? (You probably don’t need to change it)?> [/var/lib/ocsinventory-agent]

Do you want to create the /var/lib/ocsinventory-agent directory?

Please enter ‘y’ or ‘n’?> [y]

Should I remove the old linux_agent

Please enter ‘y’ or ‘n’?> [n]

Do you want to use OCS-Inventory software deployment feature?

Please enter ‘y’ or ‘n’?> [y]

Do you want to send an inventory of this machine?

Please enter ‘y’ or ‘n’?> [y]

1. Installation et configuration de la gestion des quotas

Se connecter en tant qu’administrateur :

#apt-get install quota quotatool

2.  Configuration

2.1.                Mise en place à chaud des quotas sur une partition

  • Editer le fichier /etc/fstab :

/dev/sdb1       /Data           ext3    defaults,usrquota,grpquota        0       1

  • Créer les fichiers de gestion des quotas

#touch /Data/aquota.user

#touch /Data/aquota.group

#chmod 600 /Data/aquota.*

  • Remonter la partition

#mount -a

3.1.          Configuration du quota pour un utilisateur

  • #edquota –u <utilisateur>

Quotas disque pour user <utilisateur> (uid 1XXX) :

Système de fichiers          blocs       souple     stricte   inodes    souple   stricte

/dev/sdb1                        20     100000     120000          5   100000   120000

 

Ici avertissement à 100 Mo et limitation à 120 Mo

3.2.          Configuration du quota pour un groupe

  • #edquota –g <groupe>

Quotas disque pour user <groupe> (uid 1X) :

Système de fichiers          blocs       souple     stricte   inodes    souple   stricte

/dev/sdb1                        20     100000     120000          5   100000   120000

 

Ici avertissement à 100Mo et limitation à 120Mo

4.  Administration des quotas

4.1.          Rapport de quotas

# repquota -uvg /dev/sdb1

*** Rapport pour les quotas user sur le périphérique /dev/sdb1

Période de sursis bloc : 7days ; période de sursis inode : 7days

Limites bloc               Limites fichier

Utilisateur     utilisé souple stricte sursis utilisé souple stricte sursis

———————————————————————-

root      —  154232       0       0              4     0     0

sysadmin  —      20       0       0              5     0     0

toto      —      20       0       0              5     0     0

Ici l’utilisateur toto est bien en dessous des limitations de quotas

# repquota -uvg /dev/sdb1

*** Rapport pour les quotas user sur le périphérique /dev/sdb1

Période de sursis bloc : 7days ; période de sursis inode : 7days

Limites bloc               Limites fichier

Utilisateur     utilisé souple stricte sursis utilisé souple stricte sursis

———————————————————————-

root      —  154232       0       0              4     0     0

sysadmin  —      20       0       0              5     0     0

toto      +-  120000  100000  120000  7days       6 100000 120000

Ici l’utilisateur toto a utilisé tout son quota

A Venir

Publié: 13 février 2013 dans Haute disponibilite
Tags:, , , , , , ,

A Venir.

1.  FTPS : c’est quoi ?

Le FTPS, ou File Transfer Protocol Secure, est un protocole réseau permettant l’échange de fichiers informatiques.

Il se base sur le protocole FTP (RFC 959) mais ajoute une couche de chiffrage des échanges avec les protocoles SSL ou TLS. Ainsi, il permet au visiteur de vérifier l’identité du serveur auquel il accède grâce à un certificat d’authentification.

2. Quel chiffrement ?

La connexion s’effectue sur le port 21, le port de commande FTP standard, et puis soit:

  • la commande « AUTH TLS » (anciennement « AUTH TLS-C ») demande au serveur de chiffrer le transfert de commande en TLS, et le chiffrement du transfert de données se fait par la commande « PROT P ».
  • (non standard) la commande « AUTH SSL » (anciennement « AUTH TLS-P ») demande au serveur de chiffrer le transfert de commande et de données en SSL.

Cette approche est compatible avec les serveurs ou clients FTP ne supportant pas le chiffrement SSL/TLS, auquel cas une connexion non chiffrée pourra être utilisée ou bien refusée.

Le schéma d’URI est ftpes:// ou simplement ftp://

3.  Installation du service FTP

3.1.          Installation de ProFTP

Se connecter sur le serveur cible en tant qu’administrateur

#apt-get install proftpd

4.  Génération du certificat SSL

4.1.          Installation de la couche SSL

#apt-get install openssl

4.2.          Génération du certificat SSL

4.2.1.1.                      Type de certificat

Certificat : DHE-RSA-AES256-SHA (256 bits)

Durée de validité : 365 jours

4.2.1.2.                      Génération

# openssl req -new -x509 -days 365 -nodes -out /etc/ssl/certs/macleftp.cert.pem -keyout /etc/ssl/certs/macleftp.key.pem

4.2.1.3.                      Configuration

Country Name (2 letter code) [AU]:FR

State or Province Name (full name) [Some-State]:Orleans

Locality Name (eg, city) []:Orleans

Organization Name (eg, company) [Internet Widgits Pty Ltd]:NOM DE MA SOCIETE

Organizational Unit Name (eg, section) []:

Common Name (eg, YOUR name) []:URL DE MON SERVICE FTPS

Email Address []:EMAIL DE L ADMIN FTPS

5. Configuration du service FTPS

#

# /etc/proftpd/proftpd.conf — This is a basic ProFTPD configuration file.

# To really apply changes reload proftpd after modifications.

#

# Includes DSO modules

Include /etc/proftpd/modules.conf

# Set off to disable IPv6 support which is annoying on IPv4 only boxes.

UseIPv6                           on

# If set on you can experience a longer connection delay in many cases.

IdentLookups               off

ServerName                 « FTP »

ServerType                 inetd

#cacher l’identite du serveur

#DeferWelcome              off

ServerIdent                on « FTP Server ready »

DeferWelcome               on

# Autoriser l’usage de /etc/ftpusers pour interdire des users

#TO DO: voir quels comptes sont a interdire

UseFtpUsers                on

MultilineRFC2228           on

DefaultServer              on

ShowSymlinks               on

TimeoutNoTransfer          600

TimeoutStalled                    600

TimeoutIdle                1200

DisplayLogin                    welcome.msg

DisplayChdir                      .message true

ListOptions                       « -l »

DenyFilter                 \*.*/

# Users require a valid shell listed in /etc/shells to login.

# Use this directive to release that constrain.

# RequireValidShell        off

# Port 21 is the standard FTP port.

Port                       21

# In some cases you have to specify passive ports range to by-pass

# firewall limitations. Ephemeral ports can be used for that, but

# feel free to use a more narrow range.

# PassivePorts                  49152 65534

# If your host was NATted, this option is useful in order to

# allow passive tranfers to work. You have to use your public

# address and opening the passive ports used on your firewall as well.

# MasqueradeAddress        1.2.3.4

# This is useful for masquerading address with dynamic IPs:

# refresh any configured MasqueradeAddress directives every 8 hours

<IfModule mod_dynmasq.c>

# DynMasqRefresh 28800

</IfModule>

# To prevent DoS attacks, set the maximum number of child processes

# to 30.  If you need to allow more than 30 concurrent connections

# at once, simply increase this value.  Note that this ONLY works

# in standalone mode, in inetd mode you should use an inetd server

# that allows you to limit maximum number of processes per service

# (such as xinetd)

MaxInstances               30

# Set the user and group that the server normally runs at.

#User                      proftpd

User                       nobody

Group                      nogroup

#####################

# SUPPORT SSL/TLS : #

#####################

#####################

# SUPPORT SSL/TLS : #

#####################

#Securisation des transferts avec TLS – generer le certificat x509 via la commande :

#openssl req -new -x509 -days 365 -nodes -out /etc/ssl/certs/macleftp.cert.pem -keyout /etc/ssl/certs/macleftp.key.pem

TLSEngine on

#On force toutes les connections avec ssl

TLSRequired on

# logs

TLSLog /var/log/proftpd/proftpd.tls_log

# Protocole

TLSProtocol SSLv23

TLSOptions NoCertRequest

# Certif et key

TLSRSACertificateFile /etc/ssl/certs/macleftp.cert.pem

TLSRSACertificateKeyFile /etc/ssl/certs/macleftp.key.pem

TLSVerifyClient off

# Restreint le range ports sur lequel votre serveur FTPS renverra ces informations
# PASV command from a client. Use IANA-registered ephemeral port range of
# 49152-65534
PassivePorts 49152 65534

###########################################################

# Umask 022 is a good standard umask to prevent new files and dirs

# (second parm) from being group and world writable.

Umask                      022  022

# Normally, we want files to be overwriteable.

AllowOverwrite                    on

# Uncomment this if you are using NIS or LDAP via NSS to retrieve passwords:

# PersistentPasswd         off

# This is required to use both PAM-based authentication and local passwords

# AuthOrder                mod_auth_pam.c* mod_auth_unix.c

# Be warned: use of this directive impacts CPU average load!

# Uncomment this if you like to see progress and transfer rate with ftpwho

# in downloads. That is not needed for uploads rates.

#

# UseSendFile              off

#####################

#   FORMATS LOGS :  #

#####################

LogFormat            default « %h %l %u %t \ »%r\ » %s %b »

# Log des logins

#ExtendedLog          /var/log/proftpd/proftpd.auth_log      AUTH auth

# Pour les parranos que nous sommes :

ExtendedLog          /var/log/proftpd/proftpd.paranoid_log  ALL default

#The TransferLog directive configures the full path to the « wu-ftpd style » file transfer log (par defaut)

TransferLog /var/log/xferlog

##########################################################

#TransferLog /var/log/proftpd/xferlog

#SystemLog   /var/log/proftpd/proftpd.log

<IfModule mod_quotatab.c>

QuotaEngine off

</IfModule>

<IfModule mod_ratio.c>

Ratios off

</IfModule>

# Delay engine reduces impact of the so-called Timing Attack described in

# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02

# It is on by default.

<IfModule mod_delay.c>

DelayEngine on

</IfModule>

<IfModule mod_ctrls.c>

ControlsEngine        off

ControlsMaxClients    2

ControlsLog           /var/log/proftpd/controls.log

ControlsInterval      5

ControlsSocket        /var/run/proftpd/proftpd.sock

</IfModule>

<IfModule mod_ctrls_admin.c>

AdminControlsEngine off

</IfModule>

#

# Alternative authentication frameworks

#

#Include /etc/proftpd/ldap.conf

#Include /etc/proftpd/sql.conf

#

# This is used for FTPS connections

#

#Include /etc/proftpd/tls.conf

# A basic anonymous configuration, no upload directories.

# <Anonymous ~ftp>

#   User                          ftp

#   Group                         nogroup

#   # We want clients to be able to login with « anonymous » as well as « ftp »

#   UserAlias              anonymous ftp

#   # Cosmetic changes, all files belongs to ftp user

#   DirFakeUser     on ftp

#   DirFakeGroup on ftp

#

#   RequireValidShell             off

#

#   # Limit the maximum number of anonymous logins

#   MaxClients                    10

#

#   # We want ‘welcome.msg’ displayed at login, and ‘.message’ displayed

#   # in each newly chdired directory.

#   DisplayLogin                  welcome.msg

#   DisplayChdir           .message

#

#   # Limit WRITE everywhere in the anonymous chroot

#   <Directory *>

#     <Limit WRITE>

#       DenyAll

#     </Limit>

#   </Directory>

#

#   # Uncomment this if you’re brave.

#   # <Directory incoming>

#   #   # Umask 022 is a good standard umask to prevent new files and dirs

#   #   # (second parm) from being group and world writable.

#   #   Umask                     022  022

#   #            <Limit READ WRITE>

#   #            DenyAll

#   #            </Limit>

#   #            <Limit STOR>

#   #            AllowAll

#   #            </Limit>

#   # </Directory>

#

# </Anonymous>

#####################

#    CONTEXTES :    #

#####################

# Contexte GLOBAL :

<Global>

# Limite les accès depuis Intranet : adresses privées classe B

#        <Limit ALL LOGIN>

#               Order Allow,Deny

#               Allow from 192.168.

#                DenyAll

#        </Limit>

# Chrooter users : Les limiter à leur répertoire personnel

DefaultRoot ~

# NB Pour interdire le ftp à un utilisateur : Ajoutez son nom a la liste contenue dans le fichiers /etc/ftpusers

# Seul le propriétaire d’un fichier peut le modifier.

Umask  022  022

# Messages a l’utilisateur

AccessDenyMsg « Acces non autorise pour l’utilisateur : %u. »

AccessGrantMsg « Bienvenue %u. sur le FTP. »

ListOptions « -l »

HiddenStores on

# Authoriser la reprise des telechargements :

AllowStoreRestart on

AllowRetrieveRestart on

#Filtres

DenyFilter \*.*/

ShowSymlinks on

# Authorise l’ecriture d’un fichier sur un fichier portant le meme nom :

AllowOverwrite on

</Global>

<Directory /home>

<Limit  LOGIN>

DenyAll

</Limit>

</Directory>

#<Directory /~>

#        HideNoAccess on

# Filtrage par IP internes :

#        <Limit LOGIN CWD CDUP RETR STOR RNFR RNTO DELE RMD MKD PWD LIST NLIST>

#                Order Allow,Deny

#               Allow from 192.168.

#                DenyAll

#                IgnoreHidden on

#       </Limit>

#</Directory>

# Contexte Pages Persos :

#<Directory ~/public_html>

#        <Limit LOGIN CWD CDUP RETR STOR RNFR RNTO DELE RMD MKD PWD LIST NLIST>

#                AllowAll

#                IgnoreHidden on

#        </Limit>

#</Directory>

##########################################################

7. FTPS et Firewall

Votre administrateur réseau et sécurité était votre ami ? Il ne l’est plus.

En effet, le protocole FTPS fonctionne différemment des autres protocoles.

Le client distant se connecte sur le port 21 de votre firewall. Ce dernier doit renvoyer le flux vers votre serveur FTPS et lequel renvoit les informations sur un port au hasard mais différent du port 21 !!!

C’est pourquoi vous ajoutez

# PASV command from a client. Use IANA-registered ephemeral port range of
# 49152-65534
PassivePorts 49152 65534

La configuration du firewall devra autoriser les connexions distantes sur le port 21 vers le serveur FTPS et autoriser – sans control – l’envoi d’informations depuis le serveur FTPS vers Internet et sur les prots entre 49152 et 65534