Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
txs:secup19 [2019/05/16 10:54]
cbarrete
txs:secup19 [2019/06/18 20:20] (Version actuelle)
cbarrete ajout bilan
Ligne 1: Ligne 1:
-======TX Sécu P19======+TX Sécu P19 
 + 
 +## Objectifs de la TX 
 + 
 +Cette TX s'​inscrit dans la continuité de [[txs:​infra-a18:​securite|celle de A18]]. 
 +Elle avait pour but d'​évaluer les résultats de celle-ci et d'​améliorer la sécurité 
 +de l'​infrastructure par la mise en place de nouvelles procédures et solutions 
 +techniques. 
 + 
 +Notre journal de bord, rempli tout au long de la TX, est disponible [[secup19-jdb|ici]]. 
 + 
 + 
 + 
 +## Actions effectuées au cours de la TX : 
 +Au cours de cette TX, nous avons effectuées les actions suivantes : 
 + 
 +- Identification des points à étudier. 
 +- Préconisation de limiter les accès root sur les machines. 
 +- Correction de nombreuses permissions erronées au niveau des services. 
 +- Étude des possibilités de restriction du démon docker (voir [[txs:​secup19#​restriction_de_docker_avec_systemd|plus bas]]). 
 +- Mise en place d'un démon d'​audit permettant une traçabilité des actions réalisées sur les machines. 
 +- Centralisation des logs du démon d'​audit. 
 +- Initiation à `tmux` des membres présents lors de la soutenance et création d'une [[:​tmux|page dédiée]] dans le wiki 
 + 
 + 
 +## Périmètre 
 + 
 +L'​audit a concerné toutes les VM de l'​infrastructure à l'​exception de celle de 
 +Stéphane Crozat. Nous avons aussi bien traité les menaces venant de l'​extérieur 
 +que de l'​intérieur. Pour ces dernières, le but était surtout d'​éviter les 
 +accidents, notamment en production, plutôt que de considérer que les membres de 
 +Picasoft aient des intentions malveillantes. 
 + 
 +L'​audit individuel des services a été fait moins en profondeur, la CI servant à 
 +s'​assurer de l'​absence de vulnérabilité dans leur déploiement. 
 + 
 +Il a cependant été décidé que les machines appartenant aux membres de Picasoft 
 +ne faisaient pas partie du périmètre de l'​audit. Ainsi, leur gestion de leurs 
 +clefs SSH et du `pass` relèvent exclusivement de leur responsabilité. 
 + 
 +## Permissions 
 + 
 +Nous avons observé que tous les membres de l'​association avaient les droits 
 +`root` sur l'​infrastructure,​ notamment en production. Cela va à l'​encontre du 
 +principe de moindre privilège et facilite les erreurs (`sudo` un peu trop léger, 
 +`poweroff` dans le mauvais terminal, etc.). La raison de cette distribution 
 +large des droits `root` était que n'​importe quel utilisateur pouvant contrôler 
 +Docker a indirectement accès aux droits `root` puisqu'​il peut notamment modifier 
 +librement le système de fichiers de l'​hôte en temps que `root` en le montant 
 +dans un conteneur. Cependant, un tel comportement est suspicieux et n'​arrive pas 
 +par accident. 
 + 
 +Les droits `root` ont donc été remplacés en production par un ajout au groupe 
 +`docker`, qui est suffisant pour administrer les conteneurs. Certains membres 
 +comme le président et le responsable technique conservent toutefois les droits 
 +`root` pour les tâches d'​administration. Les droits additionnels sont ensuite 
 +accordé aux membres en ayant besoin, qui endossent alors les responsabilités 
 +associées. Cette politique n'est pas arrêtée et peut évoluer en fonction des 
 +besoins de l'​association et de ses membres ainsi que des problèmes 
 +éventuellement rencontrés après sa mise en place. 
 + 
 +## Corrections mineures 
 + 
 +### Permissions excessives 
 + 
 +Les permissions de nombreux fichiers et répertoires sur tous les hôtes étaient 
 +incorrects pour différentes raisons. Nous avons notamment trouvé des mots de 
 +passe en clair lisible par tout le monde, des fichiers de configuration 
 +inscriptibles par tout le monde et des fichiers exécutables modifiables par les 
 +utilisateurs des services. 
 + 
 +Nous les avons corrigées en les restreignant au maximum tout en laissant la 
 +majorité des fichiers de configuration lisibles aux membres de l'​association 
 +pour des raisons pédagogiques. 
 + 
 +### Suppression de services 
 + 
 +Nous avons supprimé plusieurs services abandonnés : une instance n'​étant plus 
 +fonctionnelle de Giphy pour Mattermost, un serveur fantôme Minetest présent sur 
 +le serveur de production, et le site inutilisé Wordpress de Compiègne en transition. 
 + 
 +### Modifications de configuration 
 + 
 +Nous avons modifié les configuration SSH de tous les hôtes afin d'​interdire le 
 +forwarding X jusque là permis. Aucun des hôtes ne fait a priori tourner de 
 +serveur X, mais Xorg pourrait éventuellement être un jour installé,​ 
 +éventuellement en temps que dépendance pour un autre paquet. Xorg étant une 
 +vaste surface d'​attaque,​ nous avons décidé de totalement interdire le forwarding 
 +X. 
 +Nous avons également modifié les droits des journaux générés par `rsyslog` à 
 +`root:​sudo`,​ les administrateurs devant pouvoir y avoir accès appartenant au 
 +groupe `sudo`. 
  
 ## Restriction de Docker avec systemd ## Restriction de Docker avec systemd
Ligne 41: Ligne 133:
 utilisateurs auxquels on confierait aussi `root`. Il n'y a donc utilisateurs auxquels on confierait aussi `root`. Il n'y a donc
 vraisemblablement pas de solution officielle à notre besoin. vraisemblablement pas de solution officielle à notre besoin.
 +
 +## auditd
 +
 +Nous avons mis en place `auditd` sur tous les hôtes de l'​infrastructure,​ avec une centralisation sur `monitoring`. Tous les détails sont disponibles sur la [[:​auditd|page dédiée]], et les informations relatives à la centralisation des logs peuvent êtres trouvées [ici](:​centralisation_logs).
 +
 +
 +
 +## tmux
 +
 +Nous avons proposé une initiation à `tmux` lors de notre soutenance et avons crée une [[:​tmux|page dédiée]]. Nous préconisons notamment son utilisation lors des mises à jour, afin qu'une terminaison imprévue de connexion `ssh` ne laisse pas le système dans un état instable.
 +
 +# Bilan de la TX
 +
 +Bien que les objectifs de la TX aient évolué (nous n'​avons ainsi pas
 +effectué de tests d'​intrusion) en raison des anomalies que nous avons
 +rencontrées sur l'​infrastructure,​ nous avons avons accompli ce qui nous
 +a été demandé.
 +
 +Les solutions techniques mises en place sont solides, maintenables et
 +documentées et nous avons corrigé tous les problèmes que nous avons
 +rencontré sur l'​infrastructure.
 +
 +Nous sommes également satisfaits des procédures mises en place. Elles
 +sont à la fois juste et efficaces, bien qu'​elles doivent encore être
 +acceptées par l'​ensemble de l'​association.
 +
 +Pour que notre installation du système de centralisation soit complète,
 +il ne manque que les certificats nécessaire à l'​authentification TLS,
 +qui seront générés par un membre de l'​association.
  • txs/secup19.1558004082.txt.gz
  • Dernière modification: 2019/05/16 10:54
  • par cbarrete