Linux
: des commandes essentielles
OpenSSL
#
Génération de clé privée :
openssl genrsa -des3 -out cleprivee.key 4096
# Génération de clé privée sans mot de passe de protection :
openssl genrsa -out cleprivee.key 4096
# Génération du CSR à partir de la clé privée :
openssl req -out lecsr.csr -key cleprivee.key -new
# Génération du CSR en même temps que la clé privée :
openssl req -sha256 -out lecsr.csr -new -newkey rsa:4096 -nodes -keyout
cleprivee.key
# Génération du certificat one shot avec la clé privée :
openssl req -x509 -sha256 -nodes -days 3650 -newkey rsa:4096 -keyout
cleprivee.key -out certificat.crt
# Vérifications des correspondances entre certificats, csr, et clé :
https://www.sslshopper.com/article-most-common-openssl-commands.html
openssl x509 -noout -modulus -in certificat.crt | openssl md5
openssl rsa -noout -modulus -in cleprivee.key | openssl md5
openssl req -noout -modulus -in lecsr.csr | openssl md5
openssl x509 -in certificate.crt -text -noout # certificat
openssl rsa -in cleprivee.key -check # clé privée
openssl req -text -noout -verify -in lecsr.csr # csr
openssl pkcs12 -info -in keyStore.p12 # pkcs
# Voir quel certificat est présenté par le serveur :
openssl s_client -connect www.yerbynet.com:443 | openssl x509 -noout
-dates -serial
openssl s_client -connect ldaps.yerbynet.com:636 -showcerts
gnutls-cli --x509cafile /etc/ldap/certs/ca.crt -p 636 ldaps.yerbynet.com
openssl s_client -connect imap.yerbynet.com:110 -starttls imap
# Récupération d'un certificat puis importation dans le java keystore :
echo -n | openssl s_client -connect www.yerbynet.com:443 | sed -ne
'/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/www.yerbynet.com.crt
keytool -import -v -trustcacerts -alias www.yerbynet.com -file
~/www.yerbynet.com.crt -keystore
<JAVA_HOME>/jre/lib/security/cacerts -keypass changeit -storepass
changeit
# Récupération de certificat à partir du JKS: (plusieurs étapes)
# étape 1: vérification du contenu du jks
keytool –list -keystore keystore.jks
# étape2 : Exporter tout en pkcs
keytool -importkeystore -srckeystore keystore.jks -destkeystore
deststore.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass
motdepasse_source -deststorepass motdepasse_dest -srcalias alias_source
-srckeypass prive-password-src -destkeypass motdepasse_dest -noprompt
# étape 3 : extraire la clé privée du pkcs
openssl pkcs12 -in deststore.p12 -nocerts -out privatekey.key -passin
pass:motdepasse_dest
openssl pkcs12 -in deststore.p12 -nocerts -out privatekey-un.key (sans
mot de passe)
# étape 4 : facultative (enlever le mot de passe de la clé privée)
openssl rsa -in privatekey.key -out privatekey-un.key
# étape 5 : extraire le certificat du p12
openssl pkcs12 -in deststore.p12 -nocerts -out domain.crt
# étape 6: décomposition
si domain.crt contient plusieurs certificats, on peut les décomposer en
plusieurs fichiers (en utilisant vi).
# L'inverse du point précédent - créer un JKS à partir de certificat et
clé privée SSL
# étape 1 : conversion vers PKCS
openssl pkcs12 -export -in domain-cert.crt -inkey domain-key.key
-certfile Chain_or_CA-cert.crt -out tonkeystore.p12
# étape 2 : PKCS vers JKS
keytool -importkeystore -srckeystore tonkeystore.p12 [-keypass
motdepasse0] -storepass motdepasse -srcstoretype pkcs12 -destkeystore
tonkeystore.jks -deststoretype JKS
# étape 3 : changement de l'alias
keytool -changealias -keystore tonkeystore.jks -alias 1
# étape 4 : changement de mot de passe de la clé privée
keytool -keypasswd -alias <nom de l'alias - défaut=1> -keystore
tonkeystore.jks
Éditeur vi :
# Comment sortir de vi
- Faire [Escape] suivi de :x! [Enter] : sauvegarder et sortir
-
Faire [Escape] suivi de :wq! [Enter] : sauvegarder et sortir
- Faire [Escape]
suivi de :q! [Enter] : sortir sans sauvegarder
SE Linux
# Passer en mode permissif
setenforce 0
# Passer en mode enable
setenforce 1
# Trouver le mode courant
getenforce
# Voir si tout va bien :
grep denied /var/log/audit/audit.log
# Traduction en langage humain de l'état
audit2allow -w -a
# Set-er un booléen
setsebool -P httpd_can_network_connect=0 (ou =1)
# Obtenir la liste de booléens
getsebool -a | grep http
# Conversion des denied en module et installation
audit2allow -a -M monmodule : pour générer mon module
semodule -i monmodule.pp # pour installer mon module
# Lister le répetoire avec ls
ls -alZ
# Autres
restorecon, semanage,
LDAP
openssl s_client -connect ad.yerbynet.com:636 -showcerts
ldapsearch -h ldaps.yerbynet.com -D
"cn=roger,cn=Users,dc=perso,dc=yerbynet,dc=com" -b
"cn=Users,dc=perso,dc=yerbynet,dc=com"
"sAMAccountName=uncompte" -w <motdepassederoger>
-ZZZ -d 1
ldapsearch
-h ldap.yerbynet.com -p389 -D
"cn=roger,cn=Users,dc=perso,dc=yerbynet,dc=com" -b
"cn=Users,dc=perso,dc=yerbynet,dc=com" -W
Reboot
Lorsque les commandes reboot, init 6, shutdown now -r, halt, ...
ne veulent pas marcher, voici ce qu'il faut faire à la machine.
Pour l'instant, ca a fonctionné toutes les fois que j'ai utilisé.
echo
1 > /proc/sys/kernel/sysrqsers
echo b > /proc/sysrq-trigger
L'information, n'est-elle pas
précieuse ? Partageons la tous ensemble !
© Juin 2018
Roger YERBANGA
www.yerbynet.com