Vous êtes sur la page 1sur 8

Rapport de projet d'administration

serveur

I) Définition du projet
Dans le cadre des cours d’administration serveur, nous avions a réalisé un projet en rapport
avec la gestion de serveur. Une multitude de projet nous était proposé, et nous avons décidé
de nous orienter vers le projet numéro 9, a savoir la mise en place d’un serveur Apache ou
NGNIX, avec l’ajout de fonctionnalités sur celui-ci.
Nous avons donc décidé d’ajouter une réécriture d’URL en plus du serveur.

II) Mise en place du serveur Apache


Avant de vouloir installer le serveur Apache, il nous fallait en prime abord, une machine
virtuelle, qui nous permettrait donc de mettre en place notre serveur, mais aussi de réaliser
toute les phases de test.
Nous avons donc décidé d'utiliser le logiciel VirtualBox, que nous avons déjà utilisé durant
les TP précédent de ce cours. Comme le montre l’image ci-dessus, la VM est sous Debian 64
bit. Celui-ci, lors de son lancement s’affiche sous forme d’un invité en ligne de commande.
Maintenant que l’on a notre environnement de travail, nous pouvons démarrer la mise en
place du serveur Apache. Dans notre cas, nous utiliserons Apache2. Pour ce faire nous
utilisons la commande suivant, qui va simplement nous installé et mettre en place notre
serveur Apache 2 :

Suite à cela, grâce à la commande de status, nous pouvons bien voir que le serveur est bien
actif.

Grâce à la commande lynx, on peut allez sur le localhost et nous voyons que notre serveur est
bien présent, la page s’affiche correctement.
III) Service Apache à distance
Le titre de cette troisième partie ne reflète pas vraiment ce que nous avons fait, mais une fois notre
serveur apache déployé en local, il nous est aussi possible de visualisé la page, et le serveur depuis
notre machine personnel.
Pour cela, il nous suffit de nous rendre dans les configuration de notre VM. Une fois ici, dans l’onglet
réseaux, nous avons accès à la redirection de ports.

Celle-ci nous permet d'attribuer une nouvelle adresse IP pour notre serveur apache. En effet,
sur l’image ci-dessous nous avons l’adresse hote, c’est-a-dire, notre machine personnelle, et
l’adresse invité, qui correspond à notre VM. Pour l’adresse hote, nous lui attribuons notre
adresse invité, et pour ce qui est du port, le serveur Apache tourne sur le port 80, pour le port
hote, un port quelconque tant qu’il est supérieur à 1024, ici dans notre cas 8888.
Depuis nos navigateur, en rentrant notre adresse IP suivi du port identifier précédemment, nous
tombons donc sur notre page Apache, et donc sur notre serveur que nous avons déployé un peu plus
tot.
IV) Mise en place de la réécriture d’URL

Maintenant que l’on peut accéder à notre serveur depuis notre machine personnelle, nous
pouvons commencer a mettre en place la réécriture d’URL. Cependant, celui-ci n’est pas
encore actif, pour l’activé il nous faut utiliser la commande suivant :

Avec cela, on active donc le module de réécriture qui peut être utilisé aussi pour la réécriture
de port.
Une fois cela fait, la réécriture n’est pas encore mise en place, il reste deux étapes. La
première étant de faire une modification dans le fichier de configuration d’apache. En effet, il
nous faut activer le AllowOverride qui est par défaut désactivé. On le passe donc en All. Le
AllowOverride est une fonction qui permet de modifier la configuration préexistante, donc ici
il nous permettra de faire la réécriture.

Maintenant la seconde étape de la réécriture et la mise en place du fichier htaccess. Il s’agit


d’un fichier qui permet d’ajouter des fonctions sur notre serveur, aussi bien sur les caches par
exemples, mais dans notre cas, nous l’utiliserons pour la réécriture d’URL.
Notre fichier est très simple, on active les FollowSymlinks qui vont nous permettre de suivre
les liens symbolique tels que 192.168.1.14:8888, qui est un lien symbolique.
Ensuite, nous activons le RewriteEngine qui nous permettra de réécrire notre url et enfin on
écrit notre règle qui ici réécrira l’url de ./test.html en ./test. Le [L] derrière notre règle est un
flag, il indique ici que l’on arrete le traitement de réécriture à la fin de cette règle.

Maintenant, l’on peut faire le test. Si l’on prend notre navigateur et que l’on rentre l’url
192.168.1.14:8888/test, notre page s’affichera sans problème
V) Amélioration possible d’un point de vue Admin
Serveur
La réécriture d’URL est maintenant mise en place, cela facilite grandement, en premier lieux
l'accessibilité du site, donc d’un point de vue référencement c’est très apprécié. En second
lieux, niveau sécurité, cela est pas mal non plus, en réduisant ou en réécrivant les url, nous
pouvons caché le nom des variables d’envoie de pages avec les méthodes GET et POST,
cependant le contenue de ces variables, eux ne sont pas caché. Il serait alors bien de voir
pour ajouter une sécurisation de type SSL, afin de permettre un transfert de donné sure.
Comme il était possible de le voir sur les différents screen, on pouvait voir que le site n’était
pas protégé, meme si nous étions sur le port 443, soit le port sécurisé de internet (HTTPS).
Donc SSL serait fortement apprécier d’un point de vue sécurité.
En plus de la réécriture d’URL, il aurait été possible de faire de la redirection de port. En
effet, comme évoqué juste au dessus, étant donné que nous somme en local et que nous
utilisons des VM, nous faisons la redirection de port directement via le logiciel VirtualBox.
Mais grace au fichier htaccess et au module de RewriteEngine, il est possible de faire une
réécriture de port et de redirigé les utilisateurs du port 80 vers le port 443, donc d’un port
non sécurisé à un sécurisé. Ici, la méthode est identique à la réécriture d’URL, sauf que ici
nous utiliserons le RewriteCond, qui va détecter notre port actuelle pour le rediriger vers le
port que l’on souhaite, dans l'exemple ci-dessous, ce sera une redirection vers le port 8080.
VI) Sécurité
Sur le serveur apache nous avons ajouté plusieurs sécurité avec grâce à iptables pour
bloquer tout les ports à part ceux qui sont autorisés explicitement. Dans notre cas, nous
avons autorisé le port 80.
Voici les commandes afin de bloquer ces ports:
$iptables -P INPUT DROP
$iptables -P OUTPUT DROP
$iptables -P FORWARD DROP
$iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
$iptables -t filter -A OUTPUT-p tcp --sport 80 -j ACCEPT
$iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
$iptables -t filter -A OUTPUT-p tcp --sport 22 -j ACCEPT
$iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
$iptables -t filter -A OUTPUT-p tcp --sport 433 -j ACCEPT

$systemctl start fail2ban

Création d’un fichier dans /etc/fail2ban/jail.d/custom.conf

[DEFAULT]
ignoreip = 127.0.0.1 à ajouter l’adresse IP du PC
findtime = 1h
bantime = 24h
maxretry = 3

L'objectifest de permettre d’éviter la surchage des logs. Un serveur qui permet un accès
avec SSH peut recevoir énormément de demande d’accès.Ce module est intéréssant pour
la sécurité.
$apt-get install libapache2-mod-security2
Voici les configs à ajouter pour éviter que n’importe qui puisse avoir l'accès aux répertoires

<Directory />
Order deny,allow
Deny from all
</Directory>
MaxClients 150
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
Cela permet d’éviter le nombre de connexions simultanées MaxClients et les connexions
persistantes MaxKeepAliveRequests. Le timeout permet d'empêcher les connexions sans
fin.

Vous aimerez peut-être aussi