:.     Home     .:.     Cours     .:.     Faits divers     .:.     Blagues     .:.     Liens     .:.     Perso     .:

 

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