User Tools

Site Tools


eliminar_passwords_del_historial_de_git

Eliminar datos sensibles del historial de Git (Usuarios, keys, passwords, códigos, etc)

En determinadas circunstancias es necesario eliminar o sobrescribir determinada información del historial de Git. Por ejemplo cuando se han subido ficheros con contraseñas en el código fuente, estos ficheros al ser sobrescritos por otros con la corrección no contendrán datos sensibles, pero si se mantendrán dentro del historial de Git.

La forma más simple de sustituir un determinado texto por otro en el historial de Git es utilizando BFG Repo-Cleaner.

BFG Repo-Cleaner: http://rtyley.github.io/bfg-repo-cleaner/

Como dependencia solo necesita java, pero no funcionará con versiones antiguas, estos son los pasos para hacerlo funcionar en Centos 6.x.

yum remove java_cup-0.10k-5.el6 java-1.5.0-gcj-1.5.0.0-29.1
curl -L "http://javadl.sun.com/webapps/download/AutoDL?BundleId=87436" --output "jre-7u55-linux-x86_64.rpm"
rpm -ihv jre-7u55-linux-x86_64.rpm

Creamos un fichero passwords.txt con las cadenas de texto que se desean sustituir, si no se especifica ninguna se utilizará REMOVED como se puede ver en la parte inferior del artículo.

Contenido del archivo passwords.txt.

Kj+hgFr
12345

Utilizando bfg para eliminar los datos sensibles del historial Git.

git clone --mirror http://usuario@dominio.com/scm/lnxadm/prueba.git
java -jar bfg-1.11.6.jar --replace-text passwords.txt prueba.git
cd prueba.git
git push

Resultado final

Lo que muestra el historial.

# perl deadlock-logger -u dlmonitor -pKj+hgFr -h db08.dominio.com --dest u=root,p=12345,D=dba_util,t=deadlocks,h=localhost --pid /var/run/deadlock-logger.pid

Después de utilizar Bfg.

# perl deadlock-logger -u dlmonitor -p***REMOVED*** -h db08.dominio.com --dest u=root,p=***REMOVED***,D=dba_util,t=deadlocks,h=localhost --pid /var/run/deadlock-logger.pid

Buscar texto dentro de todo el historial de Git.

git log -p | grep --color -i "\*\*\*REMOVED\*\*\*"
eliminar_passwords_del_historial_de_git.txt · Last modified: 2020/12/25 22:57 by 127.0.0.1