Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/02/2011, 21h24   #1
Membre régulier
 
Inscription : novembre 2010
Messages : 102
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 102
Points : 86
Points : 86
Par défaut Exécuter un script bash root + sécuritée

Bonsoir,

Je cherche à faire un script pour créer un certificat vpn de manière automatique, j'entend pas la qu'il suffira de cliquer dans un formulaire pour l'utiliser.

J'ai 2 grandes questions:

Q1: Bash

J'utilise donc 2 scripts bash coté serveur: build-batch et build-key-batch

build-batch
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/sh
if test $# -ne 2; then
     echo "usage: batch-build <name> <duree> »"
     exit 1
else
     # Definition des variables
     export D=`pwd`
     export KEY_CONFIG=$D/openssl.cnf
     export KEY_DIR=$D/keys
     export KEY_SIZE=1024
     export KEY_COUNTRY="FR"
     export KEY_PROVINCE="IleDeFrance"
     export KEY_CITY="Paris"
     export KEY_ORG="CeKwa"
     export KEY_EMAIL="ceskwa@gmail.com"
     export KEY_CNAME=$1
     ./build-key-batch $1 $2
fi
build-key-batch
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/sh
if test $# -ne 2; then
     echo "usage: build-key-batch <name> <duree>";
     exit 1
fi
if test $KEY_DIR; then
     cd $KEY_DIR && \
     openssl req -days $2 -nodes -new -keyout $1.key -out $1.csr -batch -config
$KEY_CONFIG && \
     openssl ca -days $2 -out $1.crt -in $1.csr -batch -config $KEY_CONFIG && \
     chmod 0600 $1.key
else
     echo you must define KEY_DIR
fi
J'appele build-batch via
Code :
1
2
$cmd="./build-batch ".$nom." ".$duree;
exec($cmd, $exec_output);
Alors la fonction marche bien, mais seul deux fichiers sont créer: le .crc et le .key.

Mon soucis est que je voudrais bien avoir aussi mon .crt

Je pense qu'il n'est pas créer car apache n'a pas les droits root et je ne compte pas les donné étant donné les problèmes de sécurités qui en découlerais.

J'ai vu sur un autre post qu'on pouvais faire exécuter le script par root, en cours on en a parler, je crois que c'est le droit -s, quelqu'un peut il m'apporter quelques précisions?

Q2: Sécurité

Vous avez le droit à un peu plus de code :p

Code :
1
2
3
4
5
6
7
	if(isset($_GET["clean"]))
	{
		$chaine = htmlentities($_GET["clean"]);
		$cmd4 = "rm -r ".$chaine;
		//exec($cmd4, $exec_output);
		echo $cmd4."<br/>";
	}
Je voudrais savoir si un petit malin pourrait supprimer un contenu non désiré, par exemple en mettant /. Je suppose que oui donc j’aimerais savoir comme limiter l'effet de cette fonction au dossier downloads.

Niveau faille, pour le moment on voie absolument tout le contenu si on se promène dans les dossiers mais cela ne me dérange pas pour le moment.

Je pense mettre un index.html vide ainsi qu'un .htaccess avec deny pour tout le monde. ( Solution pour le dossier keys )
Y a t'il des failles dans un .htaccess de ce type? Je veux qu'on puisse uniquement télécharger un fichier dans ce dossier: ca.crt.
Si je met une règle avec un file allow pour tout le monde ça passerais?

Sinon je vous laisse aller voir sur le site si vous voyez de grosse faille.

Les utilisateurs déjà créer sont dans le code source, au moment ou j'écrit il y a:
Citation:
['azer','eysutxdjckliugfjtrdrcstrkyyhufyuk','fuuuu','plop','plop233_le_retour_','qfghreq','test','test2','yukulele','zqsyedufghomhugfitydf']
Sa ne devrais pas bouger étant donné que je suis en phase de test et que j'affiche uniquement les commandes et ne les exécute pas.

Si vous voulez un accès vpn afin de regarder s'il y a des failles ou tout simplement pour essayer envoyez moi un mp

Merci d'avoir lu mon pavé.

Bon j'ai ajouter le droit setuid mais ça ne change rien
Citation:
-rwsr-sr-x 1 root root 465 fév 8 15:33 build-batch
-rwsr-sr-x 1 root root 386 fév 8 15:27 build-key-batch
Soull est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2011, 23h22   #2
Membre régulier
 
Inscription : novembre 2010
Messages : 102
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 102
Points : 86
Points : 86
Alors j'ai résolu mes soucis:

Pour le script, je le lance en sudo via www-data ALL=NOPASSWD:lien du script
dans /etc/sudoers

Pour la suppression je vais faire un con.
Soull est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h33.


 
 
 
 
Partenaires

Hébergement Web