sshgate PATRICK GUIRAN pguiran@linagora.com WWW.LINAGORA.COM

Documents pareils
sshgate Patrick Guiran Chef de projet support

WEB page builder and server for SCADA applications usable from a WEB navigator

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

CONFIGURATION DU SERVEUR DE MAILS EXIM. par. G.Haberer, A.Peuch, P.Saade

Les différentes méthodes pour se connecter

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

SSH, le shell sécurisé

Projet Administration Réseaux

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

TP LINUX : LINUX-SAMBA SERVEUR DE FICHIERS POUR UTILISATEURS WINDOWS

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

Once the installation is complete, you can delete the temporary Zip files..

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

Installation et mise en œuvre de OpenSSH sous AIX 5L

Vanilla : Virtual Box

INFO-F-404 : Techniques avancées de systèmes d exploitation

Sauvegardes par Internet avec Rsync

WDpStats Procédure d installation

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

Accès aux ressources informatiques de l ENSEEIHT à distance

Guide d installation de SugarCRM Open Source version 4.5.1

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

Support de cours. Administrer Linux avec Webmin. 2003, Sébastien Namèche - 1

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Instructions Mozilla Thunderbird Page 1

Ajout et Configuration d'un nouveau poste pour BackupPC

Serveur Subversion Debian GNU/Linux

Comment surfer tranquille au bureau

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

et Active Directory Ajout, modification et suppression de comptes, extraction d adresses pour les listes de diffusion

COURS 5 Mettre son site en ligne! Exporter son site avec WordPress Duplicator Installer un logiciel FTP Faire le suivi des visites de son site avec

Chapitre VIII : Journalisation des événements

Classe et groupe : 1P 3 SEN TRI. Ubuntu : serveur Contrôleur de Domaine (PDC) avec SAMBA

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

PUPPET. Romain Bélorgey IR3 Ingénieurs 2000

Tutoriel compte-rendu Mission 1

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 5

Notice Technique / Technical Manual

Installation de VirtualPOPC-1 sur Ubuntu Server LTS 64bits

Anas Abou El Kalam Sécurité SSH SSH

DOCUMENTATION - FRANCAIS... 2

Jeudis du libre, Samba ou comment donner le rythme aux stations Windows

DOCUMENTATION - FRANCAIS... 2

Installation d'un serveur RADIUS

Environnements informatiques

Serveur de sauvegardes incrémental

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

TABLE DES MATIERES A OBJET PROCEDURE DE CONNEXION

Application Form/ Formulaire de demande

INSTALLATION ET CONFIGURATION DE OPENLDAP

Architecture de la plateforme SBC

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

Devoir Surveillé de Sécurité des Réseaux

Imprimantes et partage réseau sous Samba avec authentification Active Directory

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

Installation d'un TSE (Terminal Serveur Edition)

Les techniques de la télémaintenance

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Configuration du serveur FTP sécurisé (Microsoft)

Manuel des logiciels de transferts de fichiers File Delivery Services

CommandCenter Secure Gateway

Guide Installation Serveur Extensive Testing

Gérer ses environnements de développement avec Vagrant RMLL 2012

Déploiement OOo en environnement Windows Terminal Server

Automatisation de l administration système

Sauvegarde de postes clients avec BackupPC

Installer un domaine DNS

Utiliser un proxy sous linux

Services Réseau SSH. Michaël Hauspie. Licence Professionnelle Réseaux et Télécommunications

Guide Installation Serveur Extensive Testing

vcenter Server 1. Interface Lancez le vsphere Client et connectez vous à vcenter Server. Voici la page d accueil de vcenter Server.

Bon ben voilà c est fait!

How to Login to Career Page

Dispositions relatives à l'installation :

VXPERT SYSTEMES. CITRIX NETSCALER 10.1 et SMS PASSCODE 6.2. Guide d installation et de configuration pour Xenapp 6.5 avec SMS PASSCODE 6.

Table des matières Hakim Benameurlaine 1

Installation du transfert de fichier sécurisé sur le serveur orphanet

Configuration de Gentoo 12.x

1 Configuration des Fichiers Hosts, Hostname, Resolv.conf

Les GPO 2012 server R2 (appliqués à Terminal Serveur Edition)

Oracle Learning Library Tutoriel Database 12c Installer le logiciel Oracle Database et créer une Database

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial

REMBO Version 2.0. Mathrice 2004 DESCRIPTION MISE EN OEUVRE CONCLUSION.

SQL Server et Active Directory

(1) Network Camera

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

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

Installation de Vmware serveur Linux

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

Installation de Vmware serveur Windows

Retour d expérience sur Prelude

Les commandes relatives aux réseaux

1 Démarrage de Marionnet

PPE GESTION PARC INFORMATIQUE

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

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

Transcription:

sshgate PATRICK GUIRAN pguiran@linagora.com WWW.LINAGORA.COM

Sommaire I. PROBLÉMATIQUE DES ACCÈS II. PRÉSENTATION DE SSHGATE III. FONCTIONNEMENT INTERNE 11-07-11 PAGE 2 / 35

Sommaire I. PROBLÉMATIQUE DES ACCÈS II. PRÉSENTATION DE SSHGATE III. FONCTIONNEMENT INTERNE 11-07-11 PAGE 3 / 35

I. Problématique des accès Différents types d accès Accès par mot de passe Utilisation d un annuaire LDAP Effet «post-it» Partagé entre administrateurs ou possédé par un seul administrateur (spof) Accès par clé ssh A qui est la clé? Ajout des clés du «copain» (solvable) Accès à l ensemble des serveurs Même les plus critiques (mail, base de données) Souvent de manière inconditionnelle 11-07-11 PAGE 4 / 35

I. Problématique des accès Gestion des accès Arrivé / Départ d'un collaborateur? Qui a accès au serveur? (simple) A quel serveur a accès cet administrateurs? (compliqué) «Simple» lorsque l'administrateur a accès à tous les serveurs J Bon administrateur : «Mais si c'est simple!» user_sshkey=$( cat user-sshkey.pub ) for serveur in $( cat list server.txt ) ; do ssh $serveur 'cat ~/.ssh/authorized_keys2?' \ grep ${user_sshkey} >/dev/null [ $? eq 0 ] && echo ${serveur} done# Qui gère les accès? 11-07-11 PAGE 5 / 35

I. Problématique des accès Besoins de LINAGORA Must have ü Utilisation de ssh ü Authentification par clé ssh ü Que les clés des utilisateurs ne soient pas sur les serveurs ü Gestion des accès centralisée (ACL) Nice to have ü Enregistrement de l'activité des utilisateurs ü Enregistrement des sessions des utilisateurs ü Notification des actions d'administration 11-07-11 PAGE 6 / 35

I. Problématique des accès Recherche d une solution q Wallix AdminBastion Solution française, propriétaire, ssh/telnet/rdp q Observe-it Solution américaine, propriétaire, ssh/telnet/rdp q sshproxy Projet Open-Source (GPLv2), python, client lourd inactif depuis 2008(?), impossible à télécharger sur le site officiel q AdminProxy Projet Open-Source, commandé par l'état Français Projet sur 2 ans. Fin prévu en 09/2010 Où sont les sources? L 11-07-11 PAGE 7 / 35

I. Problématique des accès Résultat des recherches Aucune solution ne convient Trop chère Trop intrusif Non disponible Développement de sshgate! En version libre et open-source Utilisable rapidement Simple 11-07-11 PAGE 8 / 35

I. Problématique des accès Contraintes & défis Se reposer sur les outils existants : OpenSSH, putty Aucune installation sur les serveurs administrés Aucune installation nécessaire sur les postes clients Multiplate-forme Le serveur sshgate Les serveurs administrés Les postes clients Pas de patchs sur le serveur sshgate (patch sshd) Léger, peu de dépendances logicielles (pas de BDD) 11-07-11 PAGE 9 / 35

Sommaire I. PROBLÉMATIQUE DES ACCÈS II. PRÉSENTATION DE SSHGATE III. FONCTIONNEMENT INTERNE 11-07-11 PAGE 10 / 35

II. Présentation de sshgate Vue globale 11-07-11 PAGE 11 / 35

II. Présentation de sshgate Fonctionnalités ü Sessions SSH & Transfert de fichiers via SCP ü Gestion centralisée des accès (par utilisateur et groupe) ü Gestion des alias pour les serveurs administrés ü Support multi-login par serveur administré ü Configuration SSH globale, et spécifique par serveurs et login ü Enregistrement de l'activité des utilisateurs Qui fait «quoi» sur quelle machine? ü Enregistrement des sessions SSH Que s est-il passé durant une session? ü Interface d'administration en mode «CLI» 11-07-11 PAGE 12 / 35

II. Présentation de sshgate Caractéristiques Licence GPLv2+ Développé en Shell Script (sh, dash, bash, zsh) Multiplate-forme : Serveur : Linux, Solaris, *BSD Client : Linux, MacOS, Windows/Putty Historique : Naissance du projet : Août 2010 Première mise en production : Septembre 2010 Version actuelle (interne) : En production : 0.1.192 Trunk : 0.2.71 (passage en production imminente) Release 1.0 prévu pour fin juillet 2011 11-07-11 PAGE 13 / 35

II. Présentation de sshgate Utilisation de sshgate par LINAGORA Quelques chiffres 61 utilisateurs 10 groupes d utilisateurs 161 machines administrées 214 nom d'alias de machines administrées Accès 96 accès par groupe 103 accès par utilisateur Sur les 6 derniers mois 2063 transferts de fichiers 16568 sessions SSH 11-07-11 PAGE 14 / 35

II. Présentation de sshgate Bugs connus & Fonctionnalités demandées DOS : remplissage des logs Surveillance de l'évolution de la taille des logs Déconnexion des sessions abusives Saturation du nombre de fd ouvert Limiter le nombre de connexion par utilisateur Killer les sessions «idle» trop longue Possibilités de «cacher» certaines commandes user@host $ read s var # ## rm rf * # user@host $ eval "${var}" ## AIE# Ce n est pas un bug. sshgate n enregistre pas les touches tapées et ne le fera jamais! 11-07-11 PAGE 15 / 35

II. Présentation de sshgate Roadmap Correction du DDOS + limitation des sessions Juillet Août Sept À Venir Packaging debian Support de telnet Packaging fedora, arch, Solaris Interface web d'administration Support des certificats Authentification des utilisateurs par LDAP Exposition de certaines commandes 11-07-11 PAGE 16 / 35

Sommaire I. PROBLÉMATIQUE DES ACCÈS II. PRÉSENTATION DE SSHGATE III. FONCTIONNEMENT INTERNE 11-07-11 PAGE 17 / 35

III. Fonctionnement interne Fonctionnement d une session 11-07-11 PAGE 18 / 35

III. Fonctionnement interne Déroulement d une ouverture de session Connexion de l'utilisateur Vérification de la présence de sa clé Exécution du Bridge et passage du login + SSH_ORIGINAL_COMMAND Vérification de l'existant de l'utilisateur dans sshgate Parsing du SSH_ORIGINAL_COMMAND Extraction du nom de la machine administrée cible Extraction de la commande à effectuer (si présence) Si aucun nom de machine cible n'est fournis, passage en mode interactif Si machine administrée cible existe Lancement de l'action demandé (ssh ou scp) Avec vérification de l'authenticité de la machine cible (known_hosts) 11-07-11 PAGE 19 / 35

III. Fonctionnement interne Architecture logicielle 11-07-11 PAGE 20 / 35

III. Fonctionnement interne Administration - Modèle de données 11-07-11 PAGE 21 / 35

III. Fonctionnement interne CLI d administration 11-07-11 PAGE 22 / 35

III. Fonctionnement interne Bibliothèque ScriptHelper Ensemble de bibliothèques Permettant d'écrire plus rapidement les Scripts Shell Se voulant le plus POSIX possible Quelques bibliothèques exec.lib.sh : exécution avec log et vérification ask.lib.sh : poser des questions cli.lib.sh : permet de construire une CLI rapidement mutex.lib.sh / lock.lib.sh : gestion des verrous record.lib.sh : enregistrement de terminal... 11-07-11 PAGE 23 / 35

III. Fonctionnement interne Utilisation de ask.lib.sh ASK SSHGATE_TARGETS_DEFAULT_SSH_LOGIN \ "What the default user account to use when connecting to target host?" \ "${SSHGATE_TARGETS_DEFAULT_SSH_LOGIN}" CONF_SAVE SSHGATE_TARGETS_DEFAULT_SSH_LOGIN ASK yesno SSHGATE_MAIL_SEND \ "Activate mail notification system [Yes]?" \ "Y" [ "${SSHGATE_MAIL_SEND}" = 'N' ] && SSHGATE_MAIL_SEND='false' if [ "${SSHGATE_MAIL_SEND}" = 'Y' ]; then SSHGATE_MAIL_SEND='true' ASK SSHGATE_MAIL_TO \ "Who will receive mail notification (comma separated mails)?" \ "${SSHGATE_MAIL_TO}" [ z "${SSHGATE_MAIL_TO}" ] && SSHGATE_MAIl_SEND='false' else SSHGATE_MAIL_SEND='false' fi CONF_SAVE SSHGATE_MAIL_SEND CONF_SAVE SSHGATE_MAIL_TO 11-07-11 PAGE 24 / 35

III. Fonctionnement interne Utilisation de cli.lib.sh # chargement de ScriptHelper#../lib/cli.lib.sh# # # génération de l'aide et de son menu# CLI_REGISTER_HELP #'/tmp/sshgate-cli-help.txt' \# #SSHGATE_GET_HELP \# #SSHGATE_DISPLAY_HELP \# #SSHGATE_DISPLAY_HELP_FOR# # # CLI_REGISTER_MENU 'user' 'User related commands'# CLI_REGISTER_COMMAND 'user list' 'USERS_LIST'# CLI_REGISTER_COMMAND 'user list <pattern>' 'USERS_LIST \1'# CLI_REGISTER_COMMAND 'user add <user> mail <email>' 'USER_ADD \1 \2'# CLI_REGISTER_COMMAND 'user del <user>' 'USER_DEL \1'# CLI_REGISTER_COMMAND 'user build auth_keys' 'USERS_AUTH_KEYS_BUILD'# # #...# # # lancement de la CLI# CLI_RUN! 11-07-11 PAGE 25 / 35

III. Fonctionnement interne Industrialisation SshGate et ScriptHelper possèdent Construction d'une tarball de déploiement Script de déploiement / installation Des jeux de tests tauop@tauopbox:~/taff/.../sshgate$./build.sh server! sshgate version? 0.2 # sshgate build number? 014 # Include ScriptHelper in package? y# Build sshgate server package... OK # tauop@tauopbox:~/taff/.../sshgate$# 11-07-11 PAGE 26 / 35

III. Fonctionnement interne Installation (1 / 2) tauop@tauopbox:/tmp/sshgate-server-0.2-0.71$ sudo./install.sh! # --- sshgate server installation ---# by Patrick Guiran# # # NOTICE: ScriptHelper will be installed as part of sshgate, not system-wide# If you want to install ScriptHelper system-wide, please visit http://github.com/ Tauop/ScriptHelper# # Where do you want to locate sshgate [/opt/sshgate]?# Which unix account to use for sshgate users [sshgate]?# What the default user account to use when connecting to target host [root]?# List of avariable languages: fr us# Default language for user messages [us]? fr# Which editor to use [vim]?# Activate mail notification system [Y]?# Who will receive mail notification (comma separated mails) [sshgate@linagora.com]?# Do users have to accept TOS when connecting for the first time [Y]?# Allow remote command [Y]?# Allow remote administration CLI [Y]?# # # - Reload configuration... OK# - Installing sshgate... OK# - Generate default sshkey pair... OK# - Setup files permissions... OK# - Install archive cron... OK# 11-07-11 PAGE 27 / 35

III. Fonctionnement interne Installation (2 / 2) tauop@tauopbox:/tmp/sshgate-server-0.2-0.71$ sudo./install.sh! #...# # You need to add the first user of sshgate, which will be sshgate administrator.# This user will allow you to manage other users, targets and accesses.# user login? pguiran# user mail? pguiran@linagora.com# # In order to administrate sshgate, just ssh this host with this user# If you have installed sshgate client -> sshg cli# with standard ssh client -> ssh -t sshgate@tauopbox cli# from this terminal -> /opt/sshgate/bin/sshgate-cli -u sshgate# # NOTICE: You may add /opt/sshgate/bin in your PATH variable# # tauop@tauopbox:/tmp/exmaple/sshgate-server-0.2-0.71$# 11-07-11 PAGE 28 / 35

III. Fonctionnement interne Tests root@gate:/opt/sshgate/bin/tests#./test.sh all! - Loading sshgate core... OK# - Setup sshgate data directory... OK# - Generate temporary test file... OK# - Generate temporary sshkey test file... OK# - Create and setup temporary Unix account... OK# - Reset temporary test file... OK# - Reset sshgate data directories... OK# - Generate user tests... OK# - Launch user tests... OK# - Reset temporary test file... OK# - Reset sshgate data directories... OK# - Generate target tests... OK# - Launch target tests... OK# - Reset temporary test file... OK# - Reset sshgate data directories... OK# - Generate usergroup tests... OK# - Launch usergroup tests... OK# - Reset temporary test file... OK# - Reset sshgate data directories... OK# - Generate access tests... OK# - Launch access tests... OK# - Remove tests data... OK# root@gate:/opt/sshgate/bin/tests## 11-07-11 PAGE 29 / 35

IV. Réutilisation de sshgate Recyclage du projet sshgate 11-07-11 PAGE 30 / 35

IV. Réutilisation de sshgate Participer J 11-07-11 PAGE 31 / 35

IV. Réutilisation de sshgate Participer J 11-07-11 PAGE 32 / 35

IV. Réutilisation de sshgate Participer au développement ü SshGate : http://www.github.com/tauop/sshgate ü ScriptHelper : http://www.github.com/tauop/scripthelper ü Venez nous voir sur IRC@Freenode #linagora ü Contact : pguiran@linagora.com 11-07-11 PAGE 33 / 35

Questions / Réponses Questions? 11-07-11 PAGE 34 / 35

Merci de votre attention Contact : LINAGORA Siège social 80, rue Roque de Fillol 92800 PUTEAUX FRANCE Tél. : 0 810 251 251 (tarif local) Fax : +33 (0)1 46 96 63 64 Mail : info@linagora.com Web : www.linagora.com WWW.LINAGORA.COM