Articles plus anciens

Quand on n’est pas administrateur de sa machine sous Windows, il n’est pas possible d’installer quoique ce soit.

Enfin presque parce que  l’on peut tout de même installer Firefox (qui s’installe dans %USERPROFILE%\Local Settings\Application Data\Mozilla Firefox\) mais pas le plugin Flash.

Il existe un moyen pour l’installer tout de même manuellement.

Cela consiste à trouver le package flashplayer-win.xpi contenant le plugin Flash pour Firefox, le décompresser et copier manuellement les fichiers NPSWF32.dll et flashplayer.xpt contenu dans le xpi dans %APPDATA%\Mozilla\Plugins.

Cette solution trouvée et décrite dans l’article Installing Flash Player Plugin on Firefox without having Administrator Access or Premissions donne cette adresse pour télécharger le package xpi de Flash, malheureusement cette URL renvoie désormais une erreur 404.

Une autre solution sur le web préconise de télécharger l’installeur de Flash Player et de décompresser ce dernier avec 7Zip ou uniextract, malheureusement encore Adobe semble avoir changé son installeur, l’extraction ne fournis plus la dll et le fichier xpt mais une ensemble de fichier (.data .rdata .rsrc .text .reloc).

La seule et dernière solution à l’heure actuelle consiste à installer le plugin sur un poste pour lequel vous avez les droits administrateur, d’aller chercher les fichiers NPSWF32.dll et flashplayer.xpt dans %APPDATA%\Mozilla\Plugins et les copier dans le même répertoire sur la machine cible.

Pour ma part j’ai téléchargé la dll ici (2.91 MB, version 10.2.153.1) et récupéré le fichier xpt chez moi (que voici pour ceux qui veulent : flashplayer.xpt)

La plupart des sites Web que je vais héberger sur mon Dockstar sont privés. Par exemple je ne souhaite pas que mes photos de familles soient visible par tous le monde….

Pour restreindre l’accès à ces applications/sites web, j’aurais pu choisir des scripts php qui intégraient une gestion utilisateurs. Mais il est déjà difficile de trouver un script php qui fasse ce que l’on veut et qui soit léger donc si il faut en plus qu’il intègre une gestion complète et sécurisée des accès utilisateurs cela devient mission impossible….

Surtout qu’il existe une alternative : déléguer l’accès à un site au serveur web.


Authentification par mot de passe

Avec Apache cela se fait avec les fichiers .htacces, sous Nginx cela se fait dans le fichier de configuration du site avec le module HttpAuthBasicModule.

La configuration d’un site se fait via la création d’un fichier dans le répertoire /etc/nginx/sites-enabled/, pour restreindre l’accès à un répertoire d’un site il suffit d’ajouter les directives auth_basic et auth_basic_user_file dans le fichier du site.

  • La directive auth_basic indique que l’on utilise une authentification, les texte après sera affiché dans la boite de dialogue d’authentification :
  • La directive auth_basic_user_file indique le chemin vers le fichier contenant les couple login / mot de passe (crypté) autorisé à accéder au répertoire.

Voici ma configuration :

server {
	listen       80;
	server_name  localhost;
	root         /var/www;
 
	# Security
	location ~ /\.ht {
		deny  all;
	}
 
	location /Repertoire_protege/ {
		auth_basic            "Qui va là";
		auth_basic_user_file  /$document_root/Repertoire_protege/.htpasswd;
 
		index  index.html index.htm index.php;
 
		location ~ \.php$ {
			include /etc/nginx/fastcgi_params;
			fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
			fastcgi_pass    127.0.0.1:9000;
		}
	}
}

J’ai personnellement choisi de stocker le fichier contenant les login/mots de passe dans le répertoire à protéger lui même mais on peut le mettre où l’on souhaite (/etc/nginx, etc…), de même le nom est par convention/ habitude .htpasswd (héritage d’Apache) mais on peut choisir le nom que l’on veut.

Par sécurité (indispensable) dès lors que l’on stock ce fichier dans un répertoire accessible par Nginx, il convient d’interdire son accès (sinon il pourra être affiché/télécharger). Dans mon cas il s’agit de la directive « location ~ /\.ht » qui interdit l’accès à tous fichier commençant par .ht

 

Création du fichier des login / mot de passe

Pour créer le fichier .htpasswd contenant les login et le mot de passe crypté, il est communément conseillé d’utiliser le programme htpasswd du package apache2-utils.

Lorsque l’on utilise Nginx, il est toujours un peu dérangeant d’installer un package apache (même si ce dernier est petit : 1.3Mo), il existe donc des alternative sous forme de script perl par exemple.

Le premier que j’ai trouvé/testé est basique  :

#!/usr/bin/perl
 use strict;
 chomp(my $username=$ARGV[0]);
 chomp(my $password=$ARGV[1]);
 print $username.":".crypt($password,$username)."\n";

Il prend en paramètre le login et le mot de passe (en clair), crypte le mot de passe et écrit sur la sortie standard le couple login / mot de passe crypté avec la format attendu d’un ficheir .htpasswd.

 

Le second (que j’ai gardé) est plus ressemblant à htpasswd d’Apache htpasswd-b: a smart replacement for the Apache htpasswd utility

#!/usr/bin/perl
 
if (! scalar @ARGV ) {
	print "Usage: htpasswd-b passwordfile user password\n";
	print "(this program automatically creates the pw file if needed.)\n";
	exit 0;
}
 
@saltsource = ('a'..'z', 'A'..'Z', '0'..'9','.','/');
$randum_num = int(rand(scalar @saltsource));
$salt = $saltsource[$randum_num];
$randum_num = int(rand(scalar @saltsource));
$salt .= $saltsource[$randum_num];
 
$outf=$ARGV[0];
$user=$ARGV[1];
$passwd=$ARGV[2];
 
if ($user && $passwd) {
	$encrypted = crypt($passwd, "$salt");
 
	if (-f $outf) {
		open(OUT, ">>$outf") || die "htpasswd-b error: $!\n";
	} else {
		open(OUT, ">$outf") || die "htpasswd-b error: $!\n";
	}
	print OUT "$user:$encrypted\n";
	close(OUT);
 
	exit 0;
}

Créer un fichier (par exemple htpasswd-perl.pl), y copier le texte ci-dessus, le rendre exécutable (chmod). Il suffit ensuite d’appeler ce script avec le nom du fichier à créer / compléter, le login et le mot de passe en clair.

./htpasswd-perl.pl /var/www/Repertoire_protege/.htpasswd utilisateur mot_de_passe

Enfin j’ai trouvé mais non testé un troisième script qui semble très complet :

htpasswd-perl: mon replacement de htpasswd | Shtark.fr

 

Authentification par mot de passe et php

Si votre site doit servir des pages php vous aurez surement une directive du type « location ~ \.php$ » indiquant le paramétrage fastCGI. Il est très important de mettre cette directive dans le bloc location protégé (cf ma configuration ci-dessus) sinon l’accès au répertoire sera protégé :

http:/localhost/Repertoire_protege

Mais pas l’accès directe à une page php sur le même site :

http:/localhost/Repertoire_protege/index.php

Restriction d’accès par IP

Pour être encore plus sécurisé on peut carrément restreindre l’accès d’un site ou d’un répertoire à une liste fini d’adresse IP avec les directives allow et deny :

	location /Repertoire_protege/ {
		auth_basic            "Qui va là";
		auth_basic_user_file  /$document_root/Repertoire_protege/.htpasswd;
 
		allow 127.0.0.1;
		deny all;
 
		index  index.html index.htm index.php;
 
		location ~ \.php$ {
			include /etc/nginx/fastcgi_params;
			fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
			fastcgi_pass    127.0.0.1:9000;
		}
	}

Allow liste les IP autorisés et deny celle qui sont interdites, dans l’exemple ci-dessus toutes les IP sont interdites sauf l’IP locale (127.0.0.1)

Enfin on peut affiner le comportement de la restriction par IP avec la restriction par mot de passe avec la directive satisfy qui indique si les 2 restrictions (IP + mot de passe) doivent être remplies (satisfy all) ou 1 seule d’entre elle (satisfy any) :

Exemple si on a une restriction par mot de passe + la restriction suivante :

allow 192.168.1.100;
deny all;

Voici les résultats en fonction de la machine accédant au site/répertoire :

Accès depuis satisfy any satisfy all
192.168.1.100 accès direct au site prompt de connexion
autre prompt de connexion 403 forbiden

 

Sources :

Password protect folders with NGINX the right way : Indique la « ruse » de protection d’un répertoire avec php

Restriction of the access with the help of Nginx : voir restriction sur IP

How nginx processes a request

nginx auth password or ip – Server Fault

07 avr 11

Pour dumper le contenu de la mémoire du BIOS :

cat /dev/mem | hexdump -C | grep 000f | more

Ce qui peut avoir un intérêt pour voir les zone des tatouage BIOS utilisés pour l’activation des OS Microsoft, notamment pour Dell la zone mémoire est la  000f05 on fera donc :

cat /dev/mem | hexdump -C | grep 000f05 | more

Source : mon beauf ;o)

Commentaires fermés

Article n’ayant sans doute aucun intérêt pour les lecteurs de ce blog, mais égoïstement ce blog est aussi un lieu où je stock certaine données que je veux conserver (après tout je fais ce que je veux je suis chez moi)

Donc dans cette article la liste et les caractéristiques (issues de materiel.net) du matériel acheté pour mon PC de bureau que j’ai changé l’été dernier (Juillet 2010).

 

Boitier : Gigabyte GZ-M1


Design
Châssis Acier
Couleur dominante Noir
Dimensions (L x P x H) 180 x 398 x 368 mm
Poids 4 Kg
Carte mère
Format(s) Micro-ATX / Mini-ITX
Ports d’extension 4
Alimentation
Alimentation fournie Non
Format(s) ATX
Position Haute
Baies
5.25″ max. 2
3.5″ interne max. 2
3.5″ externe max. 2
Ventilation
Ventilateurs fournis 1 x 90 mm à l’arrière
Emplacements supplémentaires 1 x 90 mm frontal
Airduct Oui
Ergonomie
Front panel 2 x USB
2 x Audio

Carte mère :Gigabyte GA-785GMT-USB3

Chipset
Socket Socket AM3
Northbridge AMD 785G
Southbridge AMD SB710
Bus système 5200 MT/s (2600 MHz)
Processeurs supportés Phenom II™, Athlon II
Refroidissement silencieux Oui, radiateurs
Mémoire
Nombre de connecteurs DDR3 4
Fréquences DDR3 supportées PC14400/12800/10600/8500 MHz
Double canal Oui
ECC/Registered Non/non
Capacité DDR3 maximum 16 Go
Contrôleurs intégrés
Contrôleur réseau Realtek 8111D
Vitesse du contrôleur réseau 1000/100/10 Mbps (Gigabit)
Contrôleur audio Realtek® ALC889
Canaux audio 7.1
Contrôleur graphique Radeon™ HD 4200
Version de DirectX supportée 10.1
Contrôleur IDE AMD SB710
Vitesse du contrôleur IDE Ultra-ATA 133/100/66/33
Contrôleur Serial-ATA AMD SB710
Vitesse du contrôleur Serial-ATA Serial-ATA/II
Modes RAID du contrôleur Serial-ATA RAID 0, 1 et 10
Contrôleur Firewire Texas Instrument TSB43AB23
Vitesse du contrôleur Firewire 400 Mbps
Extensions
Port(s) PCI-Express 16x 1
Version PCI-Express prise en charge 2.0
Compatible ATI Crossfire™ Non
Port(s) PCI-Express 1x 1
Port(s) PCI 2
Ports IDE 1
Vitesse des ports IDE Ultra-ATA 133/100
Périphériques IDE supportés 2
Ports S-ATA/II 5
Périphériques S-ATA/II supportés 5
Connecteurs externes
Ports PS/2 1
Ports USB 2.0 4
Ports USB 3.0 2
Ports RJ-45 1
Port DVI 1
Port VGA 1
Port HDMI 1
Port Firewire 1
Connecteurs audio 6
Sorties numériques 1
Type de sorties numériques Optique
Connecteurs internes
Connecteurs pour lecteur de disquettes 1
Connecteurs pour ports USB 2.0 3 (pour 6 ports supplémentaires)
Connecteurs Firewire 1
Connecteurs audio 1
Type de connecteurs audio CD/In
Connecteurs d’alimentation ATX 24 et 8 broches
Connecteur pour port série 1
Connecteur pour port parallèle 1
Connecteurs Molex pour ventilateur 2
Entrée S/PDIF 1
Sortie S/PDIF 1
Configuration
BIOS Award
Nombre de BIOS 2
Dimensions
Format Micro-ATX
Taille 245 x 245 mm

Processeur :AMD Athlon™ II X3 435


Architecture
Gamme Performance
Socket Socket AM3
Compatible carte mère AM2+ Oui
Micro-architecture K10
Nombre de coeurs 3
Fréquence 2,90 GHz
Cache L1 total 384 Ko (128 Ko par cœur)
Cache L2 total 1,5 Mo (512 Ko par cœur)
Bus HyperTransport™ Version 3.0 – 4.0 GT/s
Finesse de gravure 0,045 microns
Révision de cœur Deneb
Technologies
AMD64 Oui
Virtualisation Oui
NX Bit Non
Cool’n'Quiet Oui
Cool’n'Quiet 2.0 Oui
Cool’n'Quiet 3.0 Oui
SSE 1 Oui
SSE 2 Oui
SSE 3 Oui
SSE 4 Non
SSE 4A Oui
Dissipation thermique
Valeur de dissipation 95 Watts
Présentation
Version boîte Oui
Notes supplémentaires
OPN ADX435WFGIBOX

 

Mémoire :G.Skill Kit Extreme3 2 x 1 Go PC12800 Trident Series

Mémoire
Type DDR3
Gamme Performance
Capacité totale 2048 Mo
Fréquence PC12800 (1600 MHz)
Nombre de barrettes 2
Capacité par barrette 1024 Mo
ECC Non
Registered Non
Performances
Timings 8-8-8-24
Voltages de certification 1,60 V
PCB 6 couches
Radiateur(s) Oui
Ventilateur(s) Non
Autres informations
Garantie à vie
Référence constructeur F3-12800CL8D-2GBTD

Disque dur : Western Digital Caviar Blue S-ATA 250 Go – 8 Mo

Disque dur
Format 3,5″
Capacité 250 Go
Interface S-ATA/II
Vitesse de rotation 7200 trs/min
Mémoire cache 8 Mo
Temps d’accès moyen 8,9 ms
Présentation
Prise d’alimentation Molex Non
Version boîte Non
Dimensions 147 x 101,6 x 26,1 mm
Poids 0,600 Kg
Consommation 9,50 Watts
Référence constructeur WD2500AAJS

Le montage s’est réalisé sans problème, j’ai tout de même dû changer les valeurs des timing qui n’étaient pas correctes dans le BIOS.

J’y ai installé Ubuntu 10.04 (puis 10.10) sans aucun problème

 

Edit 15/11/2011 : Ajout d’une carte Graphique pour soulager le processeur. en effet la moindre page web avec du flash faisait monter le CPU, donc le ventilo qui tourne plus vite, donc du bruit.

Depuis l’ajout de la carte graphique mon CPU reste plat comme l’encéphalogramme de …. (complétez avec qui vous souhaitez)

Carte graphique Gainward GT 430 Passive

Informations sur le produit
Marque GAINWARD
Général
Type de périphérique Graphics card
Fonctions Dual Slot Fan Cooler, NVIDIA Unified Driver Architecture (UDA), Nvidia nVIEW Multi-Display Technology, technologie Nvidia CUDA, technologie HD Nvidia PureVideo, Nvidia PhysX-Ready
API prises en charge DirectX 11, OpenCL, DirectCompute, OpenGL 4.0
Bus Type PCI Express 2.0 x16
Graphics Engine NVIDIA GeForce GT 430
Core Clock 700 MHz
Interfaces 1 x DVI-I (liaison double) – DVI combiné 29 broches
1 x VGA – HD D-Sub (HD-15) 15 broches
1 x HDMI – HDMI type A 19 broches
Mémoire Technologie DDR3 SDRAM
Dimension 1 Go
Effective Clock Speed 1.6 GHz
Largeur de bus 128-bit
Sortie vidéo
Compatible HDCP Oui
Résolution maximale 2560 x 1600
Configuration requise Périphériques / interfaces DVD-ROM
Configuration requise Core 2 Duo – RAM 1 Go
Système d’exploitation requis Microsoft Windows Vista / XP / 7
Bloc d’alimentation recommandé 300 W
Divers
Compatible with Windows 7 Le logiciel et les dispositifs «Compatible with Windows 7» ont l’assurance de Microsoft que ces produits ont subi des tests de compatibilité et de fiabilité avec Windows 7 32-bit et 64-bit.
Fonctions Windows 7 prises en charge Windows Media Center
Logiciel inclus Pilotes de périphérique & utilitaires, Gainward EXPERTool

Son installation n’a pas été aussi simple que le reste j’ai du plusieurs fois rebooter en mode sans échec pour restaurer la configuration graphique de base.

Au final voici comment j’ai procédé :

  1. Désinstallation du pilote ATI propriétaire
  2. Reboot, désactivation du contrôleur graphique intégré à la carte mère
  3. Reboot le bureau s’affiche mais sans Compiz voir même sans aucun compositeur de fenêtre (donc tout moche)
  4. Installation des pilote propriétaires nVidia
  5. Reboot

 

 

 

 

 

 

 

07 avr 11

Screen est un multiplexeur de terminaux tandis que su permet de changer d’utilisateur dans un terminal.

Si vous changez d’utilisateur avec su puis que vous lancez screen

utilisateur1 $ su utilisateur2 
Mot de passe : xxx 
utilisateur2 $ screen

vous aurez le message d’erreur suivant :

Cannot open your terminal '/dev/pts/0' - please check.

Et effectivement si vous regardez les droits du fichier /dev/pts/0, il appartient bien à l’utilisateur connecté (et non pas celui modifié via su) :

crw--w---- 1 utilisateur1 tty 136, 0 2010-01-27 13:36 /dev/pts/0

La solution : on ne peut plus simple inverser l’ordre des commandes : lancer screen puis faire le su dans screen

utilisateur2 $ screen 
utilisateur1 $ su utilisateur2 
Mot de passe : xxx
Commentaires fermés