
Un outil d'audit de sécurité UNIX basé sur plusieurs frameworks de sécurité.

Audit et rapport de verrouillage UNIX
Version actuelle 15.9.3
Reportez-vous à lunar.sh et CHANGELOG.md pour des informations de version plus à jour
CC BY-NC-SA : https://creativecommons.org/licenses/by-nc-sa/4.0/
Financez-moi ici : https://ko-fi.com/richardatlateralblast
Exécutez ce code en mode audit uniquement, par exemple avec l'option -a ou --audit. Exécutez le verrouillage à vos propres risques. Comme pour toute modification système, faites des sauvegardes. Je travaille à l'amélioration du mode de récupération, mais il peut encore y avoir des bugs.
J'ai essayé de nettoyer ce script autant que possible avec shellcheck, et j'ai activé l'option d'utiliser les flags shell -e (errexit) et -u (nounset) pour aider à se protéger contre les erreurs. Le flag shell -x (xtrace) peut être activé en utilisant le script avec l'option -Q ou --debug.
En cours :
Ce script génère un rapport d'audit noté de la sécurité d'un hôte Unix. Il est basé sur le CIS et d'autres référentiels. Lorsque c'est possible, des références au CIS et à d'autres benchmarks figurent dans la documentation du code.
Pourquoi un script shell ? Je voulais un outil capable de s'exécuter sur des systèmes verrouillés où d'autres outils peuvent ne pas être disponibles. Je voulais aussi un outil qui fonctionne sur toutes les versions d'UNIX. Cela dit, il y a quelques différences entre sh et bash, donc je n'ai utilisé que des fonctions de sh.
Aucune garantie implicite ou explicite n'est fournie avec ce script. Ma recommandation est d'utiliser ce script en mode audit uniquement, et de traiter chaque avertissement individuellement via la politique, la documentation et la gestion de configuration.
Je ne suis en aucun cas un développeur, donc il y aura forcément des bugs et de meilleures façons d'aborder les choses dans ce script, donc un sincère merci aux personnes qui ont fourni des retours, des mises à jour et des patches pour corriger des bugs/fonctionnalités dans le code.
Il peut aussi effectuer un verrouillage. Contrairement à certains autres scripts, j'ai ajouté la capacité d'annuler les modifications. Les fichiers sont sauvegardés à l'aide de cpio dans un répertoire basé sur la date.
Bien qu'il puisse effectuer un verrouillage, comme indiqué précédemment, je vous recommande de traiter les avertissements via la politique, la documentation et la gestion de configuration. C'est ainsi que j'utilise l'outil. L'audit des services AWS ne prend en charge que le reporting, il ne fournit pas de capacité de verrouillage.
Les systèmes d'exploitation suivants sont pris en charge :
Le support de Windows nécessiterait l'installation de logiciels supplémentaires, donc je ne m'y suis pas penché. Cela dit, le support de Windows pourrait arriver à l'avenir via bash.
Les services suivants sont pris en charge :
L'audit des services AWS utilise l'AWS CLI, et nécessite donc un utilisateur disposant des droits appropriés. Il ne prend actuellement pas en charge la capacité de verrouillage, il ne prend en charge que la génération d'un rapport d'audit par rapport au benchmark CIS.
Il y a quelques vérifications qui ne peuvent être effectuées ou résolues que via l'interface graphique. Un exemple est l'activation de la facturation. Reportez-vous au benchmark CIS pour plus d'informations.
Lorsque c'est possible, j'ai mis des commandes de correction suggérées dans la sortie d'audit verbeuse. Là encore, dans certains cas, celles-ci ne peuvent être effectuées que par la CLI. Reportez-vous au benchmark CIS pour plus d'informations.
De plus, j'ai ajouté un mode de recommandations qui vérifie AWS par rapport aux bonnes pratiques publiquement disponibles d'entreprises comme Cloud Conformity.
La sortie de gestion de configuration suivante est prise en charge :
Cette option génère des exemples de code/stanzas de gestion de configuration ansible pour mettre en œuvre la recommandation.
Pour UNIX :
Pour AWS :
Pour Azure :
Usage: ./lunar.sh -switch|--switch