Sécurité : Définir une stratégie globale

On y discute de tout, ou presque...
Répondre
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Bonjour, :006:

J'ai besoin d'aide pour définir un plan de sécurisation de mes activités.

Comme je ne suis qu'un simple utilisateur qui ignore presque tout de ce qui se cuisine en arrière-boutique,
j'aborde le problème de mon point de vue,
c'est à dire "superficiellement" au sens propre (en restant à la surface du système).

Mes investigations et cogitations me conduisent au concept suivant :

Étant donné que :
  1. Les solutions de types antivirus ont toujours une guerre de retard.
  2. Que tous les rempares sont potentiellement contournables.
J'en arrive à la conclusion que la situation la plus facilement tenable est de cloisonner le système en 2 zones :
  • Sûre
  • Non-Sûre
La zone "Sûre" contient le système et les fichiers qui y sont créés en interne.
Cette zone n'a qu'un seul accès vers l'extérieur : APT uniquement vers les dépôts stable Debian.

La zone "Non-Sûre" étant le reste du monde,
ce qui inclue les partitions pouvant recevoir des données venant de l'extérieur.

Bien sûr les mesures de durcissement "classiques" :
  • Cloisonnement, c'est l'idée de base
  • Minimisation de la surface
  • Moindres privilèges
  • Mots de passe forts et bien gérés
  • Pare-feu
  • AppArmor
  • Firejail
  • Discipline et bonnes pratiques de l'utilisateur (unique)
Le but étant d'administrer sereinement des serveurs distants depuis un poste de travail physiquement bien protégé.
Par "sereinement" j'entends sans crainte de compromettre le(s) serveur(s) via un poste de travail lui-même compromis.

Je ne l'ai pas déjà précisé,
mais le poste de travail et le(s) serveur(s) sont sous Debian stable
et n'utilisent que des paquets paquets provenant de main
sauf firmwares non-free incontournables
.

Cela peut se résumer par ce schéma :

Image


Mon premier questionnement :

Cette approche vous semble-t-elle soutenable ?



Mon second questionnement :

Comment mettre cela en place simplement et efficacement ?


Pour isoler les usages sûrs / risqués,
j'ai envisagé l'usage de 2 utilisateurs "Trusty" et "Risky" sur le poste de travail.

Trusty étant en fait l'utilisateur classique
et
Risky un "sous-utilisateur" : le pendant de root à moindres privilèges.

Dans cette conception Trusty utiliserait : $ su Risky
pour des interactions avec la zone "non-sûre" ou l'extérieur,
de la même manière qu'il utilise su - pour les tâches d'administration système.

Mais sans savoir vraiment pourquoi,
cela ne me semble pas pleinement satisfaisant,
j'ai la sensation d'une complication supplémentaire et inutile.


Autres pistes envisagées :
  • Qubes OS a été testé et jugé pour lourd au niveau des ressources et pas très pratique à l'usage.
  • Docker => Conteneurs plus adaptés à des applications serveur qu'à des applications graphiques dans un environnement de Bureau.
J'ai aussi testé brièvement l'usage par l'utilisateur "normal" de apparmor + firejail
en utilisant firecfg pour généraliser l'usage des bacs à sable,
mais cela, par défaut, restreint drastiquement les accès.

P.ex:
Geany (mon éditeur favori) n'a plus accès qu'à ${HOME} et encore partiellement.
Et je ne suis pas parvenu à désactiver ou à surcharger la configuration par défaut,
afin de l'adapter à mes besoins.


Voilà, je sens confusément que ça coince quelque-part,
et j'espère que vos remarques me permettront de préciser la voie à suivre.


Notez que ce questionnement devrait aussi concerner la majorité des utilisateurs.
Je suis même un peu surpris que ce sujet ne soit pas le standard N°2 des tutos "Tous publics" après :
"Comment installer son système ..."



Merci.
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 4935
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

MA proposition:
- Risky, une debian classique
- Trusty: une VM (debian, ou un BSD), trés dépouillée, avec uniquement ssh, apt d'autorisé à sortir (pas de navigateur, courielleur d'installer)

Tu n'utilises trusty que pour l'administration des serveurs.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Bien que ce soit rare,
je me sens obligé de mettre en doute ta proposition. :crazy:

Car, comme tu me l'as transmis dans une précédente discussion,
si le système hôte est compromis, alors la VM n'est pas sûre.

Donc si l'hôte est "Risky" ... c'est foutu d'avance !

Ce qui est confirmé par le guide de l'ANSSI :
RECOMMANDATIONS RELATIVES À L'ADMINISTRATION SÉCURISÉE DES SYSTÈMES D'INFORMATION (Chapitre 4)
anssi_dual_admin_workstation-1.png

J'aurais volontiers pensé que la situation inverse était plus favorable,
mais selon le même guide ce serait aussi une mauvaise solution.
anssi_dual_admin_workstation-2.png

Je suppose tout de même que :
si on utilise VBox chapeauté par AppArmor/Firejail,
la VM étant placée sur un Volume Logique dédié,
alors on pourrait tout de même compter sur une relative sécurité.

En plus on peut avec régularité réutiliser un nouveau clone de cette VM
et repartir ainsi sur une page blanche.


Pour revenir au cas idéal de la figure 4.2 :
anssi_dual_admin_workstation.png

Comment peut-on mettre en place cette configuration ?

Cela ne revient-il pas à ce que propose Qubes OS avec Xen ?


.... je continue à creuser la question :017:
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 4967
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : En ligne

Tu prépare un attentat ? :003:
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Ça-y-est ... je suis grillé ! :013:
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 4935
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

Ce que je te propose, c'est une solution simple à mettre en oeuvre et à utiliser. Forcément , le niveau de sécurité n'est pas des plus élevé.
Pour améliorer un peu, tu peux mettre en hote un systeme minimal, (j'ai oublié le nom, le même que dans Qube OS).
Ensuite une VM debian pour risky, et un *BSD minimal pour trusty
les *BSD étant réputés plus surs et moins répandus que linux, ça diminue encore les probabilités de piratage.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Je comprends que tu me proposes d'aller au plus simple et je te remercie pour ça.

L'idée du BSD est aussi très bonne,
mais il faudrait que je m'y mette sérieusement,
car j'ai déjà fait un test et sans que cela soit d'un autre monde,
il y a tout de même une adaptation nécessaire pour passer de Debian à BSD.



Une autre possibilité que je vais tester :

Un dual-boot en installant chaque système sur un Groupe de LV dédié dont le Volume Physique est une partition primaire chiffrée.

De cette manière, il n'y a que la partition EFI qui soit partagée.
On doit pouvoir configurer pour qu'elle soit démontée juste après le boot,
et
le système qui tourne ne peut pas accéder aux FS de l'autre,
vu que la partition est chiffrée.


Sinon,
la meilleure solution et la plus simple (si on ne compte pas le matos),
c'est d'avoir une machine dédiée uniquement à l'administration.

Ça pourrait être un mini-PC Single Board Computer si possible Libre et pas cher.

En attendant si la solution dual-boot ne fonctionne pas bien,
j'ai un vieux PC qui fera le job.
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Quelques nouvelles du front ...

J'ai opté pour la dernière stratégie évoquée, à savoir :

Sur 2 postes (fixe ; portable) des installations en dual-boot (2x debian) de :
  • Système ADMIN
  • Système OFFICE
De cette manière, j'aurais toujours un poste disponible pour une tâche ou une autre.

Ces systèmes sont installés sur des volumes cryptés LUKS
cela donne un partitionnement de base comme suit :

Code : Tout sélectionner

sda                                                                                                       
├─sda1		vfat			EFI
├─sda2		ext2			ADM_BOOT
├─sda3		crypto_LUKS		ADM_SYSTEM
├─sda4		ext2			OFF_BOOT
├─sda5		crypto_LUKS		OFF_SYSTEM
└─sda6		crypto_LUKS		DATA              
Chaque système a sa propre partition "BOOT" et la partition EFI (unique) est utilisée par les 2 systèmes en : /boot/efi
Le volume "DATA" contient les fichiers stockés pour OFFICE.


Pour chaque système le volume chiffré (LUKS) contient un jeu de Volumes Logiques (LVM).
Cette configuration peut être entièrement mise en place via l'option de Partitionnement manuel de l'installateur Debian


Avec cette configuration (mis à part ouverture volontaire) le système en cours d'usage ne peut avoir accès aux données de l'autre système.

Le seul moment où il est nécessaire de déchiffrer simultanément les 2 volumes systèmes est pour installer/mettre à jour GRUB.

Chaque système doit être configuré/durci individuellement en fonction des exigences de l'utilisation.

La meilleure méthode reste sans conteste d'avoir une machine dédiée à l'Administration de chaque SI.

Mais pour mes modestes besoins et jusqu'à en atteindre les limites,
je vais rester sur ce choix.

:006:
**Simple Utilisateur** -- Debian stable - XFCE
Répondre