Noalyss, Installation et configuration sur Linux Fedora 36 - trucs et astuces pour SELinux

Voici quelques trucs et astuces, pour l'installation et la configuration de Noalyss, sur un pc ou serveur Linux en distribution Fedora 36.

Notamment pour les réglages et mise au point du fonctionnement de Noalyss avec pour SELinux, pour la base de données en PostgreSQL, pour le code et les fichiers PHP, et pour le serveur Apache Httpd.

Configurer SELinux pour Noalyss

Les instructions à executer pour les points spécifiques à Apache HTTPD et PHP

Voici les instructions à executer.

$ sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/[chemin_acces_aux_fichiers_php_de_noalyss_pour_apache_httpd](/.*)?'
$ sudo restorecon -R -v '/var/www/[chemin_acces_aux_fichiers_php_de_noalyss_pour_apache_httpd]'
$ sudo setsebool -P httpd_can_network_connect_db 1
$ sudo setsebool -P httpd_can_network_relay 1

Exemple (pour être précis) : chemin_acces_aux_fichiers_php_de_noalyss_pour_apache_httpd = /var/www/noalyss
Ce qui donne :
$ sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/noalyss(/.*)?"

Ci-après, les explications.

Les instructions à executer pour les points spécifiques à PostgreSQL

Voici les instructions à exécuter.

$ sudo semanage fcontext -a -t postgresql_db_t "[chemin_acces_aux_data_postgresql_pour_noalyss](/.*)?"
$ sudo semanage port -a -p tcp -t postgresql_port_t 5433

Ci-après, les explications.

Explications des context, symptomes, et instructions en remèdes

Configuration de Noalyss sur une distribution Fedora de linux

Il y a ce post, sur le forum de Noalyss, qui explique déjà beaucoup de choses utiles.
Installation Noalyss sur Fedora 27

On est à la version 36 de Fedora, mais c'est pareil... je crois que rien n'a changé, par rapport aux explications données (pour ce que j'ai vu).

Ci-après, quelques autres explications, sur les instructions qui ne sont pas indiquées dans le post du forum.

Configuration de SELinux pour Apache HTTPD et PHP

Pour la partie Apache HTTPD et PHP, voir le post du forum indiqué au chapitre précédent.

Il y a ces deux instructions supplémentaires.

Pour l'instruction : setsebool ... httpd_can_network_connect_db

Pour cette instruction :
$ sudo setsebool -P httpd_can_network_connect_db 1

S'il y a un problème de connexion depuis Apache Httpd, PHP, php-fpm, sur la base de données PostgreSQL (port usuel : 5432).
Sans cela, pour se connecter, ça veut pas....

Pour le voir (diagnostiquer) :

  • Quand on veut démarrer Noalyss, on a une erreur de connexion qui s'affiche sur la page (dans le navigateur internet).
    Par exemple quand vous tentez de vous connecter avec l'utilisateur administrateur ou de base... et l'erreur apparait.
  • Faire un essai avec le "setenforce 0" de SELinux, pour constater que la connexion se fait quand le confinement par SELinux est désamorcés.
  • Remettre SELinux actif : "setenforce 1"
  • Faire un essai de connexion dans Noalyss
  • S'il y a l'erreur, aller voir dans le Journal de l'OS Linux
  • Pour cela, executez (dans un terminal shell) :
    sudo journalctl --since "2 minutes ago"
  • Vous devriez y voir une ligne qui ressemble à cela :
    "audit[387230]: AVC avc: denied { name_connect } for pid=387230 comm="php-fpm" dest=5432 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:postgresql_port_t:s0 tclass=tcp_socket permissive=0"

Cet article indique le problème et la solution :
Typically I Recommend You Disable SELinux...

Cet article de SackOverflow est bien aussi :
PostgreSQL 11 configurations doesn't allow pgAdmin4 to connect

Pour l'instruction : setsebool ... httpd_can_network_relay

Pour cette instruction :
$ sudo setsebool -P httpd_can_network_relay 1

Pour la fonction de mise à jour de version via l'interface de Noalyss.
Sans cette autorisation, on tombe sur le problème de :
"Désolé, impossible d'accéder au packages sur : https://package.noalyss.eu/"

Cela vient du fait que PHP se voit interdire de faire un appel pour aller chercher le fichier "https://package.noalyss.eu/web.xml"
Pour récupérer les infos de dernière version disponible, de dernier packages à installer s'il faut faire une mise à jour, etc...

On voit cela dans les logs de PHP et en allant voir le code du fichier PHP en cause.

L'instruction SELinux autorise PHP à faire cet appel via fopen.

Pour le voir (diagnostiquer) :

  • Aller à la page de Noalyss : Administration => Installation => Application. On a une erreur qui s'affiche sur la page (dans le navigateur internet).
  • Faire un essai avec le "setenforce 0" de SELinux, pour constater que la connexion se fait quand le confinement par SELinux est désamorcés.
    La version de l'installation actuelle, et celle de mise à jour proposée s'affichent.
  • Remettre SELinux actif : "setenforce 1"
  • Faire un essai à nouveau de la page. (rappeler la page dans le navigateur)
  • S'il y a l'erreur, aller voir dans le Journal de l'OS Linux
  • Pour cela, executez (dans un terminal shell) :
    sudo journalctl --since "2 minutes ago"
  • Vous devriez y voir une ligne qui ressemble à cela :
    "audit[387232]: AVC avc: denied { name_connect } for pid=387232 comm="php-fpm" dest=443 scontext=system_u:system_r:httpd_>"

Vous pouvez voir le problème sur les distributions Fedora/Centos/RedHat et les contournements proposés sur cette page :
Bug 1528722 - SELinux is preventing php-fpm from 'name_connect' accesses on the tcp_socket port 80.

Configuration de SELinux pour la base de données PostgreSQL

Pour les instructions qui sont proposées, tout est expliqué ici :
PostgreSQL et SELinux à l'ère de systemd - 2021-02-11

Pour savoir si le port d'écoute de PostgreSQL est correctement configuré (confiné) dans SELinux :

$ sudo semanage port -l | grep -i "543"

Pour des explications avancées sur la configuration de SELinux pour Postgre :
This chapter introduces the overview of SELinux, including its security design, model and facilities to help administration.
SEPostgreSQL SELinux Overview

Questions ?

Pour toute question, vous pouvez utiliser le forum de Noalyss, ou me contacter, ...
ou les deux : écrire votre question sur le forum, et me contacter pour me demander de répondre à la question sur le forum.

L'avantage de passer par le forum : votre question et ma réponse serviront peut être pour d'autres personnes.

Si éventuellement vous avez besoin d'une prestation pour vous aider à mettre Noalyss en service, ou à faire fonctionner votre serveur (maintenance, mises à jours, etc...),
vous trouverez les informations utiles là : www.gers-informatique.com.






Creative Commons License  Cette page du site www.Cool-Raoul.com vous est proposée par cool-raoul.com sous la licence Creative Commons Attribution-ShareAlike 4.0 International License.