Maison > Tutoriel système > Linux > 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
Libérer: 2024-02-11 09:40:21
avant
709 Les gens l'ont consulté

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
Copier après la connexion
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"
Copier après la connexion

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
Copier après la connexion
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]# 
Copier après la connexion
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
Copier après la connexion
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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion
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!

source:lxlinux.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal