CHAPITRE 2 SSH. Puisque qu'ici nous allons faire pas mal de chose nous allons passez en «root» permanent :



Documents pareils
Table des matières Hakim Benameurlaine 1

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Netfilter & Iptables. Théorie Firewall. Autoriser le trafic entrant d'une connexion déjà établie. Permettre le trafic entrant sur un port spécifique

Procédure d utilisation et de paramétrage (filtrage) avec IPFIRE

Serveur de messagerie sous Debian 5.0

Secure SHell. Faites communiquer vos ordinateurs! Romain Vimont ( R om)

Comment surfer tranquille au bureau

Formation Iptables : Correction TP

Alexis Lechervy Université de Caen. M1 Informatique. Réseaux. Filtrage. Bureau S3-203

Installation d'un serveur sftp avec connexion par login et clé rsa.

Les différentes méthodes pour se connecter

TP LINUX : MISE EN RÉSEAU D UN SERVEUR LINUX

Configuration de Gentoo 12.x

PROXY SQUID-SQARD. procédure

SSH. Romain Vimont. 7 juin Ubuntu-Party

La sécurité avec SSH. Atelier cctld Dakar, Sénégal. Hervey Allen

pare - feu généralités et iptables

Documentation FOG. 3. Choisir le nom de la machine, le nom d utilisateur et le mot de passe correspondant (par exemple : fog, password)

FTP-SSH-RSYNC-SCREEN au plus simple

Raspberry pi : Développer une petite application web sur Raspberry

Réalisation d un portail captif d accès authentifié à Internet

OCS Inventory & GLPI

PPe jaune. Domingues Almeida Nicolas Collin Leo Ferdioui Lamia Sannier Vincent [PPE PROJET FTP]

IP & Co. 1. Service DHCP. L'objectif de ce TP est de voir l'ensemble des services élémentaires mis en oeuvre dans les réseaux IP.

BTS SIO Dossier BTS. PURCHLA Romain

Installation des outils OCS et GLPI

EPREUVE PRATIQUE DES TECHNIQUES INFORMATIQUES ACTIVITE N 1. Thème de l activité : Configuration d un firewall

TP Linux : Firewall. Conditions de réalisation : travail en binôme. Fonctionnement du parefeu Netfilter. I Qu est ce qu'un firewall?

Installation et Configuration de Squid et SquidGuard sous Debian 7

MISE EN PLACE DU FIREWALL SHOREWALL

Fonctionnement de Iptables. Exercices sécurité. Exercice 1

Année Universitaire ième année IMAC Mardi 6 janvier Cloud computing Travaux Pratiques

But de cette présentation. Serveur DHCP (Application à CentOS) Cas des machines virtuelles. Schéma de principe. Hainaut P

Administration réseau Firewall

Contrôle de la DreamBox à travers un canal SSH

Iptables. Table of Contents

1/ Introduction. 2/ Schéma du réseau

Sécurité GNU/Linux. Iptables : passerelle

THEGREENBOW FIREWALL DISTRIBUE TGB::BOB! Pro. Spécifications techniques

Environnements informatiques

Installation personnalisée d'oracle 10g

Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A. TP réseau firewall

SECURIDAY 2012 Pro Edition

Figure 1a. Réseau intranet avec pare feu et NAT.

Pharmed. gestion de pharmacie hospitalière. Installation / déploiement

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Live box et Nas Synology

Antisèches Informatiques. Configuration et utilisation de openssh. Sommaire. Openssh pour linux. Installation. 1 sur 24 04/06/ :04

TP Sur SSH. I. Introduction à SSH. I.1. Putty

SSH : Secure SHell. De l utilisateur à l administrateur. Version du 21/10/2004. Frédéric Bongat [fbongat@lmd.ens.fr]

SQUID Configuration et administration d un proxy

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

Firewall. Souvent les routeurs incluent une fonction firewall qui permet une première sécurité pour le réseau.

Préparation LPI. Exam Securité. Document sous licence Creative commons «by nc sa» nc sa/2.

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Déploiement d'un serveur ENT

[Serveur de déploiement FOG]

Procédure d'installation

Administration Réseaux

INSTALLATION DEBIAN 7 (NETINSTALL) SUR VM

FILTRAGE de PAQUETS NetFilter

[ GLPI et OCS pour Gentoo 2006] ArtisanMicro. Alexandre BALMES

TP4 : Firewall IPTABLES

Maintenir Debian GNU/Linux à jour

Service de certificat

But de cette présentation. Proxy filtrant avec Squid et SquidGuard. Serveur proxy. Serveur proxy. Hainaut P

Machine virtuelle W4M- Galaxy : Guide d'installation

Procédures informatiques administrateurs Création d un serveur FTP sous Linux

Introduction. Conclusion. Sommaire. 1. Installation de votre routeur Coyote Linux Configuration requise et installation du matériel.

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

SSH, le shell sécurisé

Serveur d impression CUPS

Installation d'un FreeNAS (v0.684b du 30/03/2007) pour sauvegarder les données d'un ZEServer

Architecture de la plateforme SBC

Proxy et reverse proxy. Serveurs mandataires et relais inverses

04/02/2014 Tutoriel. Lubuntu & glpi. thomas [NOM DE LA SOCIETE]

Il est courant de souhaiter conserver à

Live box et Nas Synology

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Maintenance et gestion approfondie des Systèmes d exploitation Master 2 SILI. Année universitaire David Genest

Linux Firewalling - IPTABLES

Installation 1K-Serveur

Installation d ORACLE 10g sous Debian Etch

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

Département R&T, GRENOBLE TCP / IP

Sécurité d IPv6. Sécurité d IPv6. Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr. Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr

Accès aux ressources informatiques de l ENSEEIHT à distance

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

OpenSSH. Présentation pour le groupe SUR (Sécurité Unix et Réseaux) 08/03/2005. Saâd Kadhi

Exemples de commandes avec iptables.

Atelier Migration. Mohamadi ZONGO Formateur assistant Kassim ASSIROU Atelier Migration.

INSTALLATION DE BACKUPPC

Un serveur web, difficile?

Anas Abou El Kalam Sécurité SSH SSH

SECURIDAY 2013 Cyber War

WGW PBX. Guide de démarrage rapide

Sauvegarde automatique des données de GEPI

Transcription:

CHAPITRE 2 SSH Puisque qu'ici nous allons faire pas mal de chose nous allons passez en «root» permanent : ALBAN@bebeserv:~$ sudo -i bebeserv:~# Installons le client et le serveur SSH. Seul le serveur devrait nous servir mais il est toujours très pratique d'avoir un client à porter de main. bebeserv:~# apt-get update bebeserv:~# apt-get install openssh-client openssh-server Commencez par couper «sshd» tant qu'il n'est pas configuré correctement : bebeserv:~# /etc/init.d/ssh stop Maintenant allons configurer tout ceci : bebeserv:~# cd /etc/ssh bebeserv:/etc/ssh# Tout d'abord le client ssh : bebeserv:/etc/ssh# nano ssh_config Mettez les options suivantes : CheckHostIP yes EnableSSHKeysign yes GSSAPIAuthentification yes GSSAPIDelegateCredentials no Page 1

Protocol 2 ServerAliveCountMax 5 ServerAliveInterval 20 SetupTimeOut 30 TCPKeepAlive no VerifyHostKeyDNS yes Enregistrez et quittez. Maintenant passons au serveur : bebeserv:/etc/ssh# nano sshd_config Mettez les options suivantes : X11Forwarding MaxAuthTries 3 MaxStartups 1 AllowUsers ALBAN LoginGraceTime 60 PermitRootLogin no AuthorizedKeysFile %h/.ssh/authorized_keys X11Forwarding no TCPKeepAlive no Banner /etc/ssh/banner ClientAliveCountMax 5 ClientAliveInterval 20 Enregistrez et quittez. Créons notre bannière : bebeserv:/etc/ssh# nano banner Entrez le texte de votre choix : ATTENTION les connexions sur ce serveur sont surveillées et tracées. Tout acte malveillant, usurpation d'identité, vol de données pourra amener des poursuites judiciaires importantes! Nous allons maintenant redémarrer notre serveur. bebeserv:/etc/ssh# /etc/init.d/ssh start Page 2

Maintenant nous allons créer les clés RSA et DSA de notre utilisateur qui lui permettra d'assurer ses futures connexions. bebeserv:/etc/ssh# ssh-keygen -t dsa -b 1024 Des questions vous seront posées, faîtes «[Entrée]» partout sans répondre. bebeserv:/etc/ssh# ssh-keygen -t rsa -b 1024 Même démarche. Maintenant que tout est beau et propre nous allons devoir autoriser SSH à sortir de notre réseau. Éditez le fichier «/etc/network/iptables» et ajoutez les lignes suivantes : iptables -t filter -A INPUT -p tcp --dport 22 -i eth0 -d $MYIP -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 22 -o eth0 -s $MYIP -j ACCEPT Maintenant SSH est ouvert à l'extérieur. Vous pouvez vous logguer depuis votre serveur vers un autre serveur en utilisant : ssh user@server.com Si vous souhaitez vous connecter à un serveur depuis le votre sans voir à y rentrer la clé en permanence : ssh-copy-id -i ~/.ssh/id_dsa.pub user@server.com Rentrez le mot de passe pour la dernière fois. Après «ssh user@server.com» se connectera automatiquement. Notre configuration est faite de sorte que seul l'utilisateur «ALBAN» puisse utiliser SSH pour une connexion distante. Ainsi avec Putty.exe sous un poste Windows par exemple vous pouvez vous connecter et Page 3

administrer votre serveur à distance. Allons un peu plus loin et protégeons-nous des attaques SSH, nous allons installer le paquet «fail2ban» qui nous protégera de ceci et qui part la suite nous protégera aussi de ce même type d'attaque pour les protocoles HTTP, POP etc. Le principe de «fail2ban» est très simple, il scan les fichiers de log «/var/log/auth.log», «/var/log/apache/access.log» etc... à la recherche de tentative d'authentification qui sont en échec. Au bout de 3 tentatives échouées par exemple il ajoutera une règle dans «iptables» afin de bannir pendant un certain temps l'adresse IP qui tente de se connecter sans y arriver. Ainsi les attaques brute force sont compromises. Vous l'aurez compris «fail2ban» joue avec «iptables» nous allons donc revenir sur les fichiers du chapitre 1 pour arranger tout ça. Première chose, installons «fail2ban» : bebeserv:/etc/ssh# apt-get install fail2ban Une fois fais, «fail2ban» est déjà en action, voyez les modifications apporter sur notre «iptables» : bebeserv:/etc/ssh# iptables -L -v -n Afin de que notre script «iptables-conf» et celui de «fail2ban» ne s'embête pas au démarrage, sachant que les deux vont de paire nous allons supprimer le démarrage de «fail2ban» tout en gardant son script de démarrage de la manière suivante : bebeserv:/etc/ssh# /etc/init.d/fail2ban stop bebeserv:/etc/ssh# update-rc.d -f fail2ban remove Maintenant nous allons améliorer «iptables-conf» pour y inclure «fail2ban» bebeserv:/etc/ssh# nano /etc/init.d/iptables-conf Modifiez les fonctions «start» et «stop» de la manière suivante : iptables_start() { if [ -f /etc/network/iptables ]; then. /etc/network/iptables fi Page 4

} /etc/init.d/fail2ban start iptables_stop() { /etc/init.d/fail2ban stop iptables -t filter -F INPUT iptables -t filter -P INPUT ACCEPT iptables -t filter -F OUTPUT iptables -t filter -P OUTPUT ACCEPT } Enregistrez et quittez. Maintenant allons paramétrer «fail2ban» : Rendez vous dans «/etc/fail2ban/» bebeserv:/etc/ssh# cd /etc/fail2ban bebeserv:/etc/fail2ban# nano fail2ban.conf Personnellement ici je change la dernière ligne du fichier de configuration : socket = /var/run/fail2ban.sock Je trouve ceci plus propre que de le mettre dans «/tmp», autant l'enregistrer avec ses collègues. Maintenant réglons la manière dont «fail2ban» travail : bebeserv:/etc/fail2ban# nano jail.conf «bantime = 600» et «maxretry = 3» me semble être des bonnes valeurs (pour 3 mauvaises tentatives le host est banni 10 minutes) Je ne rajoute pas mon propres réseau car je préfère ne pas faire confiance à mon réseau (question de sécurité, un cheval de troie sur un de mes PCs pourrait faire des dégâts) Plus bas vous voyez des sections dont une pour SSH activée. Nous laissons tel quel pour l'instant, nous activerons les autres services au fur et à mesure ou nous les monterons. Quittez et enregistrez si vous avez fait des modifications. Redémarrez le tout : bebeserv:/etc/fail2ban# /etc/init.d/iptables-conf restart Voilà c'est terminer pour SSH. Page 5

Une dernière chose avant de clore le sujet. Vous avez sûrement remarquer qu'un nouveau fichier de log sera présent dans «/var/log» : «fail2ban.log». Il est de bon ton d'aller vérifier si le «logrotate» fera tourner ce fichier de log avant qu'il ne devienne trop gros et génère quelque défaillance du système. (il faut toujours avoir ce reflex). Allons donc dans «/etc/logrotate.d/» bebeserv:/etc/fail2ban# cd /etc/logrotate.d/ bebeserv:/etc/logrotate.d# ls Il y a bien un fichier visiblement dédié à «fail2ban» Affichons le : bebeserv:/etc/fail2ban# cat fail2ban De ce que l'on peut en lire, ce fichier sera tourné toutes les semaines avec 4 fichiers conservés et compressés. Pour moi c'est bon =) bebeserv:/etc/fail2ban# exit logout ALBAN@bebeserv:~$ Page 6