Fedora-Fr - Communauté francophone Fedora - Linux

Communauté francophone des utilisateurs de la distribution Linux Fedora.

  

Dernière news : Fedora 34 n'est plus maintenu

#1 21/10/2014 22:14:00

anche
Membre
Inscription : 21/09/2014
Messages : 261

[Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

Est-il possible d'ouvrir un autre port SSH que le port standart? tout conservant les règles SELinux de type Enforcing   (Edition le 24/10et en maintenant le port 22).

Je souhaite conserver le type Enforcing et ne pas passer en mode Permissif; ceci de manière à ne pas être embêté par ces histoires d'étiquettes sur des nouveaux fichiers crées qui pourraient ne plus être accessible pour certains processus.

Sauf erreur l'interface graphique de SELinux (system-config-selinux) ne le permet pas donc il faudrait alors obligatoirement changer de mode?
Ou alors si c'est possible il faut tout désactiver puis changer les règles et ensuite réactiver SELinux qui re-étiquete les fichiers.

Dernière modification par anche (24/10/2014 20:13:21)


F23

Hors ligne

#2 21/10/2014 22:52:43

marc2006
Membre
Inscription : 31/05/2007
Messages : 1 425

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

Suffit de dire à SELinux que tu changes de port =)

semanage port -a -t ssh_port_t -p tcp portnumber

Hors ligne

#3 21/10/2014 22:58:31

anche
Membre
Inscription : 21/09/2014
Messages : 261

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

Je ne change pas de port, j'en ajoute un supplémentaire pour éviter de changer de port à chaque fois que besoin.
Avec l'interface graphique c'est refusé si je conserve le mode Enforcing ou alors il faut passer en UDP.

Au niveau du pare-feu 443 et 22 sont ouverts mais il y a une restriction SELinux sur 443

 systemctl status sshd.service
sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: active (running) since mar. 2014-10-21 20:35:26 CEST; 2h 28min ago
 Main PID: 1012 (sshd)
   CGroup: /system.slice/sshd.service
           └─1012 /usr/sbin/sshd -D

oct. 21 20:35:26 localhost.localdomain systemd[1]: Starting OpenSSH server da...
oct. 21 20:35:26 localhost.localdomain systemd[1]: Started OpenSSH server dae...
oct. 21 20:35:29 localhost.localdomain sshd[1012]: error: Bind to port 443 on...
oct. 21 20:35:29 localhost.localdomain sshd[1012]: error: Bind to port 443 on...
oct. 21 20:35:29 localhost.localdomain sshd[1012]: Server listening on 0.0.0....
oct. 21 20:35:29 localhost.localdomain sshd[1012]: Server listening on :: por...
oct. 21 20:35:48 localhost.localdomain python[1188]: SELinux is preventing /u...
                                                     
                                                     *****  Plugin catchall (...
oct. 21 20:35:48 localhost.localdomain python[1188]: SELinux is preventing /u...
                                                     
                                                     *****  Plugin catchall (...
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost fil]# 
  

On part du principe que c'est pour faire écouter SSH sur 443 pour bypasser un proxie au travail 

EDIT ; la question est bien de conserver le mode Enforcing si c'est possible?

Dernière modification par anche (21/10/2014 23:51:20)


F23

Hors ligne

#4 21/10/2014 23:39:35

anche
Membre
Inscription : 21/09/2014
Messages : 261

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

On peut rien faire en mode Enforcing, même pas supprimer le port standart 22.
xaiz.png




Idem en console pour mettre le port 443  c'est refusé et après avoir vérifié par la commande [systemctl status sshd.service]
semanage port -a -t ssh_port_t -p tcp 443

Dernière modification par anche (21/10/2014 23:50:42)


F23

Hors ligne

#5 22/10/2014 09:10:03

marc2006
Membre
Inscription : 31/05/2007
Messages : 1 425

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

Ben pourquoi tu veux le virer ? Laisse le port 22 dans la config SELinux ^^
Sinon en root en lançant ma commande, ca ne marche pas ? T'as une erreur dans le terminal ? (reste en TCP pas UDP dans ta config ssh !)

Dernière modification par marc2006 (22/10/2014 09:11:47)

Hors ligne

#6 22/10/2014 20:14:41

anche
Membre
Inscription : 21/09/2014
Messages : 261

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

 [fil@localhost ~]$ su
Mot de passe : 
[root@localhost fil]# semanage port -a -t ssh_port_t -p tcp 443
ValueError: Port tcp/443 already defined
 

Idem même message en utilisant le mode graphique.
c7wb.png


Le message d'erreur est valable pour n'importe quel autre port.

C'est sans doute du au mode Enforcing. En tout cas normalement on peut bien supprimer le port ssh pour un autre.
Si je lis la doc il faudrait changer de mode pour passer au mode permissif.

Dernière modification par anche (22/10/2014 20:33:57)


F23

Hors ligne

#7 22/10/2014 20:33:50

pingou
Fedora Addict
Lieu : Toulouse
Inscription : 30/03/2006
Messages : 3 843
Site Web

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

le port 443 est déjà pris pour apache, au lieu d'ajouter un port, vois si tu peux le mettre à jour


On a pas inventé l'électricité en cherchant à améliorer la bougie...
-- Si c'est pas sur le bugzilla, c'est pas un bug ! --

Hors ligne

#8 22/10/2014 20:34:45

Heldwin
version 329521
Inscription : 07/10/2008
Messages : 4 334

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

Le problème est que le port 443 est déjà défini (comme indiqué dans le message).
Donc ça lui pose un problème de faire ça.

Il faudrait voir pour changer le port du https (443) avant de changer celui de ssh.

edit: pingou a été plus rapide ^^

J'ai changé le port ssh, mais je l'ai mis sur un port libre

Dernière modification par Heldwin (22/10/2014 20:35:56)


"The only way to achieve the impossible is to believe it’s possible"

Hors ligne

#9 22/10/2014 20:37:19

anche
Membre
Inscription : 21/09/2014
Messages : 261

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

Oui mais même si je choisi un autre port, le 1234 par exemple pour SSH : SELinux refuse un nouveau port.
Donc je crois que seul le mode permissif permet d'attribuer l'ouverture de ports autres que ceux prédéfinis dans le contexte Enforcing par SELinux.

Edition: bon je vais changer le port du https (443) avant de changer celui de ssh

Dernière modification par anche (22/10/2014 20:39:36)


F23

Hors ligne

#10 22/10/2014 20:38:00

marc2006
Membre
Inscription : 31/05/2007
Messages : 1 425

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

Donc je suppose que

semanage port -m -t ssh_port_t -p tcp 443

également ne fonctionnera pas !?

Sinon, oui tente un autre port, supérieur à 1023 ...

edit : non selinux permet la modification des objets sans changement de statut =)

semanage port -l | grep ssh

te donne quoi ?

systemctl restart sshd.service

!!

Dernière modification par marc2006 (22/10/2014 20:43:21)

Hors ligne

#11 22/10/2014 20:42:00

anche
Membre
Inscription : 21/09/2014
Messages : 261

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

 [root@localhost fil]# semanage port -m -t ssh_port_t -p tcp 443
[root@localhost fil]# systemctl status sshd.service
sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: active (running) since mer. 2014-10-22 19:54:35 CEST; 46min ago
  Process: 1105 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)
 Main PID: 1118 (sshd)
   CGroup: /system.slice/sshd.service
           └─1118 /usr/sbin/sshd -D

oct. 22 19:54:35 localhost.localdomain systemd[1]: Starting OpenSSH server daemon...
oct. 22 19:54:35 localhost.localdomain systemd[1]: Started OpenSSH server daemon.
oct. 22 19:54:36 localhost.localdomain sshd[1118]: error: Bind to port 443 on 0.0.0.0 fail...d.
oct. 22 19:54:36 localhost.localdomain sshd[1118]: error: Bind to port 443 on :: failed: P...d.
oct. 22 19:54:36 localhost.localdomain sshd[1118]: Server listening on 0.0.0.0 port 22.
oct. 22 19:54:36 localhost.localdomain sshd[1118]: Server listening on :: port 22.
oct. 22 19:54:53 localhost.localdomain python[1157]: SELinux is preventing /usr/sbin/sshd ... .
                                                     
                                                     *****  Plugin catchall (100. confidence...
oct. 22 19:54:53 localhost.localdomain python[1157]: SELinux is preventing /usr/sbin/sshd ... .
 

Idem pour le port 1234 il n'est pas pris en compte.

Dernière modification par anche (22/10/2014 20:45:24)


F23

Hors ligne

#12 22/10/2014 20:44:18

Heldwin
version 329521
Inscription : 07/10/2008
Messages : 4 334

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

semanage port -m -t ssh_port_t -p tcp 443

fonctionne chez moi, mais je n'ai rien qui est lancé sur le port 443

shd[1118]: error: Bind to port 443 on 0.0.0.0 fail...d.

ce qui voudrait dire qu'un service utilise déjà le port 443

Que retourne:

netstat -talupen | grep 443

?

Dernière modification par Heldwin (22/10/2014 20:54:23)


"The only way to achieve the impossible is to believe it’s possible"

Hors ligne

#13 22/10/2014 20:45:29

marc2006
Membre
Inscription : 31/05/2007
Messages : 1 425

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

Par défaut, apache n'écoute pas sur le port 443 ... si je ne me trompe pas.

Sinon anche, tu fais un systemctl status mais avant il faut redémarrer le service ssh pour que les modifications soient prises en compte

systemctl restart sshd.service

Heldwin a trouvé la commande que je cherchais ^^

Dernière modification par marc2006 (22/10/2014 20:47:09)

Hors ligne

#14 22/10/2014 20:47:32

anche
Membre
Inscription : 21/09/2014
Messages : 261

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

Je vais repartir du message de Marc2006 et donner les retours de commandes qui sont demandées plus haut. Pour Apache (que je n'ai jamais installé sauf Nginx) je vais vérifier si le port 443 est déjà pris mais par défaut il n'écoute pas dessus.

marc2006 a écrit :

edit : non selinux permet la modification des objets sans changement de statut =)

semanage port -l | grep ssh

te donne quoi ?

systemctl restart sshd.service

!!

petite pause.................

Dernière modification par anche (22/10/2014 20:59:42)


F23

Hors ligne

#15 22/10/2014 21:09:47

pingou
Fedora Addict
Lieu : Toulouse
Inscription : 30/03/2006
Messages : 3 843
Site Web

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

> Par défaut, apache n'écoute pas sur le port 443 ... si je ne me trompe pas.

Bah si c'est http*s*, que ce soit apache ou ngnix, le port http*s* ne change pas c'est toujours 443.


On a pas inventé l'électricité en cherchant à améliorer la bougie...
-- Si c'est pas sur le bugzilla, c'est pas un bug ! --

Hors ligne

#16 22/10/2014 21:18:32

marc2006
Membre
Inscription : 31/05/2007
Messages : 1 425

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

Il me semble que dans la config par défaut (httpd.conf), il y a juste un Listen 80
Non ?

Hors ligne

#17 22/10/2014 22:09:34

anche
Membre
Inscription : 21/09/2014
Messages : 261

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

Je n'ai pas SSL sur aucun des deux Apache ou Nginx.


**************************** c'est pas mal :)

 [root@localhost fil]# netstat -talupen | grep 443
[root@localhost fil]#
 
# semanage port -l | grep ssh
ssh_port_t                     tcp      1234, 443, 22 
[root@localhost fil]# systemctl restart sshd.service

[root@localhost fil]# systemctl status sshd.service
sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: active (running) since mer. 2014-10-22 22:04:53 CEST; 4s ago
  Process: 4151 ExecStartPre=/usr/sbin/sshd-keygen (code=exited, status=0/SUCCESS)
 Main PID: 4154 (sshd)
   CGroup: /system.slice/sshd.service
           └─4154 /usr/sbin/sshd -D

oct. 22 22:04:53 localhost.localdomain systemd[1]: Starting OpenSSH server daemon...
oct. 22 22:04:53 localhost.localdomain systemd[1]: Started OpenSSH server daemon.
oct. 22 22:04:53 localhost.localdomain sshd[4154]: Server listening on 0.0.0.0 port 443.
oct. 22 22:04:53 localhost.localdomain sshd[4154]: Server listening on :: port 443.
oct. 22 22:04:53 localhost.localdomain sshd[4154]: Server listening on 0.0.0.0 port 22.
oct. 22 22:04:53 localhost.localdomain sshd[4154]: Server listening on :: port 22.
[root@localhost fil]# 

Donc il faut relancer sshd c'est logique.



L'Administration de SELinux affiche toujours celà c'est normal?
tp7r.png


C'est quoi la différence entre -a et -m ?
semanage port -a -t ssh_port_t -p tcp port et semanage port -m -t ssh_port_t -p tcp port

Dernière modification par anche (22/10/2014 23:12:12)


F23

Hors ligne

#18 22/10/2014 22:51:32

Heldwin
version 329521
Inscription : 07/10/2008
Messages : 4 334

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

man semanage-port:

-a pour ajouter
-m pour modifier


"The only way to achieve the impossible is to believe it’s possible"

Hors ligne

#19 22/10/2014 23:02:08

anche
Membre
Inscription : 21/09/2014
Messages : 261

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

pour supprimer c'est -s      ?


F23

Hors ligne

#20 22/10/2014 23:03:19

pingou
Fedora Addict
Lieu : Toulouse
Inscription : 30/03/2006
Messages : 3 843
Site Web

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

man semanage?


On a pas inventé l'électricité en cherchant à améliorer la bougie...
-- Si c'est pas sur le bugzilla, c'est pas un bug ! --

Hors ligne

#21 22/10/2014 23:08:59

anche
Membre
Inscription : 21/09/2014
Messages : 261

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

Le bon réflexe
ok merci


F23

Hors ligne

#22 22/10/2014 23:15:43

anche
Membre
Inscription : 21/09/2014
Messages : 261

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

 # semanage port -d -t ssh_port_t -p tcp 22
ValueError: Port tcp/22 is defined in policy, cannot be deleted
 

Pour supprimer le port 22 c'est pas gagné!

Donc si j'enlève le port 22 dans le fichier /etc/ss/sshd.config, il restera présent sans SELinux.

Dans le cas présent j'ai du mal à saisir le à quoi ça sert SELinux si dans son contexte le port 22 est toujours présent.
je vais relire la documentation...

Dernière modification par anche (22/10/2014 23:23:51)


F23

Hors ligne

#23 22/10/2014 23:43:22

pingou
Fedora Addict
Lieu : Toulouse
Inscription : 30/03/2006
Messages : 3 843
Site Web

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

c'est peut être une sécu pour éviter de se retrouver à la porte et sans la clé pour entrer


On a pas inventé l'électricité en cherchant à améliorer la bougie...
-- Si c'est pas sur le bugzilla, c'est pas un bug ! --

Hors ligne

#24 23/10/2014 08:24:02

marc2006
Membre
Inscription : 31/05/2007
Messages : 1 425

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

Oui tout à fait ça, le port 22 est par défaut et est une valeur qui reste au sein de SELinux :)
Mais tu peux virer le port qui est en trop si tu veux ;) la commande

semanage port -l | grep ssh

permettra de savoir quelles sont les valeurs associées :)

Hors ligne

#25 24/10/2014 19:42:59

anche
Membre
Inscription : 21/09/2014
Messages : 261

Re : [Résolu] Ouvrir deux ports ssh en TCP / contexte SELinux

Une porte d'entrée par le port standart bof!



-l, --list
              List records of the specified object type

 [root@localhost fil]# semanage 22 -l | grep ssh
semanage: error: argument subcommand: invalid choice: '22' (choose from 'import', 'export', 'login', 'user', 'port', 'interface', 'module', 'node', 'fcontext', 'boolean', 'permissive', 'dontaudit')
[root@localhost fil]# 

***************************
Si je supprime le port 22 du fichier sshd.conf et n'ouvre pas ce port, quel incidence avec le fait que SELinux conserve ce paramètre?

Dernière modification par anche (24/10/2014 19:49:15)


F23

Hors ligne

Pied de page des forums