ssh OpenSSH et PAM (Pluggable authentication modules)

sudo service sshd restart    (ou kill -HUP `cat /var/run/sshd.pid` )
initctl list | sort   voir tous services démarrés
Installer sudo apt-get install openssh-server et désinstaller avec sudo apt-get purge openssh-server

Voir aussi http://ubuntuguide.org/wiki/Ubuntu:All#Setup_an_SSH_server et the_user_accounts_that_can_connect_through_OpenSSH_remotely
et cet outil GUI pour linux: secpanel et FAQ ssl apache. Vérifier l'install d'un certificat à https://www.digicert.com/help/
Possibilités des user-agent à https://www.ssllabs.com/ssltest/clients.html et tester son client à https://www.ssllabs.com/ssltest/viewMyClient.html

Par défaut:

  • /etc/ssh/sshd_config - Fichier de configuration server OpenSSH.
  • /etc/ssh/ssh_config - Fichier de configuration OpenSSH client
  • ~/.ssh/ - Dossier de conf Users
    ~/.ssh/authorized_keys - Les clefs publiques (RSA ou DSA) utilisables pour se loguer sur ce compte
  • /etc/nologin - Si existe, sshd refuse tous les users sauf root.
  • /etc/hosts.allow et /etc/hosts.deny : les ACL qui devraient etre protégées par tcp-wrappers sont def ici.
  • port SSH par défaut : TCP 22

Ex d'ajout dans sshd_config:

AllowUsers root vivek jerry      DenyUsers saroj anjali foo
HostbasedAuthentication no
PermitRootLogin no
PermitEmptyPasswords no

tcp-wrappers

Editer /etc/hosts.allow pour permettre l'utilisation de SSH que depuis ces IP, y mettre:   sshd : 192.168.1.2 172.16.23.12

http://www.cyberciti.biz/faq/howto-ssh-changing-passphrase/

tests

Sur le srv SSHD: ssh -v compte-user@localhost
il affiche qu'il n'a pas de fingerprint (c'est normal la 1ere fois):

The authenticity of host 'vm14 (IP du srv)' can't be established.
ECDSA key fingerprint is 98:8d:80:71:41:2d:05:f9:02:35:44:96:22:7e:99:5f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'vm14,IPdu srv' (ECDSA) to the list of known hosts.
Connection closed by IP-srv
exit

parce que soucis de droits www-data, compte user linux, quel user lance les commandes drush.

PAM

http://manpages.ubuntu.com/manpages/trusty/man7/PAM.7.html

Voir les applis qui peuvent utiliser PAM: ldd /{,usr/}{bin,sbin}/* | grep -B 5 libpam | grep '^/'
Voir si une appli peut utiliser PAM:         ldd $(which prog_name) | grep libpam

Diverses catégories de modules PAM (vocabulaire)

  • authentication functions : valide le login/pw d'un user
  • account : vérifie l'accès aux ressources (deny/allow user)
  • session : modules pour définir l'environnement qui sera construit (login) puis détruit (logout). Les fichiers session peuvent déterminer quelles commandes sont necessaires pour cette construction d'env
  • password : update les données des services.

Fichiers de conf en /etc/pam.d

Other est un fourre tout (habituellement, chaque appli qui use Pam a son fichier de conf ici. Si n'en n'a pas: c'est Other qui est appliqué).

On trouve les modules référencés dans les fichiers de conf ici: ls /lib/*/security  (ex: voir le man de pam_rhosts.so )

Lire les lignes Policy (des fichiers de conf)

Chaque ligne suit la syntaxe [service] type control module-path [module-arguments]
avec type: authentication, account, password ou session
control: une action parmi: required requisite sufficient optional include substack

 

https://www.digitalocean.com/community/tutorials/how-to-use-pam-to-configure-authentication-on-an-ubuntu-12-04-vps

Plus sur le web

Cf http://cloudfaqs.wordpress.com/2013/11/18/top-20-openssh-server-best-sec... et http://www.cyberciti.biz/tips/linux-pam-configuration-that-allows-or-den...

Vérifier l'install d'un certificat à https://www.digicert.com/help/ et https://www.ssllabs.com/ssltest/index.html (affiche plus d'infos, comme Handshake Simulation par clients, penser à cocher la case "ne pas publiquer sur le boad" + PJ "SSL_TLS_Deployment_Best_Practices.pdf")
et FAQ ssl apache.

https://www.ssllabs.com/projects/documentation/index.html

Possibilités des user-agent à https://www.ssllabs.com/ssltest/clients.html et tester son client à https://www.ssllabs.com/ssltest/viewMyClient.html

Doc tek: 
AttachmentSize
PDF icon ssl_tls_deployment_best_practices.pdf314.16 KB