IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sécurité Discussion :

Sécuriser les accès WEB


Sujet :

Sécurité

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 67
    Par défaut Sécuriser les accès WEB
    Bonjour,

    Je dois sécuriser un envir GNU/Linux (Debian) afin de garantir que, pour certains utilisateurs, toutes les sorties vers le WEB (sur le port 80) passeront par un proxy 3128. Je dois aussi donner un maximum de droits à ces utilisateurs sur l'environnement en question sans qu'il puissent pour autant outrepasser la première règle.

    Mon but est de savoir quel est la stratégie la plus confortable pour ces utilisateurs mais qui me garantisse la contrainte décrite.

    Je voudrais par exemple que mes utilisateurs puissent:
    * Configurer le réseau.
    * Installer, désinstaller un package, upgrader le système
    * Gérer les services via /etc/init.d et update-rc.d
    * Ne pas pouvoir manipuler le service proxy
    * Ne pas pouvoir modifier LA règle iptables.

    Voici comment j'ai procédé:

    1. Règle iptables pour forwarder toutes les sorties 80 vers le port en question:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 3128

    2. Droits sudo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # Cmnd alias specification
    Cmnd_Alias      NET = /sbin/ifconfig, /sbin/iwconfig, /sbin/route
    Cmnd_Alias      PKG = /usr/local/sbin/apt-get, /usr/bin/apt-cache
    Cmnd_Alias      SYS = /etc/init.d/, /sbin/halt, /sbin/reboot, /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod,  ! /etc/init.d/squid
    Cmnd_Alias      PRINT = /usr/sbin/lpc, /usr/bin/lprm
     
    # User privilege specification
    root    ALL=(ALL) ALL
     
    %sudo ALL=(ALL) NET, PKG, SYS, PRINT
    Pourriez-vous me dire quelles sont les lacunes, s'il y a plus simple... ?

    Idéalement, je souhaiterais donner tous les droits aux utilisateur (sans le su) et n'interdire que les commandes qui permetteraient de violer la règle. Interdire iptables serait-il suffisant ? J'ai peur par exemple qu'on puisse par l'installation d'un package exécuter un script d'installation qui puisse annuler la règle ?
    Avez-vous des suggestions dans ce sens ?

    Je vous remercie. 

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Il me semble que tous ces privilèges et toutes ces contraintes sont incompatibles.

    Tu veux donner des droits sur un petit bout du système et pas sur l'autre, il y aura nécessairement un trou dans la raquette.

    En relisant ta ligne "Cmnd_Alias SYS" dans le fichier sudo.conf, je voie 2 choses bizarres. D'abord l'entrée /etc/init.d/ ne sert à rien car c'est un répertoire et pas un exécutable et ensuite, tu autorises la commande "useradd".

    C'est par cette commande que je passerais pour créer un autre utilisateur avec un uid 0 (donc équivalent à root). A partir de là, avec ce nouvel utilisateur UID 0, je pourrais faire tout ce que je veux sur le système (y compris virer le filtrage iptable).

    Sur ta machine, il y a 2 choses, des serveurs d'infrastructure (squid=proxy) et des utilisateurs. En général, cela ne fait pas bon ménage. La machine qui héberge squid devrait être un serveur isolé avec aucune possibilité de connexion dessus (autre que root) et la règle de filtrage devrait être implémentée au niveau de ton routeur/firewall de sortie vers Internet afin de n'autoriser que la machine du proxy squid à sortir vers les ports 80 (et 443).

    Ainsi, la sécurité est indépendante des machines des utilisateurs (ou du petit malin qui débranche le poste officiel et qui branche sur le réseau son portable).
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/04/2014, 10h19
  2. accès web comme dans les hotels
    Par cyrianox dans le forum Debian
    Réponses: 3
    Dernier message: 19/04/2011, 15h31
  3. Réponses: 0
    Dernier message: 18/10/2010, 15h04
  4. [Security] sécuriser l'accès aux pages web
    Par marwa21 dans le forum Spring
    Réponses: 1
    Dernier message: 11/10/2010, 18h58
  5. Site ifrance: les répertoires et accès web
    Par rjl dans le forum Autres
    Réponses: 0
    Dernier message: 22/03/2008, 02h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo