Maison  >  Article  >  Tutoriel système  >  Un incontournable pour Linux ! Utilisez l'outil de cryptage SHC pour protéger la sécurité du code du script shell

Un incontournable pour Linux ! Utilisez l'outil de cryptage SHC pour protéger la sécurité du code du script shell

WBOY
WBOYavant
2024-02-11 09:40:21664parcourir

Il est très courant d'utiliser des scripts sur les systèmes Linux. Cependant, en raison de la nature ouverte du code de script, les scripts sont parfois modifiés, copiés et diffusés de manière malveillante. Pour ce faire, nous avons besoin d'un moyen de sécuriser notre code de script. SHC est un outil de chiffrement très pratique qui peut nous aider à chiffrer les scripts shell et à protéger la sécurité du code.

Comment chiffrer un script shell dans un environnement Linux ? Le script shell contient le mot de passe et vous ne voulez pas que quelqu'un d'autre disposant des autorisations d'exécution puisse afficher le script shell et obtenir le mot de passe. Vous pouvez installer et utiliser l'outil shc. Les utilisateurs ordinaires ne peuvent pas lire le script shell crypté créé par shc. SHC fait référence à : Shell Script Compiler (Shell Script Compiler).

Environnement

Centos8

Installer shc

[root@localhost ~]# yum -y install shc
Un incontournable pour Linux ! Utilisez loutil de cryptage SHC pour protéger la sécurité du code du script shell

Créer un script shell

Créez un fichier de script ci-dessous :

[root@localhost ~]# vim welcome.sh

#!/bin/sh
echo "Welcome to linux world"

Utilisez shc pour crypter le fichier de script

Comme indiqué ci-dessous, utilisez shc pour crypter le script Welcome.sh.

[root@localhost scripts]# shc -v -f welcome.sh 
shc shll=sh
shc [-i]=-c
shc [-x]=exec '%s' "$@"
shc [-l]=
shc opts=
shc: cc   welcome.sh.x.c -o welcome.sh.x
shc: strip welcome.sh.x
shc: chmod ug=rwx,o=rx welcome.sh.x
Un incontournable pour Linux ! Utilisez loutil de cryptage SHC pour protéger la sécurité du code du script shell
  • Welcome.sh est le script shell original non chiffré
  • Welcome.sh.x est un script shell crypté au format binaire
  • Welcome.sh.x.c est le code source C du fichier Welcome.sh. Compilez ce code source C pour créer le fichier bienvenue.sh.x crypté ci-dessus.

Vous pouvez utiliser la commande file pour afficher le type de fichier :

[root@localhost scripts]# file welcome.sh
welcome.sh: POSIX shell script, ASCII text executable
[root@localhost scripts]# file welcome.sh.x
welcome.sh.x: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-

64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=35e0e2569eca90774e379d6fef51ad6fedf346f5, s

tripped
[root@localhost scripts]# file welcome.sh.x.c
welcome.sh.x.c: C source, ASCII text
[root@localhost scripts]# 
Un incontournable pour Linux ! Utilisez loutil de cryptage SHC pour protéger la sécurité du code du script shell

Exécuter un script shell crypté

Maintenant, exécutons le script shell chiffré et assurons-nous qu'il s'exécute :

[root@localhost scripts]# ./welcome.sh.x 
Welcome to linux world
Un incontournable pour Linux ! Utilisez loutil de cryptage SHC pour protéger la sécurité du code du script shell

Spécifiez l'heure d'expiration du script Shell

Avec shc, vous pouvez également préciser la date d'expiration. c'est-à-dire qu'après cette date d'expiration, lorsque quelqu'un essaie d'exécuter le script shell, il recevra un message d'erreur. Créez un nouveau script shell chiffré à l'aide de l'option shc -e, en spécifiant la date d'expiration. La date d'expiration est spécifiée au format jj/mm/aaaa.

# 删除之前创建的.x , .x.c文件
[root@localhost scripts]# rm -rf welcome.sh.x*
# 创建带有过期时间的加密脚本
[root@localhost scripts]# shc -e 01/02/2021 -v -f welcome.sh 
shc shll=sh
shc [-i]=-c
shc [-x]=exec '%s' "$@"
shc [-l]=
shc opts=
shc: cc   welcome.sh.x.c -o welcome.sh.x
shc: strip welcome.sh.x
shc: chmod ug=rwx,o=rx welcome.sh.x

Un incontournable pour Linux ! Utilisez loutil de cryptage SHC pour protéger la sécurité du code du script shell
Dans cet exemple, si quelqu'un tente d'exécuter le fichier de script Welcome.sh.x, il vous indiquera qu'il a expiré.

[root@localhost scripts]# ./welcome.sh.x 
./welcome.sh.x: has expired!
Please contact your provider jahidulhamid@yahoo.com

Un incontournable pour Linux ! Utilisez loutil de cryptage SHC pour protéger la sécurité du code du script shell
Si vous souhaitez spécifier un message d'expiration personnalisé, vous devez ajouter l'option -m.

[root@localhost scripts]# shc -e 01/02/2021 -m "Please contact admin@example.com!" -v -f welcome.sh 
shc shll=sh
shc [-i]=-c
shc [-x]=exec '%s' "$@"
shc [-l]=
shc opts=
shc: cc   welcome.sh.x.c -o welcome.sh.x
shc: strip welcome.sh.x
shc: chmod ug=rwx,o=rx welcome.sh.x
Un incontournable pour Linux ! Utilisez loutil de cryptage SHC pour protéger la sécurité du code du script shell

À l'aide de l'outil SHC, vous pouvez facilement crypter les scripts Shell, protégeant ainsi efficacement la sécurité des scripts. Cet article explique comment utiliser l'outil SHC pour chiffrer les scripts shell à l'aide d'exemples et fournit également des méthodes pour résoudre certains problèmes courants. J'espère que cet article pourra fournir aux rédacteurs de scripts Shell une méthode de protection efficace pour rendre le code de script plus sûr et plus fiable.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer