Pour le mot de passe d'un utilisateur on peut le faire via la commande :

usermod -p '*' <user>

ou la commande :

chage -I -1 -m 0 -M 99999 -E -1 <user>

Pour rappel cela ne mets pas un mot de passe vide, il supprime purement et simplement le mot de passe, ce qui a comme résultat l'impossibilité de se connecter avec un mot de passe.

 

 

  • Pré-requis :
    •  2 servers (un reverse, cible)
    • 1 client remote
    • sshd sur les 2 servers
    • avoir le meme compte sur les 2 servers (les 2 servers s'authentifie via cles )

 

  • Sur le server servant de proxy :
    Config de sshd_config :
    Subsystem sftp /usr/lib/openssh/sftp-server
    UsePAM yes
    Match User jojo
    ForceCommand /usr/bin/ssh -i /home/jojo/.ssh/id_rsa -p 2221 Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.

 

  • Sur le server cible
    Config de sshd_config :
    Subsystem sftp /usr/lib/openssh/sftp-server
    Match User jojo
    ForceCommand exec /usr/lib/openssh/sftp-server

test fait sur un disque Intel enterprise SSD DCS3700 ( /!\  vrai disque Intel pas du rebrandé hp ou dell  /!\ )

si le disque est sdc :

 

  • Visualisation

hdparm -I /dev/sdc
ATA device, with non-removable media
Model Number: INTEL SSDSC2BA400G3
...
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
supported: enhanced erase
4min for SECURITY ERASE UNIT. 4min for ENHANCED SECURITY ERASE UNIT.

 

  • mettre un mot de passe :

hdparm --user-master u --security-mode m --security-set-pass password /dev/sdc

security_password="password"

 

Vérification

hdparm -I /dev/sdc
...
Security:
Master password revision code = 65534
supported
enabled
not locked
not frozen
not expired: security count
supported: enhanced erase
Security level maximum
4min for SECURITY ERASE UNIT. 4min for ENHANCED SECURITY ERASE UNIT.

Ilfaut faire un arret electrique de la machine (poweroff) et non pas un simple reboot

Après le démarage, le disque est présent mais illisible.

 

  • Vérification :

hdparm -I /dev/sdc
...
Security:
Master password revision code = 65534
supported
enabled
locked
not frozen
not expired: security count
supported: enhanced erase
Security level maximum
4min for SECURITY ERASE UNIT. 4min for ENHANCED SECURITY ERASE UNIT.
Trying to read from the disk trigger these errors :

sd 4:0:2:0: [sdc] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 4:0:2:0: [sdc] Sense Key : Illegal Request [current]
sd 4:0:2:0: [sdc] Add. Sense: Security conflict in translated device
sd 4:0:2:0: [sdc] CDB: Read(10): 28 00 00 00 00 00 00 00 20 00
end_request: I/O error, dev sdc, sector 0
Buffer I/O error on device sdc, logical block 0
Buffer I/O error on device sdc, logical block 1
Buffer I/O error on device sdc, logical block 2
Buffer I/O error on device sdc, logical block 3
sd 4:0:2:0: [sdc] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 4:0:2:0: [sdc] Sense Key : Illegal Request [current]
sd 4:0:2:0: [sdc] Add. Sense: Security conflict in translated device
sd 4:0:2:0: [sdc] CDB: Read(10): 28 00 00 00 00 00 00 00 08 00
end_request: I/O error, dev sdc, sector 0
Buffer I/O error on device sdc, logical bogical block 0

Commande pour utiliser le disque (mettre le mot de passe) :

hdparm --user-master u --security-unlock password /dev/sdc
security_password="password"

/dev/sdc:
Issuing SECURITY_UNLOCK command, password="password", user=user
Le disque est maintenant accessible (lancer partprobe pour que le kernel scanne la table de partition).

 

  • Pour annuler l'encryption du disque, faire :

hdparm --user-master u --security-disable password /dev/sdc

  • Mettre l'outil hors ligne (mais non obligatoire)
  • Fermez votre navigateur web
  • Faire une sauvegarde
    • de la base de donnée
    • du répertoire racine avec les datas
  • Désactiver les applis tierces
    • faire la liste avec la commande : sudo -u www-data php occ app:list  2>&1 | tee </chemin/fichier-liste>
    •  rendre la liste exploitable par le script (ne garder que la liste des applications installées) vous pouvez utiliser la commande sed pour virer les versions :
      • sed -i 's/:\ [0-9]\.[0-9]\.[0-9]$//g' </chemin/fichier-liste> (supprime les : x.x.x version)
      • sed -i 's/:\ [0-9]\.[0-9][0-9]\.[0-9]$//g' </chemin/fichier-liste> (supprime les : x.xx.x version)
      • sed -i 's/:\ [0-9][0-9]\.[0-9]\.[0-9]$//g' </chemin/fichier-liste> (supprime les : xx.x.x version)
      • sed -i 's/:\ [0-9]\.[0-9]$//g' </chemin/fichier-liste> supprime les x.x version)
    • désactiver avec la commande :
      • for i in $(cat </chemin/fichier-liste>) ; do echo $i ; done  => sert à  vérifier la liste avant de passer la vrai commande
      • for i in $(cat </chemin/fichier-liste>) ; do sudo -u www-data php occ app:disable $i; done
      • sudo -u www-data php occ app:list  pour vérifier , les 'applications cores' seront toujours présentes
    • si l'outil n'est pas hors ligne passer la commande : sudo -u www-data php occ maintenance:mode --on
    • Positionnez vous dans le répertoire racine de l'appli et supprimer tout SAUF : le répertoire data et le fichier de configuration : config.php
    • mettez le contenu de la nouvelle version
    • passez la commande : sudo -u www-data php occ upgrade
    • remettez en ligne : sudo -u www-data php occ maintenance:mode --off
    • puis sudo -u www-data php console.php files:scan --all