SÉCURITÉ : "doas" alternative à "sudo" (vos avis)

Demande d'aide : c'est ici.
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:

Je découvre la commande doas

qui provient de BSD : doas(1) [Wiki -- OpenBSD]

doas(1)

doas a remplacé sudo à cause de failles de sécurité, base de code volumineuse et complexe.

doas est facile à configurer, à utiliser et convient dans la plupart des cas.

En plus de cela, il a un code source très petit taille et élégant.

La page Doas - Debian Wiki quand à elle, dit que :

doas fait 95% du job avec une fraction du code et potentiellement d'une façon plus sûre que sudo !



Je vous demande donc vos avis sur l'usage de doas



Pour mon usage personnel,
je n'ai pas d'expérience d'une véritable configuration de sudo
et doas étant présenté comme plus simple à configurer ;

je me pose la question de partir directement sur doas,
d'autant que mon besoin actuel n'est que de gérer les permissions d'un très petit nombre de comptes de sous-administrateurs,
que j'utiliserai moi-même (au moins dans un premier temps).

C'est donc juste pour m'éviter : su - lors d'une connexion SSH à un hôte distant.

Vue la concision des manuels doas (1) et doas.conf (5)

Je ne sais pas quoi en conclure :
  1. Génial ! Pour une fois un système super simple à mettre en place.
  2. Méfiance... c'est trop beau pour être bien.



Merci pour vos remarques et retours d'expérience.
**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

J'ai trouvé un peu plus à propos de doas et sudo

D'abord il y a plusieurs implémentations notamment OpenDoas - GitHub qui est celle utilisée par Debian et ArchLinux

Ici Reddit | Is doas a good alternative to sudo? où son développeur donne son avis sur son "bébé" (opendoas) ;-)

Sa conclusion :
In short - doas is smaller, easier to configure, less permissive, and has fewer features.

Traduction
En bref, doas est plus petit, plus facile à configurer, moins permissif et possède moins de fonctionnalités.


Je pense que jusqu'à avoir un avis contraire suffisamment convainquant,
ou une expérience malheureuse,
je vais utiliser doas pour les raisons énoncées précédemment :
  • plus léger (et moins de dépendances)
  • moins permissif (il faut configurer clairement ce que l'on souhaite permettre)
  • syntaxe de la configuration plus lisible (moins de risque d'erreur sur le résultat)
Les avis avisés restent les bienvenus... :003:
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
vv222
Membre actif
Membre actif
Messages : 852
Inscription : 18 avr. 2016, 20:14
Contact :
Status : Hors-ligne

Si tu n’as encore l’habitude d’aucun des deux, je pense que ça vaut le coup de te lancer sur doas.
Pour ma part je suis encore sur sudo et runuser, n’ayant pas pris le temps de me pencher sur le nouveau venu.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Premier (petit) retour :

Comme prévu suite à la lecture du manuel doas.conf (5)
la configuration de base /etc/doas.conf est assez simple.

Ce qui pourrait l'être moins et surtout plus laborieux, est que doas.conf :
  1. Ne prend pas en charge les expressions rationnelles (ER)
  2. si args est fourni avec une valeur, ces arguments doivent correspondre exactement pour les commandes passées avec doas.

Prenons par exemple apt-get

Code : Tout sélectionner

permit toto as root cmd apt-get
	(permet à toto toutes les commandes [cmd]apt-get ...[/cmd])
	
permit toto as root cmd apt-get	args update
	(permet à toto uniquement la mise à jour des listes)

permit toto as root cmd apt-get	args remove tree
	(permet à toto uniquement la suppression du paquet "tree")

En poursuivant avec apt-get
Je voulais un groupe "admins" d'utilisateurs capables d'installer et de supprimer n'importe quel logiciel
(on peut faire plus sélectif mais ce n'est qu'un exemple)


Pour cela je n'ai pas eu de meilleure idée que de passer par des scripts
que j'ai placé dans : /usr/local/bin/scripts

— je ne suis pas certain que ce soit le chemin le plus approprié —

Code : Tout sélectionner

/usr/local/bin/scripts/pkg-install.sh

#!/bin/bash
apt-get update ;
apt-get install "$1" ;
exit

Code : Tout sélectionner

/usr/local/bin/scripts/pkg-remove.sh

#!/bin/bash
apt-get remove "$1" ;
apt-get autoremove ;
apt-get autoclean ;
exit
Puis,
j'ai placé des liens :

Code : Tout sélectionner

toto@model:/usr/local/bin$ ls -l
total 4
lrwxrwxrwx 1 root root   37  6 nov.  11:16 pkg-install -> /usr/local/bin/scripts/pkg-install.sh
lrwxrwxrwx 1 root root   36  6 nov.  11:16 pkg-remove -> /usr/local/bin/scripts/pkg-remove.sh
drwxr-xr-x 2 root root 4096  6 nov.  11:13 scripts


Et finallement dans : /etc/doas.conf

Code : Tout sélectionner

# Admins 
permit :admins as root cmd pkg-install
permit :admins as root cmd pkg-remove
#
# ou
#permit :admins as root cmd /usr/local/bin/pkg-install
#permit :admins as root cmd /usr/local/bin/pkg-remove
#
Note : Pour l'utilisation il faut passer la même commande/chemin exactement ; le chemin complet étant recommandé dans le manuel.



J'ai d'abord (naïvement) testé d'ajouter dans /root/.bashrc des alias et des fonctions,
mais cela n'a pas fonctionné.


Voilà où j'en suis,
si vous avez une meilleure méthode, vous êtes les bienvenus !
**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

Autre alternative à SUDO : PLEASE

please est fourni par le paquet pleaser

please est présenté comme un clone de sudo qui accepte les expressions rationnelles (regex)
dans son fichier de configuration : please-ini

Même pour moi, qui ne suis pas un craque, ça me paraît assez abordable.
**Simple Utilisateur** -- Debian stable - XFCE
Répondre