Keine Klartextpasswörter in Skripten

Eine PCI-DSS Regel eines Auditors den ich kenne besagt, „Keine Passwörter in Skripten einbauen“

Ich biete hier ein Verfahren wobei das Passwort mit openssl Verschlüsselt wird.

In dem zu benutzenden Skript wo das Passwort dann benötigt wird, entschlüsselt man dieses wieder mit dem uns bekannten openssl Verfahren.

#!/bin/bash

#– —————————————————————————–

#– Script : encpw.sh

#– Task : Encode a password with openssl

#– Reason : We don't want cleartext passwords in scripts

#– Author : Stefan M. Dohn, 20.10.2021

#– 20.10.2021 SDohn Creation from scrap

#– 20.10.2021 SDohn Make the filesnames configurable

#– Last updates: 20.10.2021 11:45

#– —————————————————————————–

#set -x

export ME=$(whoami)

PW="SecretPassword"

EXECUSER="postgres"

PWENC1="db_pg_basebackup1.enc"

PWENC2="db_pg_basebackup2.enc"

PARM="key.dec key.temp passwd passwd.dec passwd.enc"

if [ „x$ME“ != „x$EXECUSER“ ]; then echo "Script muss als User $EXECUSER laufen" && exit 1; fi

CLFL()

{

for i in $PARM

do

[ -e „$i“ ] && rm -f "$i"

done

}

CLFL

[ -e $PWENC1 ] && rm -f $PWENC1

[ -e $PWENC2 ] && rm -f $PWENC2

echo $PW > passwd

openssl rand -out key.temp -base64 32

openssl des3 -pbkdf2 -e -pass file:key.temp -in passwd -out "$PWENC2"

cp key.temp "$PWENC1"

openssl des3 -pbkdf2 -d -pass file:"$PWENC1" -in "$PWENC2" -out passwd.dec

openssl des3 -pbkdf2 -d -pass file:key.temp -in "$PWENC2" -out passwd.dec

#PARM="key.temp passwd passwd.dec"

CLFL

##we create strong permissions for the files

chmod 440 $PWENC1

chmod 440 $PWENC2

#How to decode the file:

echo

echo "#How to decode the file:"

#echo "openssl des3 -pbkdf2 -d -pass file:$PWD/$PWENC1 -in $PWD/$PWENC2"

echo "openssl des3 -pbkdf2 -d -pass file:$PWENC1 -in $PWENC2"

Dieser Beitrag wurde unter LINUX veröffentlicht. Setze ein Lesezeichen auf den Permalink.