Réglage des Politiques SELinux |
Si la distribution utilisée de Linux inclut SELinux (Linux sécurisé), vous devrez peut-être configurer les politiques de sécurité de SELinux pour permettre un fonctionnement correct des composants (par exemple, le fonctionnement du moteur de scan) après leur installation. 1. Problèmes d’installation du package universel Si SELinux est autorisé, l’installation depuis le fichier d’installation (.run) peut échouer parce que la tentative de création de l’utilisateur drweb, sous lequel les composants de Dr.Web pour Linux fonctionnent, peut être bloquée. En cas d’échec, vérifiez le mode opératoire de SELinux via la commande getenforce. La commande affiche un des modes suivants: •Permissif – la protection est active mais une stratégie permissive est mise en place : les actions qui violent la politique de sécurité ne sont pas rejetées mais les informations sur ces actions sont journalisées. •Restrictif – la protection est active et une stratégie restrictive est mise en place : les actions qui violent les politiques de sécurité sont bloquées et les informations sur ces actions sont journalisées. •Désactivé – SELinux est installé mais non actif. Si SELinux opère en mode Restrictif, passez en mode Permissif pour la durée d’installation du produit. Pour cela, utilisez la commande setenforce 0 qui autorise temporairement (jusqu’au prochain redémarrage) le mode Permissif pour SELinux.
Après l’installation réussie du produit, activez de nouveau le mode Restrictif pour SELinux avant de lancer le produit. Pour cela, utilisez la commande setenforce1. 2. Problèmes de fonctionnement Dans certains cas, lorsque SELinux est autorisé, certains modules auxiliaires de Dr.Web pour Linux (par exemple drweb-se et drweb-filecheck utilisés par le Scanner) ne peuvent pas démarrer. Si c’est le cas, le scan des objets et la surveillance du système de fichiers deviennent indisponibles. Lorsqu’un module auxiliaire échoue à démarrer, la fenêtre principale de Dr.Web pour Linux affiche des messages sur les erreurs 119 et 120 et des informations sur ces erreurs sont également enregistrées par syslog (le log est généralement placé dans le répertoire /var/log/).
Les messages de SELinux sont enregistrés dans les logs du système. En général, lorsque le daemon audit est utilisé dans le système, le fichier de log audit est /var/log/audit/audit.log. Sinon, les messages sur les opérations bloquées sont sauvegardés dans le fichier de log général dans /var/log/messages.
Pour créer les politiques requises 1.Créez un nouveau fichier avec le code source de la politique SELinux (.te). Ce fichier définit les restrictions appliquées au module. Le code source de la politique peut être indiqué d’une des façons suivantes : 1)En utilisant l’utilitaire audit2allow, qui est la méthode la plus simple. L’utilitaire génère des règles permissives depuis les messages de déni d’accès dans les fichiers de log du système. Vous pouvez paramétrer de rechercher les messages automatiquement ou indiquer un chemin vers le fichier de log manuellement. Notez que vous pouvez utiliser cette méthode uniquement si Dr.Web pour Linux a violé les politiques de sécurité de SELinux et que ces événements sont enregistrés dans le fichier de log audit. Si ce n’est pas le cas, attendez qu’un incident survienne ou créez de force des politiques permissives en utilisant l’utilitaire policygentool (voir ci-dessous).
Exemple d’Utilisation : # grep drweb-se.real /var/log/audit/audit.log | audit2allow -M drweb-se Dans l’exemple donné, l’utilitaire audit2allow effectue une recherche dans le fichier audit.logpour trouver les messages de déni d’accès pour le module drweb-se. Les deux fichiers suivants sont créés : le fichier source de la politique drweb-se.te et le module de la politique drweb-se.pp prêt à l’installation. Si aucun incident de violation de la sécurité n’est trouvé dans le log audit du système, l’utilitaire remonte un message d’erreur. Dans la plupart des cas, vous n’avez pas besoin de modifier le fichier de la politique créé par l’utilitaire. Par conséquent, il est recommandé d’aller à l’étape 4 pour installer le module de la politique drweb-se.pp. Notez que l’utilitaire audit2allow affiche l’appel à la commande semodule. En copiant ce qui s’affiche en ligne de commande et en l’exécutant, vous terminez l’étape 4. Allez à l’étape 2 seulement si vous souhaitez modifier les politiques de sécurité qui ont été automatiquement générées pour les composants de Dr.Web pour Linux. 2)Utiliser l’utilitaire policygentool. Pour cela, indiquez le nom du module avec lequel vous souhaitez configurer et le chemin complet vers le fichier exécutable.
Exemple de création de politique via policygentool: opour drweb-se (utilisé par le moteur antivirus): # policygentool drweb-se /opt/drweb.com/bin/drweb-se.real opour drweb-filecheck (utilisé par le Scanner): # policygentool drweb-filecheck /opt/drweb.com/bin/drweb-filecheck.real Vous serez invité à indiquer plusieurs caractéristiques de domaine commun. Ensuite, trois fichiers déterminant la politique seront créés pour chacun des modules: <nom_du_module>.te, <nom_du_module>.fc and <nom_du_module>.if. 2.Si nécessaire, modifiez le fichier source de la politique généré <nom_du_module>.te puis utilisez l’utilitaire checkmodule pour créer un mappage binaire du fichier source de la politique locale (fichier .mod).
Exemple d’Utilisation # checkmodule -M -m -o drweb-se.mod drweb-se.te 3.Créez un module de politique installé (fichier .pp) grâce à l’utilitaire semodule_package. Exemple # semodule_package -o drweb-se.pp -m drweb-se.mod 4.Pour installer le module de politique créé, utilisez l’utilitaire semodule. Exemple # semodule -i drweb-se.pp Pour en savoir plus sur le fonctionnement et la configuration de SELinux, consultez la documentation sur la distribution de Linux utilisée. |