Jump to content
  • Annonces

    • Edtech

      Bienvenue aux clubs !   02/08/2017

      Une nouvelle fonctionnalité est disponible sur le forum : les clubs ! N'hésitez pas à les consulter ou à créer le votre ! Pour cela, cliquez sur l'onglet Clubs dans la barre de navigation ci-dessus.
crocodudule

Installer un serveur WEB sur raspberry (http,php,mysql,ftp) [TUTO]

Recommended Posts

Le but de ce petit tutorial est de monter un serveur WEB (html, php, mysql, phpMyAdmin et serveur ftp) sur un raspberry où a été préalablement installée la distribution raspbian. Au final, il s'agit donc d'héberger son site sur un raspberry!

Ce tutorial fait suite au précédent s’agissant de l’installation de la distribution raspbian sur une clef USB (voir ici).

Le serveur devra offrir les fonctionnalités de base d’un serveur WEB et être accessible depuis le internet. Ceci implique un minimum de sécurisation.

En outre, il disposera de « stratégies » basiques de sauvegarde afin de pouvoir restaurer rapidement le serveur.

47px-Raspberry_Pi_Logo.png

INTRODUCTION :

CHAPITRE I : INSTALLATION ET CONFIGURATION SUR SERVEUR WEB :
I – PRE-REQUIS LOGICIELS ET MATERIELS :
II – INSTALLATION DE MYSQL :
2.1 – Préparation de l’installation de mysql :
2.2 – Installation du serveur mysql :
II – INSTALLATION ET LANCEMENT DE NGINX :
III – INSTALLATION DE PHP-FPM :
IV – INSTALLATION ET CONFIGURATION DE PHPMYADMIN :
V – CONFIGURATION DU SERVEUR :
5 - 1 - Création du répertoire pour le site :
5 - 2 - Création du fichier de configuration Nginx pour notre site :
VI – INSTALLATION D’UN SERVEUR FTP :
VII – AFFICHER SA PREMIERE PAGE :

CHAPITRE II : SECURISATION DU SERVEUR :

I – CONFIGURATION D’IPTABLES
1.1 – Ouverture du fichier de configuration d’IpTables
1.2 – Purge des règles antérieures et définition des règles de blocage par défaut
1.3 – Ouvrir uniquement les ports nécessaires
1.4 – Limiter les attaques par déni de service et le scan de ports
1.5 – Bloquer une IP ou une plage d’IP
1.6 – Tester et sauvegarder nos réglages
II – INSTALLER ET CONFIGURER FAIL2BAN
2.1 – Installer Fail2Ban
2.2 – Configurer Fail2Ban
2.3 – Eviter les erreurs au lancement de Fail2Ban
2.4 – Relancer Fail2Ban
III – INSTALLER PORTSENTRY
3.1 – Installer Portsentry
3.2 – Configurer Portsentry

CHAPITRE III : SAUVEGARDER LE SERVEUR : Work in progress
ANNEXES : Work in progress

47px-Raspberry_Pi_Logo.png

INTRODUCTION :

L’objectif est bien ici de disposer d’un serveur WEB avec toutes les fonctionnalités de base, mais encore de rendre accessible celui-ci sur le WEB et dont de faire un minimum attention à la sécurité.

Bref, on veut devenir un vieux barbu…

L'intérêt est évident si on veut herger son site WEB (ou son cloud, son serveur de médias...) cela implique d'avoir une machine allumée 24h/24 7j/7 avec la consommation qui va avec et le bruit de la tour... Le raspberry consomme très peu et est totalement passif, donc c'est une solution de bon sens pour un petit site.

Naturellement, on ne va pas héberger un site avec des centaines d'utilisateurs simulmatés et des requêtes intermidables sur le serveur. Je ne manquerai pas de préciser dans les annexes le potentiel exact d'un raspberry s'agissant d'une utilisation en serveur WEB, mais il est évident que le site WEB lui-même devra être pensé pour limiter les requetes inutiles.


Comme pour « mes » deux tutoriaux précédents, ils existent pas mal de guides sur le WEB concernant l’installation d’un serveur WEB sur raspberry. Et comme souvent, soit il est choisi d’installer Apache qui est tout simplement un non-sens sur une petite machine comme le raspberry, soit on propose l’installation d’autres serveurs mais en omettant certaines précisions et notamment de mentionner que l’installation habituelle de mysql pose problème.

Pour l’essentiel de l’installation, je me suis inspiré de ce tutorial (en anglais) :
http://raspberrypihelp.net/tutorials/24-raspberry-pi-webserver

S’agissant du deuxième sujet, à savoir la sécurisation et tandis que ce sujet n’est pas spécifique au raspberry, les guides complets sont extrêmement rares et c’est regrettable…

Deux cependant sont excellents (aussi bien pour les outils proposés que pour l’effort d’accessibilité fait par leurs auteurs) :
- le tutorial d’alsacréations ici http://www.alsacreations.com/tuto/lire/622-Securite-firewall-iptables.html
- le tutorial juju251 sur clubic ici

Enfin, dans un troisième temps, il conviendra de sauvegarder son serveur afin de pouvoir le restaurer rapidement. Dans la mesure du possible, on tentera d’automatiser ces sauvegardes.

CHAPITRE I : INSTALLATION ET CONFIGURATION SUR SERVEUR WEB :

I – PRE-REQUIS LOGICIELS ET MATERIELS :

J’ai naturellement fait des choix subjectifs ici.

D’abord en raison de mes besoins comme pour mysql qui m’est indispensable, mais qui n’est pas forcément un choix logique car mysql n’est pas franchement léger tandis que raspberry n’est vraiment pas un monstre de puissance.

Un choix plus rationnel est d’installer sqlite bien plus léger (mais qui n’offre pas les mêmes possibilités).

S’agissant du serveur WEB, la majorité installe Apache tandis que même optimisé ce serveur est vraiment très lourd (à l’inverse il est probablement le plus robuste, riche de fonctionnalités, documenté et sans aucun doute le plus courant).

Je n’ai même pas voulu tenter une telle installation qui me semble totalement inappropriée sur une machine comme le raspberry à la puissance nécessairement limitée.

Deux alternatives sont souvent citées Lighttpd et Nginx, vraiment plus légers qu’Apache.
Un troisième serveur que je n’ai jamais testé est Pancake qui d’après les retours est plus léger encore.

J’ai donc arbitré entre Lighttpd et Nginx :
- le premier est « mieux » documenté que le deuxième.
- Nginx semble très légèrement plus réactif que Lighttpd (de très peu).
- Nginx consomme moins de mémoire que Lighttpd qui lui-même en consomme peu.
- en terme de fonctionnalités, c’est sensiblement la même chose. Certaines fonctions courantes impliquent l’installation de modules avec Lighttpd, là où Nginx gère ces fonctionnalités nativement. La seule différence notable est peut-être pour moi la gestion du virtualhost en faveur de Nginx.
- la configuration de Nginx serait plus complexe que celle de Lighttpd.

J’ai choisi Nginx qui ne m’a pas posé de problème particulier d’installation ou de configuration et dont la faible consommation mémoire est une caractéristique plus qu’intéressante pour un raspberry.

Enfin, phpMyAdmin me semble une évidence pour un feignant comme moi tout comme un serveur ftp, en l’espèce ici : VSFTPD.

- Coté matériel, je n’entre pas dans les détails. Certains expliquent que l’installation de mysql implique de disposer de quasiment 4 gigas de libre. On ne doit pas installer la même chose, car au final la distribution raspbian et le serveur WEB complet occupent un peu plus de 2 gigas sur la partition (de 8 gigas au total, c'est-à-dire un peu plus d’un quart de la capacité de ma clef USB)…

Pour des pré-requis matériels complets vous pouvez lire le tutorial précédent ici (point I).

De même, je n’explique pas à nouveau comment se connecter en SSH à sa raspbian depuis son ordinateur et qu’il est nécessaire de changer le mot de passe du compte pi par un mot de passe complexe et long. (Sinon, vous pouvez vous reporter au point 3.2 du tutorial précédent pour la connexion SSH et VIII pour le mot de passe, ici).


II – INSTALLATION DE MYSQL :

2.1 – Préparation de l’installation de mysql :

C’est sans aucun doute le seul point « difficile » de l’installation.

Certains expliquent qu’il y aurait un bug connu mais non encore résolu concernant l’installation de mysql sur raspberry… Bla bla bla…

En réalité, le plantage qui semble le plus courant à l’installation et que je n’ai pas manqué de rencontrer, est que le script d’installation (pourtant lancé avec sudo) n’arrive pas à écrire dans le répertoire temporaire de la raspbian.

Je n’ai pas encore trouvé d’explication à cela, en revanche, comment résoudre le problème est relativement simple. Il faut s’assurer des droits de « root » sur le répertoire « tmp ».

Si vous ne comprenez rien à ce charabia, retournez sur le tutorial précédent ou exécutez comme une brute les commandes suivantes dans votre terminal SSH :

sudo chown root:root /tmpsudo chmod 1777 /tmp

Ceci fait, on s’assure que la distribution raspbian est à jour si ce n’est pas déjà fait en exécutant les commandes suivantes :

sudo apt-get updatesudo apt-get upgrade

2.2 – Installation du serveur mysql :

Attention c’est vraiment compliqué et la commande est très secrète (on ne l’a donne qu’entre vieux barbus… c’est dire !) :

sudo apt-get install mysql-server-5.5

Le gestionnaire de paquets va télécharger les paquets nécessaires et lancer l’installation.

ATTENTION : durant la procédure d’installation un écran bleu s’affiche et demande d’entrer le mot de passe qui sera utilisé pour accéder au serveur mysql avec tous les droits. Il faut donc entrer un mot de passe relativement long, dans tous les cas complexe et surtout le retenir…

Normalement, l’installation s’achève correctement avec notamment un petit [OK] vert après le lancement du serveur signe que tout va bien.

NOTE : si par malchance vous avez un petit [FAIL] rouge après le lancement de mysql. Je vous confirme qu’il y a bien un problème…

Avant tout, regardez les alertes affichées quelques lignes plus hauts, le plus souvent une recherche sur google vous donnera la réponse si vous relevez le code d’erreur.

Avant de vous lancez dans la ré-installation du serveur mysql, faites deux choses :
- d’abord, il faut virer le serveur mysql et tous les fichiers qui vont avec à l’aide de ces commandes :

sudo apt-get purge mysql-server-5.5sudo rm -rf /var/lib/mysql

- ensuite, assurez-vous d’avoir donné les droits à root sur le répertoire tmp comme indiqué au point 1.1.

Ceci fait, vous pouvez relancer l’installation…

II – INSTALLATION ET LANCEMENT DE NGINX :

C’est donc ceci qui est considéré comme « complexe » par certains, pour installer Nginx, il faut saisir la commande :

sudo apt-get install nginx

Et pour lancer le service Nginx, il faut saisir la commande :

sudo service nginx start

Effectivement, c’est totalement insurmontable d’installer un serveur WEB Nginx…

III – INSTALLATION DE PHP-FPM :

Ceci permet de faire communiquer le serveur WEB avec PHP.

Pour l’installer :

sudo apt-get install php5-fpm

Il n’y a rien à faire de particulier.

IV – INSTALLATION ET CONFIGURATION DE PHPMYADMIN :

PhpMyAdmin est un logiciel permettant de gérer ses bases de données mysql du serveur depuis son navigateur WEB.

C’est un classique qui bien pratique lorsqu’on doit mettre le nez dans ses bases pour vérifier que tout va bien.

Pour l’installer, on entre :

sudo apt-get install phpmyadmin

Passez les options de pré-configuration pour Apache ou Lighttpd (touche « TAB »).

S’affiche alors « Configure database for phpmyadmin with dbconfig-common ? », naturellement sélectionnez « Yes ».

Il va vous être demandé le mot de passe pour accéder au serveur Mysql et le mot de passe pour phpMyadmin.

Ceci fait, on relance php5-fpm :

sudo service php5-fpm restart

V – CONFIGURATION DU SERVEUR :

Le serveur n’est pas encore fonctionnel, il faut créer le répertoire où on va stocker le(s) site(s) WEB, donner les droits d’écriture nécessaires, créer quelques petits fichiers pour surveiller le bon fonctionnement du serveur (logs) et enfin configurer Nginx pour propulser votre site.

Il vous faut à ce stade une vague idée du nom de votre site par exemple : toto.fr

5 - 1 - Création du répertoire pour le site :

Pour créer le répertoire où seront stockés tous nos sites :

sudo mkdir /srv/www

Puis on donne la propriété et les droits d’écriture à notre compte, qui est normalement le compte « pi » sauf changement de votre part:

sudo chown -R pi:www-data /srv/wwwsudo chmod -R 755 /srv/www

Il faut naturellement créer le répertoire de notre premier site, toto.fr :

mkdir /srv/www/toto.fr


On entre dans ce répertoire pour y créer deux fichiers vides ; l’un pour le log du site, l’autre pour les erreurs :

cd /srv/www/toto.frmkdir logsnano logs/access.log

Contrôle x pour sortir

nano logs/error.log

Contrôle x pour sortir
Enfin, il faut créer dans le répertoire de notre site toto.fr un répertoire public, lieu où on mettra nos pages pour les rendre accessibles :

mkdir public

5 - 2 - Création du fichier de configuration Nginx pour notre site :

Il reste à paramétrer Nginx pour qu’il cherche les pages de notre site et le propulse en ligne (pour le moment sur le réseau local ^^).

Pour cela on entre :

sudo nano /etc/nginx/sites-available/toto.fr

Il faut compléter le fichier de configuration ainsi (192.168.0.50 est l'IP du raspberry sur le réseau local) :

server {server_name toto.fr 192.168.0.50;access_log /srv/www/toto.fr/logs/access.log;error_log /srv/www/toto.fr/logs/error.log;root /srv/www/toto.fr/public/;    location / {index index.php index.html index.htm;try_files $uri $uri/ /index.php?$args;    }    location ~ \.php$ {include /etc/nginx/fastcgi_params;fastcgi_pass unix:/var/run/php5-fpm.sock;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /srv/www/toto.fr/public$fastcgi_script_name;    }    location /phpmyadmin {root /usr/share/;index index.php index.html index.htm;location ~ ^/phpmyadmin/(.+\.php)$ {try_files $uri =404;root /usr/share/;fastcgi_pass unix:/var/run/php5-fpm.sock;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include /etc/nginx/fastcgi_params;        }        location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {root /usr/share/;        }    }    location /phpMyAdmin {rewrite ^/* /phpmyadmin last;}}

Contrôle o pour sauvegarder, contrôle x pour sortir.

Très bien, on peut créer un petit lien symbolique entre les répertoires « sites disponibles » et « sites activés » :

sudo ln -s /etc/nginx/sites-available/toto.fr /etc/nginx/sites-enabled/toto.fr

On relance Nginx pour que les fichiers de configuration soient pris en compte :

sudo service nginx restart

VI – INSTALLATION D’UN SERVEUR FTP :

Ceci n’est pas indispensable, mais pour moi un serveur WEB va avec un serveur ftp.

Accessoirement, l’administrateur du site n’est pas nécessairement l’administrateur du serveur WEB, aussi il peut être pratique de ne donner qu’un accès FTP à l’administrateur du site (et un compte limité sur mysql via phpadmin) pour éviter des bidouillages sur le serveur WEB.

Là encore j’ai opté pour un serveur léger afin de préserver les ressources du raspberry ; VSFTPD.

Pour l’installer :

sudo apt-get install vsftpd

Il faut modifier le fichier de configuration de VSFTPD pour le sécuriser un minimum mais aussi créer les accès :

sudo nano /etc/vsftpd.conf

On recherche la ligne :

anonymous_enable=YES

pour naturellement la changer en

anonymous_enable=NO

afin d’interdire l’accès utilisateurs anonymes.

Et on dé-commente les lignes suivantes (retirer les #) afin de permettre aux comptes utilisateurs de la raspbian de se connecter et d’avoir les droits d’écriture :

local_enable=YESwrite_enable=YESlocal_umask=022

Contrôle o pour sauvegarder, contrôle x pour sortir.

On configurera des comptes limités (notamment celui de l’administrateur du site), dans les annexes.

On relance le serveur FTP pour que les modifications du fichier de configuration soient prises en compte :

sudo service vsftpd restart

A ce stade, vous pouvez normalement vous connecter avec votre client ftp avec le compte « pi ».


VII – AFFICHER SA PREMIERE PAGE :

Pour s’assurer que tout fonctionne il faut encore avoir une page pour l’afficher…

Afin de voir que tout est fonctionnel, on va faire en sorte que cette page affiche l’état du serveur à l’aide de la fonction php : phpinfo()

On va donc créer une page index.php et y coller la fonction voulue:

nano /srv/www/toto.fr/public/index.php

On entre dans le fichier ceci :

<?php    phpinfo();?>

Contrôle o pour sauvegarder, contrôle x pour sortir.

Pour vérifier, on lance le navigateur WEB de son choix et dans la barre d’adresse on entre l’adresse ip de notre serveur raspberry… roulements de tambour … s’affichent les infos du serveur.

On peut même accéder à Phpmyadmin en ajoutant à l’URL « /phpmyadmin/ ».

Je ne sais pas si vous avez la même réflexion que moi à cet instant, mais je trouve que c’est extrêmement réactif…

On monitorera les performances du serveur dans un second temps pour s’en convaincre, mais la solution Nginx (et sans doute Lighttpd) est redoutablement efficace au regard de la puissance du raspberry.


A ce stade, vous pouvez uploader votre site WEB sur le serveur, paramétrer vos bases de données mysql, bref programmer votre site WEB en perspective de le rendre accessible depuis internet.

Mais ne permettez pas encore l’accès depuis internet au serveur (pas encore de redirection de ports à ce stade ou de DMZ sur votre routeur/box).

Le serveur WEB ne doit être accessible qu’en local car il est très peu (quasiment pas) sécurisé et est très vulnérable.


CHAPITRE II : SECURISATION DU SERVEUR :

Il y a énormément d’options possibles et d’outils s’agissant de la sécurisation d’un serveur WEB sous linux. Là encore, j’ai du faire un arbitrage entre les outils les plus courants mais aussi le choix de ne pas surcharger le raspberry.

A mon sens on ne peut pas faire l’économie de trois outils :
- IpTables : qui est THE firewall,
- Fail2ban : permet de bannir les IP qui tentent de se connecter à l’aide d’attaques par dictionnaires de mots de passe ou par bruteforce,
- Portsentry : qui va détecter le scan des ports du serveur et bloquer toutes les requêtes provenant de l’IP de l’attaquant.

On peut aussi envisager d’installer Rkhunter, qui va chercher si une intrusion (réussie donc) n’a pas laissé une porte ouverte, une backdoor.

I – CONFIGURATION D’IPTABLES :

La configuration d’IpTables est sans l’ombre d’un doute le point le plus important et le plus complexe de la sécurisation d’un serveur WEB sous linux.

Il ne faut vraiment pas se planter car l’essentiel de la sécurité de notre raspberry est là.

Le fichier de configuration se trouve dans /etc/init.d/firewall.

Ce fichier doit toujours rester structuré et commenté afin de s’y retrouver.

En outre, les autres logiciels de sécurisation vont eux-mêmes ajouter des éléments au fichier de configuration d’IpTables, donc il faut pouvoir facilement distinguer les éléments qui sont ceux de notre configuration « manuelle », de ceux ajoutés notamment par Fail2ban.

Enfin et j’insiste lourdement ici : on ne doit jamais rendre le fichier de configuration d’IpTables exécutable au démarrage du Raspberry sans s’être assuré que tout fonctionne et est accessible.

A défaut et avec une erreur de configuration « bloquant plus que nécessaire », il n’y aura d’autre choix que de brancher le raspberry à un écran et clavier pour reprendre la main sur notre serveur…


1.1 – Ouverture du fichier de configuration d’IpTables :

On ouvre une connexion SSH.

Et on entre la commande :

sudo nano /etc/init.d/firewall

1.2 – Purge des règles antérieures et définition des règles de blocage par défaut :

Le fichier doit se présenter ainsi :

#!/bin/sh# Suppression des règles antérieuresiptables -t filter -Fiptables -t filter -X# On laisse tout sortir et on bloque tout en entréeiptables -t filter -P INPUT DROPiptables -t filter -P FORWARD DROPiptables -t filter -P OUTPUT ACCEPT# On conserve les connexions déjà établiesiptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPTiptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT# On autorise le loopbackiptables -t filter -A INPUT -i lo -j ACCEPTiptables -t filter -A OUTPUT -o lo -j ACCEPT


Le loopback permet l’accès à soi-même de la machine…


1.3 – Ouvrir uniquement les ports nécessaires :

Pour un serveur WEB on doit laisser accessible le port 80 (http) et le port 21 (ftp).

Ceci donne :

# Serveur HTTP (80)iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPTiptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT# Serveur FTP (21) dont mode passifmodprobe ip_conntrack_ftpiptables -t filter -A OUTPUT -p tcp --dport 20:21 -j ACCEPTiptables -t filter -A INPUT -p tcp --dport 20:21 -j ACCEPTiptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Il faut aussi permettre l’accès en SSH à notre Raspberry, soit et par défaut le port 22. (Surtout si on veut ne pas y brancher d’écran, clavier et souris).

Là deux « écoles » existent :
- on laisse le SSH accessible depuis l’extérieur dans ce cas on change le port par défaut du SSH et on limite au mieux les tentatives de connexions intempestives.
- on n’a besoin d’accéder au SSH que depuis le réseau local, dans ce cas on accepte que les connexions en SSH depuis le réseau local.

Pour moi, permettre l’accès en SSH depuis l’extérieur est un risque que je peux éviter. Risque important cas si quelqu’un arrive à se connecter, notamment avec le compte « pi » voire root, il peut tout faire sur le raspberry (voire sur le lan en cas de partage depuis une boxadsl…).

-> Si vous souhaitez accéder en SSH depuis l’extérieur :
Par défaut, le port SSH est le 22, mais il est recommandé d’en changer.

# Connexionx SSHiptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH -j ACCEPTiptables -A INPUT -p tcp --dport 22 -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP

Ici, il ne peut y avoir plus de 4 connexions SSH par minute.

-> Si vous souhaitez accéder en SSH que depuis le réseau local (192.168.0.x) :

# Connexionx SSHiptables -A INPUT -i eth0 -p tcp -s 192.168.0.0/24 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

- Il est utile que notre serveur réponde au ping, cependant, il me semble intéressant de limiter le nombre de pings possibles par minute pour qu’une demande de ping un peu musclée ne plante pas le raspberry. Ici j’ai limité à 15 pings par minutes :

# Autorisation du PING :iptables -A INPUT -p icmp -m limit --limit 15/minute -j ACCEPTiptables -A INPUT -p icmp -j DROP

1.4 – Limiter les attaques par déni de service et le scan de ports :

Sans que ces options soient suffisantes, elles sont une bonne base :

# Bloquer les attaques par déni de serviceiptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPTiptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPTiptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT# Bloquer les scans de portsiptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

1.5 – Bloquer une IP ou une plage d’IP :

Il peut être intéressant de bloquer une IP, voir une plage d’IP.

Pour par exemple bloquer les IP 85.159.236.252 et 193.107.240.1 :

# Bloquer des IP spécifiquesiptables -A INPUT -s 85.159.236.252 -j DROPiptables -A INPUT -s 193.107.240.1 -j DROP

On peut aussi souhaiter bloquer une plage IP dans son entier. C’est parfois « utile » pour bloquer l’essentiel des connexions d’un pays mais ça fait très mal du coté de la neutralité du net, dont on utilisera ce type de blocage qu’en dernier recours…

Par exemple, pour bloquer toute la plage d’ip de 213.87.0.*, cela donne :

# Bloquer des plages d’IPiptables -I INPUT 1 -s 213.87.0.0/16 -j DROP

Au passage, il faut faire attention à ne pas bloquer sa propre IP ^^.

1.6 – Tester et sauvegarder nos réglages :

Avant de lancer notre configuration d’IpTables à chaque lancement du raspberry, on va s’assurer que tout fonctionne.

Tout d’abord, on sauvegarde notre configuration en faisant : control o, on valide, contrôle x

Il faut rendre notre fichier de configuration exécutable :

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

Et on l’exécute :

sudo /etc/init.d/firewall

Tentez de vous connecter en SSH, d’afficher votre page WEB… pour s’assurer que tout fonctionne et que l’on n’a pas une erreur de configuration.
Si ça bloque… relancez le raspberry et chercher votre erreur (souvent un problème de syntaxe).

Si tout est ok, on fait en sorte que le script de configuration d’IpTables s’exécuter à chaque lancement du raspberry :

sudo update-rc.d firewall defaults

Et voila, IpTables est configuré et à ce stade on a déjà bien sécurisé notre serveur !

Il faut admettre que la syntaxe d’IpTables n’est pas forcément toujours compréhensible, si vous souhaitez étudier cela plus en profondeur :
http://doc.ubuntu-fr.org/iptables

II – INSTALLER ET CONFIGURER FAIL2BAN :

Fail2Ban va surveiller les tentatives d’intrusions sur notre petit serveur WEB et plus particulièrement les tentatives de connexion via des dictionnaires id/mots de passe ou par bruteforce.

L’idée est donc de bloquer une IP après x tentatives de connexions échouées pour un temps donné, voire définitivement.

2.1 – Installer Fail2Ban :

Comme toujours la commande d’installation est très difficile :

sudo aptitude install fail2ban

On accepte l’installation et on patiente un peu, le logiciel s’installe tout seul comme un grand…

2.2 – Configurer Fail2Ban :

Pour ouvrir le fichier de configuration :

sudo nano /etc/fail2ban/jail.conf

Ce fichier se décompose en 3 parties : Default, Actions et Jail.

Dans la section Default on peut préciser le paramétrage général du logiciel, ainsi :
> ignoreip permet de préciser les IP qui ne doivent pas être surveillées (on les sépares par un espace), à minima on laisse ignoreip = 127.0.0.1/8
> bantime est le délai par défaut de bannissement en secondes, par défaut 600, soit 10 minutes.
> maxretry permet de définir le nombre maximum d’échec de connexions avant le bannissement, par défaut c’est 3 tentatives.
> destemail permet de définit l’adresse email qui recevra un email s’il y a un incident détecté par Fail2Ban. Par défaut, cela va dans le compte root.

On peut laisser le reste inchangé tout comme la section Actions.

C’est donc la section Jail qui va nous occuper. Dans cette section chaque type de connexions est proposée afin d’indiquer à Fail2Ban quoi surveiller. On peut naturellement en ajouter.

Le principe est que pour un service donné, on indique le nombre de tentative de connexions avant bannissement. Si une option n’est pas indiquée, c’est le réglage par défaut qui s’applique. Ainsi, on va définir des prisons en fonction de la connexion et de l’action voulue.

Pour limiter les tentatives de connexions en SSH, voila une petite prison basique (cette option est déjà activée par défaut) :

# SSH Limiter à 3 tentatives avant ban de 15min[ssh]enabled = trueport = sshfilter = sshdlogpath = /var/log/auth.logmaxretry = 3bantime = 900

Si le port SSH n’est pas le 22, alors remplacez port = SSH, par port = [VOTRE PORT SSH]

Il faut aussi ajouter une prison pour les connexions au FTP :

[vsftpd]enabled = trueport = ftp,ftp-data,ftps,ftps-datafilter = vsftpdlogpath = /var/log/vsftpd.logmaxretry = 5

S’agissant de Nginx, il faut créer des prisons spécifiques et des filtres.

> Tout d’abord les prisons :

[nginx-auth]enabled = truefilter = nginx-authaction = iptables-multiport[name=NoAuthFailures, port=http,https]logpath = /var/log/nginx*/*error*.logbantime = 600maxretry = 6[nginx-login]enabled = truefilter = nginx-loginaction = iptables-multiport[name=NoLoginFailures, port=http,https]logpath = /var/log/nginx*/*access*.logbantime = 600maxretry = 6 [nginx-badbots]enabled  = truefilter = apache-badbotsaction = iptables-multiport[name=BadBots, port=http,https]logpath = /var/log/nginx*/*access*.logbantime = 86400 # 1 jourmaxretry = 1 [nginx-noscript]enabled = trueaction = iptables-multiport[name=NoScript, port=http,https]filter = nginx-noscriptlogpath = /var/log/nginx*/*access*.logmaxretry = 6bantime  = 86400 # 1 jour

On sauvegarde avec contrôle o et on valide, puis on quitte nano avec contrôle x

Il maintenant ajouter un à un les filtres nécessaires.
Tout d’abord on se place dans le répertoire où sont stockés les filtres :

cd /etc/fail2ban/filter.d/

Et va créer et sauvegarder un à un nos filtres :
. Pour nginx-noscript.conf :

sudo nano nginx-noscript.conf

On entre pour le filtre nginx-noscript.conf:

# Noscript filter /etc/fail2ban/filter.d/nginx-noscript.conf:# Bloque les IP qui tentent d’executer des scripts sur le serveur# type .php, .pl, .exe et autres# Matches e.g.# 192.168.1.1 - - "GET /something.php[Definition]failregex = ^<HOST> -.*GET.*(\.php|\.asp|\.exe|\.pl|\.cgi|\scgi)ignoreregex =

Contrôle o, valider, contrôle x

. Pour nginx-auth.conf :

sudo nano nginx-auth.conf

On entre pour ce filtre :

# Auth filter /etc/fail2ban/filter.d/nginx-auth.conf:# Bloque les IP qui ne s’authentifient pas correctement[Definition]failregex = no user/password was provided for basic authentication.*client: <HOST>            user .* was not found in.*client: <HOST>            user .* password mismatch.*client: <HOST> ignoreregex =

Contrôle o, valider, contrôle x

. Pour nginx-login.conf:

sudo nano nginx-login.conf

On entre pour ce filtre :

# Login filter /etc/fail2ban/filter.d/nginx-login.conf:# Bloque les IP qui ne s’authentifient pas correctement via post# Scan access log for HTTP 200 + POST /sessions => failed log in[Definition]failregex = ^<HOST> -.*POST /sessions HTTP/1\.." 200ignoreregex =

Contrôle o, valider, contrôle x

Le filtre badbots existe déjà car il s’agit en fait d’un filtre pour apache.

2.3 – Eviter les erreurs au lancement de Fail2Ban :

Lorsqu’il y a beaucoup de prisons qui se lancent au chargement de Fail2Ban on peut avoir quelques erreurs.

Pour éviter cela, il suffit de laisser un délai entre le chargement de chaque prison.

Ouvrez le fichier fail2ban-client:

sudo nano /usr/bin/fail2ban-client

Vers la ligne 140 (ou avec contrôle w pour chercher le passage), ajoutez la ligne time.sleep(0.1) ainsi :

def __ping(self):                return self.__processCmd([["ping"]], False)                        def __processCmd(self, cmd, showRet = True):                beautifier = Beautifier()                for c in cmd:                        time.sleep(0.1)                        beautifier.setInputCmd©

Contrôle o, valider, contrôle x

2.4 – Relancer Fail2Ban :

Il faut maintenant relancer Fail2Ban pour que nos paramètres soient pris en compte :

sudo service fail2ban restart

Normalement, on a un beau ok indiquant que Fail2Ban a pu charger nos règles. En revanche, si c’est un FAIL qui s’affiche il y a sans doute une erreur (vérifiez la syntaxe de vos prisons et de vos filtres).

III – INSTALLER PORTSENTRY :

Le but est de bloquer les IP qui scannent les ports du raspberry à la recherche de failles en perspective d’une attaque.

Théoriquement, IpTables et Fail2Ban nous protègent déjà, mais l’intérêt est ici de bloquer des IP avant même une tentative de connexion.

3.1 – Installer Portsentry :

Pour lancer l’installation :

sudo aptitude install portsentry

A l’installation, Portsentry nous indique qu’il ne bloque rien par défaut.

3.2 – Configurer Portsentry :

Tout d’abord on va indiquer les IP qu’il faut ignorer, naturellement, je vous invite à ignorer votre réseau local ou au moins l’IP locale du pc d’où vous vous connectez au raspberry.

sudo nano /etc/portsentry/portsentry.ignore.static

Aussi, sous 127.0.0.1/32 et 0.0.0.0 ajoutez votre réseau local par exemple 192.168.0.0/24, vous pouvez aussi ajouter les IP des principaux moteurs de recherche.

Contrôle o pour sauvegarder, contrôle x pour sortir.

Ici deux possibilités, soit on indique les ports qu’il faut surveiller, soit on laisse le soin au logiciel de le déduire des ports utilisés, c’est cette dernière option qui est la plus simple.

On édite /etc/portsentry/portsentry.conf :

sudo nano /etc/default/portsentry

et on remplace cherche les options

TCP_MODE="tcp"UDP_MODE="udp"

En

TCP_MODE="atcp"UDP_MODE="audp"

Contrôle o pour sauvegarder, contrôle x pour sortir.

Et on relance Portsentry pour s’assurer que l’on a pas de message d’erreur:

sudo service portsentry restart

Si c’est bon, on peut modifier le fichier principal de configuration de Portsentry pour lui demander de bloquer les tentatives de scans :

sudo nano /etc/portsentry/portsentry.con

Et on remplace :

BLOCK_UDP="0"BLOCK_TCP="0"

En :

BLOCK_UDP="1"BLOCK_TCP="1"

Contrôle o pour sauvegarder, contrôle x pour sortir.

Et on relance Portsentry pour activer la configuration :

sudo service portsentry restart

Et voilà, Portsentry est fonctionnel…


Ouf !!! Voilà pour le chapitre 2…
C’est déjà un beau bébé, donc je ne souhaite pas charger la mule ici.

En revanche, on peut encore sécuriser par mal de chose ; tout d’abord Nginx lui-même en limitant les attaques par débordement de tampon, en sécurisant l’accès de certains répertoire du site, en limitant le nombre de connexions simultanées… Mais encore Mysql…

J’aborderai rapidement cela dans les annexes.




CHAPITRE III : SAUVEGARDER LE SERVEUR :

Work in progress

ANNEXES :

Ne va pas tarder.

Modifié par crocodudule
  • Aime 1

Partager cette publication


Link to post
Share on other sites
Karno   

Bonjour crocodudule et merci pour ton tuto très complet.

 

Je suis débutant dans le monde du raspberry et des serveurs linux. J'ai suivi ton tuto jusqu'au bout mais je me pose une question.

 

Je suis censé avoir un rasberry accessible de l'extérieur et ceci en tapant l'IP de ma box, mais manque de bol lorsque je tape cette ip j'obtiens la page de l'information FreeBox et non pas le phpinfo(), phpinfo qui fonctionne très bien en réseau local.

 

Est-ce un paramétrage dans ma box ?

Autre information, ma box est routeur et je suis aussi derrière un autre routeur.

 

Peux tu éclairer ma lanterne ?

 

Merci pour ton retour d'information

 

Bonne continuation

 

Arno

Partager cette publication


Link to post
Share on other sites

Salut,

très jolie tuto, cependant, je déconseille fortement l'utilisation d'un phpmyadmin accessible depuis l’extérieur.

Je regarde les logs de mon serveur et il est constamment attaque avec des requêtes pour phpmyadmin, ce qui me fait dire que par définition c'est pas secure.

Si tu veux absolument phpmyadmin, un moyen rapide de rendre ça un peu plus secure est de le mettre en sous-domaine.

genre :

server_name phpadmin.toto.fr;

et de rediriger tout le reste vers un autre site-enable

avec ce type de config :

listen 80 default_server;

server_name toto.fr;

root /var/www/toto/;

Bon ca marche pour moi, mais a confirmer de ton cote.

  • Aime 1

Partager cette publication


Link to post
Share on other sites

Bonjour crocodudule et merci pour ton tuto très complet.

Je suis débutant dans le monde du raspberry et des serveurs linux. J'ai suivi ton tuto jusqu'au bout mais je me pose une question.

Je suis censé avoir un rasberry accessible de l'extérieur et ceci en tapant l'IP de ma box, mais manque de bol lorsque je tape cette ip j'obtiens la page de l'information FreeBox et non pas le phpinfo(), phpinfo qui fonctionne très bien en réseau local.

Est-ce un paramétrage dans ma box ?

Autre information, ma box est routeur et je suis aussi derrière un autre routeur.

Peux tu éclairer ma lanterne ?

Merci pour ton retour d'information

Bonne continuation

Arno

Merci a toi.

Alors il y a plusieurs questions.

Tout d abord et pour accéder de l exterieur a son raspberry, il faut par principe rediriger le port 80 vers l IP du raspberry sur le réseau local. La redirection se fait sur la box.

Autre problème, il est probable que la box ADSL ne gère pas le loopback, c est a dire l accès a un élément du réseau local, ici le raspberry, a l aide de l IP publique de la box alors que l on se trouve soit même sur le réseau local.

Pour tester, tentes de joindre l IP publique de la box depuis un autre accès internet, par exemple via la connexion de ton smartphone (ta connexion data de ton abonnement)

S agissant du fait d avoir la box en mode routeur elle même derrière un routeur, il me faut un peu plus de précisions sur l installation. En principe, je pense au il faut rediriger le port 80 du premier routeur vers l IP de la box, puis dans la box rediriger le même port vers le raspberry.

Enfin, attention, mon tuto est pas encore terminé (manque de temps). Si tu le peux , fais quelques recherches sur les derniers points suggérés a la fin du chapitre 2 pour bien sécuriser.

Salut,très jolie tuto, cependant, je déconseille fortement l'utilisation d'un phpmyadmin accessible depuis l’extérieur.Je regarde les logs de mon serveur et il est constamment attaque avec des requêtes pour phpmyadmin, ce qui me fait dire que par définition c'est pas secure.Si tu veux absolument phpmyadmin, un moyen rapide de rendre ça un peu plus secure est de le mettre en sous-domaine.genre :server_name phpadmin.toto.fr;et de rediriger tout le reste vers un autre site-enableavec ce type de config :listen 80 default_server;server_name toto.fr;root /var/www/toto/;Bon ca marche pour moi, mais a confirmer de ton cote.

Merci. Effectivement ta suggestion est intéressante.

Cependant une solution plus clean est d ajouter une prison a fail2ban pour phpmyadmin, par exemple en utilisant ce tuto.:

http://www.zapoyok.info/2010/07/30/supprimer-les-tentatives-dacces-a-phpmyadmin-en-utilisant-fail2ban/

Modifié par crocodudule

Partager cette publication


Link to post
Share on other sites

Merci. Effectivement ta suggestion est intéressante.

Cependant une solution plus clean est d ajouter une prison a fail2ban pour phpmyadmin, par exemple en utilisant ce tuto.:

http://www.zapoyok.info/2010/07/30/supprimer-les-tentatives-dacces-a-phpmyadmin-en-utilisant-fail2ban/

J'ai fail2ban en place également (faudrait que je remette mes scripts qui tweet l'ip quand ça ban).

Je ne sais pas si c'est plus "clean", je préfère avoir mes services via sous-domaines plutôt que par extension (php.toto.fr vs toto.fr/php), combiné avec le DNS qui renvois tout vers mon serveur et nginx qui gère les sous-domaines via les conf (ce qui fait que le DNS ne connait que toto.fr et il faut connaitre le sous-domaine pour y accéder).

Partager cette publication


Link to post
Share on other sites
faudrait que je remette mes scripts qui tweet l'ip quand ça ban

 

Si tu pouvais les poster quelque part là, perso ça m'INtéresse ! :chinois: 

 

Bon, je ne connaissais pas PortSentry. Le débutant admin (tendance nazi :D) que je suis va aller regarder ça. :chinois:

Partager cette publication


Link to post
Share on other sites

faudrait que je réinstalle ça, mais en gros c'est une action custom dans action.d de fail2ban que tu appelle dans jail.conf.

Une action fail2ban est une commande shell et c'est la ou la magie s'effectue. Tu as besoin d'un compte dev pour pouvoir te connecter en OAuth dessus dessus et poster.

Partager cette publication


Link to post
Share on other sites
Karno   

Bonsoir,

 

Bon, j'ai supprimé le 2ième routeur et ai connecté le raspberry direct derrière la freebox plus simple surtout pour un débutant

 

Je suis allé dans l'interface de paramétrage de la box pour faire les redirections des port 80, 443, 21, 3306 vers l'ip de mon raspberry avec le même port.

Coté raspberry je lui ai collé une ip fixe

 

En revanche aucune idée pour le lookback et free, j'ai cherché mais ..

 

voici l'extrait de mon /etc/network/interfaces

auto loiface lo inet loopbackauto eth0iface eth0 inet static    address 192.168.0.35    netmask 255.255.255.0    network 192.168.0.254    broadcast 192.168.1.255    gateway 192.168.1.1auto wlan0allow-hotplug wlan0iface wlan0 inet staticaddress 192.168.0.50netmask 255.255.255.0gateway 192.168.0.1wpa-ssid xxxxxxwpa-psk xxxxxx

J'ai lu sur un site internet (ici) qu'il fallait mettre 254 pour les free box. bon ben ok alors !!

 

Ensuite, j'ai vu qu'il fallait bricolé le /etc/nginx/sites-available/default

pour rajouter

server {        #listen   80; ## listen for ipv4; this line is default and implied        #listen   [::]:80 default_server ipv6only=on; ## listen for ipv6        root /usr/share/nginx/www;        index index.html index.htm;        # Make site accessible from http://localhost/        server_name ip de ma box;

Je l'ai fait et maintenant lorsque je tape l'IP de ma box depuis mon pc derrière la box j'obtiens un Welcome to nginx!,

 

J'ai pas pu tester avec mon smartphone pour ne pas passer par le même réseau car je suis alimenté avec les corbeaux coté débit.

 

Me reste donc à trouver comment rediriger nginx vers le site que je souhaite.

 

J'ai trouvé entre temps, j'ai remplacé root /usr/share/nginx/www par /srv/www/couveuse/public

et ai rajouté index.php pour afficher le phpinfo(); dans la foulée.

Je viens de re démarrer nginx

Et manque de bol lorsque je demande l'ip de ma box, il me propose de télécharger le fichier,

 

C'est le type mime qui est pas correct ??

 

 

A plus et merci pour votre réactivité.

 

Bonne soirée

 

Arno

Partager cette publication


Link to post
Share on other sites

Je ne suis pas certain de tout suivre, mais manifestement le problème est du coté de

/etc/nginx/sites-available/couveuse.fr

(J'ai cru comprendre que c'est le nom de ton site).

 

De même j'ai cru comprendre que ton raspberry était sur l'IP 192.168.0.35

 

Donc ton fichier /etc/nginx/sites-available/couveuse.fr doit ressembler à ça:

server {server_name couveuse.fr 192.168.0.35;access_log /srv/www/couveuse.fr/logs/access.log;error_log /srv/www/couveuse.fr/logs/error.log;root /srv/www/couveuse.fr/public/;    location / {index index.php index.html index.htm;try_files $uri $uri/ /index.php?$args;    }    location ~ \.php$ {include /etc/nginx/fastcgi_params;fastcgi_pass unix:/var/run/php5-fpm.sock;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /srv/www/couveuse.fr/public$fastcgi_script_name;    }    location /phpmyadmin {root /usr/share/;index index.php index.html index.htm;location ~ ^/phpmyadmin/(.+\.php)$ {try_files $uri =404;root /usr/share/;fastcgi_pass unix:/var/run/php5-fpm.sock;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include /etc/nginx/fastcgi_params;        }        location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {root /usr/share/;        }    }    location /phpMyAdmin {rewrite ^/* /phpmyadmin last;}}

Après tu fais:

sudo ln -s /etc/nginx/sites-available/couveuse.fr /etc/nginx/sites-enabled/couveuse.fr

Puis tu relances ngix:

sudo service nginx restart

- Du coté de ta freebox, tu vas dans rediction de port et:

Tu indiques dans Ip de destination:  192.168.0.35

Ip sources: toutes

Protocole: TCP

Ports de début et de fin: 80

Port de destination : 80

(Naturellement, si tu veux utiliser le ftp et le ssh depuis l'extérieur, il faut faire autant de nouvelles règles de redirections avec les ports 21 et 22)

(Il est probable que la box nécessite un redémarrage)

Modifié par crocodudule

Partager cette publication


Link to post
Share on other sites
sudo apt-get purge mysql-server-5.5sudo rm -rf /var/lib/mysql
Attention, ces deux lignes suppriment toutes les bases MySQL existantes donc à l'installation ça va mais sur un serveur en prod il ne faut jamais le faire.

Remarque : le "purge" propose la suppression des bases de données donc dans ce cas la seconde ligne devient inutile.

Karno : Le port TCP 3306 est le port de MySQL, il est généralement inutile de l'ouvrir à l’extérieur.

Sinon SSH permet de faire la même chose que FTP mais avec plus de sécurité (chiffrement), il faut juste faire des profils utilisateurs limités pour le(s) gestionnaire(s) des sites. Le port SSH par défaut est 22, ne pas oublier fail2ban. Si tu changes le port SSH il faut régler fail2ban avec le nouveau port.

Le FTP devrait être utilisé uniquement pour proposer des téléchargements en FTP anonymes.

Sinon prévoir une carte SD de très bonne qualité pour ne pas avoir de corruption !

Partager cette publication


Link to post
Share on other sites
Karno   

Bonjour et merci pour ta réponse

 

En fait le nom de mon site était couveuse et non couveuse.fr mais j'ai créé les répertoires pour couveuse.fr

 

 

Le truc simple c'est que le /etc/nginx/sites-available/couveuse.fr n'existait pas, je connais un peu IIS (et encore) mais pas du tout nginx, les répertoires /srv/www/couveuse.fr/logs/ public et acces non plus c'est fait et maintenant .... tinlinlin

 

en local cela fonctionne j'ai bien mon index.php qui s'affiche avec l'écho que j'ai rajouté. Nickel!!

Mais de l'extérieur il me propose toujours de télécharger ce foutu machin.

 

J'ai une question, ou dois je regarder dans un fichier log ou erreur ou acces ce qui se passe au niveau du serveur (pas de couveuse.fr) mais plus généralement ?

car quand je tape l'@ en local et que je regarde les fichiers  cat /srv/www/couveuse.fr/logs/error.log rien (normal) et le fichier acces j'ai les GET HTTP qui vont bien.

 

Je purge le fichier access et je relance avec l'IP de ma box et là rien du tout

 

Donc je ne sais pas ou regarder pour voir si l'ip de ma box est bien configuré sur nginx et surtout OU ....

 

Merci et bonne fin de dimanche.

 

Arno


En fait le pb est peut être en dehors de Nginx car j'ai eu besoin d'installer un truc pour l'heure du raspberry et la commande

apt-get install ntpdate plantait sur la résolution d'une adresse mirror ...

J'ai tenté un ping free.fr ou ping google.fr et rien du tout alors que sur mon poste windows cela fonctionne correctement (les 2 sont derrières la free box)

 

j'ai donc du raté quelque chose sur ton tuto !!

 

gloups !!!

Partager cette publication


Link to post
Share on other sites
Karno   

Bonsoir RaphAstronome

 

J'ai ouvert 4 ports sur ma box 80, 21, 443, 3306 tous redirigés vers l'ip du RPI avec le même port

Partager cette publication


Link to post
Share on other sites

Le 3306 n'est pas souhaitable à moins que tu veuille faire des connexions distantes MySQL.

Le 21 aussi mis à part si tu fait du FTP depuis l’extérieur mais si c'est pour administrer les sites je te conseille fortement d'utiliser SSH qui est sur le port 22.

 

Tant que c'est une utilisation à l'intérieur de ton réseau il est inutile d'ouvrir le port, ce n'est qu'une faille potentielle en plus d'autant plus que les deux protocoles ici cités ne sont pas chiffrés. Pour le web, seul 80 (http) et le 443 (https) sont nécessaires.

Partager cette publication


Link to post
Share on other sites
spamnco   

Bonjour à tous, 

 

J'ai également suivi ce tuto fort complet pour installer un serveur chez moi (derrière une freebox optique, ça devrait carburer) et j'ai le même problème que Karno ! En local 192.168.0.17 chez moi, j'accède sans soucis à mon site de test mais dès que j'entre l'IP de ma freebox je tombe sur le fameux 

Welcome to nginx!

Je précise que j'ai reçu mon Pi B+ hier et que je ne connais pratiquement rien à l'environnement linux/debian.

 

Merci pour le coup de main et encore bravo pour le tuto.

Partager cette publication


Link to post
Share on other sites
pioup   

bonjour à tous,

 

Je suis actuellement bloqué à l'étape VI – INSTALLATION D’UN SERVEUR FTP :

ou vous me demandez après avoir modifier dans la console, de presser sur Contrôle o pour sauvegarder, contrôle x pour sortir.

Le problème c'est que sa ne sauvegarde rien, et je ne peut meme pas sortir en pressant les deux touches "controle" et "x"

je dois mal me débrouiller (je débute sur linux et n'ai aucune connaissance..)

 

Autre fais je ne peut pas faire de arobase.. en appuyant simultanément sur Alt Gr et à (si sa peut vous aider...)

 

je vous remercie enormement pour vos réponses...

Partager cette publication


Link to post
Share on other sites

Bonjour à tous, j'ai un petit soucis. j'ai suivis tous le tuto à la lettre et tous fonctionne ou plutot fonctionnait....

Je m'explique, l'accés FTP fonctionne, tous comme phpmyadmin puis aussi l'accés web en tapant l'adresse ip local. (Je suis en local pour le moment)

Cependant l'accés SSH ne fonctionne plus, quand j'essaye de me connecter avec PUTTY la fenetre s'ouvre mais rien puis au bou de quelque seconde un message d'erreur.

 

Sur le raspberry PI 2 la led rouge est allumé en continu, la verte s'allume et clignote au démarage puis elle s'etein complétement.

 

Est ce que la partie du tutoriel sur la sécurisation est tellement efficace que méme moi en local avec les identifiant je suis bloqué?

Partager cette publication


Link to post
Share on other sites

Veuillez vous connecter pour commenter

Vous serez en mesure de laisser un commentaire après vous être connecté



Se connecter dès maintenant

×