Jump to content
Froxlor Forum
  • 0

Froxlor + nginx fpm / vhost Problem


Reddi

Question

Hallo,

ich w?rde gerne Froxlor verwenden f?r meine dev Projekte und habe auch soweit alles eingerichtet.

 

Ich habe nur ein riesen Problem mit den vhosts.

Es sei angemerkt es ist nginx + fpm installiert und konfiguriert.

 

 

folgendes generiert froxlor:

location / {
		index index.php index.html index.htm;
		try_files $uri $uri/ @rewrites;
	}
	location @rewrites {
		rewrite ^ /index.php last;
	}
	location /webalizer {
		alias /var/customers/webs/domain/webalizer/domain.de/;
		auth_basic "Restricted Area";
		auth_basic_user_file /etc/nginx/froxlor-htpasswd/1-e3e92239dbca9a3288540abc8a55b753.htpasswd;
	}
	location ~ \.php$ {
		try_files $uri =404;
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		fastcgi_pass unix:/var/run/nginx/domain-www.domain-php-fpm.socket;
		fastcgi_index index.php;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
		include /etc/nginx/fastcgi_params;
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
	}

-->

nun nginx kann ja keine htaccess also m?ssen die verzeichnisse anders gesch?tzt werden.

folgendes habe ich dann in der domain als zus?zliche vhost einstellungen eingetragen:

		location ~ ^/(protected|framework|themes/\w+/views) {
		 deny all;
	}
	 # Vermeidet die verarbeitung von statischen, nicht existenten Dateien
	 location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
		 try_files $uri =404;
	}

	 # Zugriff auf sog. dotfiles verhindern (.htaccess, .svn, .git, etc.)
	 location ~ /\. {
		 deny all;
		 access_log off;
		 log_not_found off;
	}

soweit so gut...

leider wird nun das produziert, sodass die regeln nicht greifen:

	location / {
		index index.php index.html index.htm;
		try_files $uri $uri/ @rewrites;
	}
	location @rewrites {
		rewrite ^ /index.php last;
	}
	location /webalizer {
		alias /var/customers/webs/locopengu/webalizer/domain.com/;
		auth_basic "Restricted Area";
		auth_basic_user_file /etc/nginx/froxlor-htpasswd/1-e3e92239dbca9a3288540abc8a55b753.htpasswd;
	}

	location ~ \.php$ {
		try_files $uri =404;
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		fastcgi_pass unix:/var/run/nginx/domain-www.domain.com-php-fpm.socket;
		fastcgi_index index.php;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
		include /etc/nginx/fastcgi_params;
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
	}
		location ~ ^/(protected|framework|themes/\w+/views) {
		 deny all;
	}
	 # Vermeidet die verarbeitung von statischen, nicht existenten Dateien
	 location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
		 try_files $uri =404;
	}
	 # Zugriff auf sog. dotfiles verhindern (.htaccess, .svn, .git, etc.)
	 location ~ /\. {
		 deny all;
		 access_log off;
		 log_not_found off;
	}

ok... dachte ich... dann versuchen wirs anders...

folgendes eingef?gt:

location ~ ^/(protected|framework|themes/\w+/views) {
		 deny all;
	}
	 # Vermeidet die verarbeitung von statischen, nicht existenten Dateien
	 location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
		 try_files $uri =404;
	}

location ~ \.php$ {
		###HIER DARF ERST PHP FPM greifen 
	}

	 # Zugriff auf sog. dotfiles verhindern (.htaccess, .svn, .git, etc.)
	 location ~ /\. {
		 deny all;
		 access_log off;
		 log_not_found off;
	}

leider mit dem gleichen ergebnis...

 

gibt es eine M?glichkeit die positionen zu definieren, an welcher stelle die eigenen vhost direktiven gemerged werden?

oder eine andere L?sung?

 

Lg,

Reddi

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

nein gibt es leider nicht. Der  eine braucht es am anfang, der andere am ende, wieder jemand anderes braucht es nach XYZ und vor ABC usw usw usw. Das k?nnen wir einfach nicht alles abbilden. zur Zeit ist das leider nicht m?glich. An einer Vhost-template-Funktion wird gearbeitet - das wird allerdings nicht schon in der n?chsten Version verf?gbar sein.

Link to comment
Share on other sites

Hmm ok.

Das hei?t alle die Froxlor ohne Apache nutzen, sind angreifbar, weil jede php Datei.. (configs und co) heruntergeladen / ausgef?hrt werden kann?

location ~ ^/(protected|framework|themes/\w+/views) {
		 deny all;
	}

w?re halt sehr wichtig. das soetwas vor php ausgef?hrt wird.

Drupal, Typo,Yii,Zend,PhpMyAdmin,Froxlor und Co ist alles nicht nutzbar.

 

Dann werde ich wohl noch warten mit froxlor.

Dankesch?n f?r die schnelle Antwort

 

--solved--

 

Edit:

Vielleicht w?re eine dicke Warnung sinnvoll. Serveradmins machen sich leider oft 0 Kopf.

Link to comment
Share on other sites

Nicht von Haus aus. Da hast du Recht.

Aber nehmen wir den casual user an, welcher sich nen typo3 installiert.

der stellt fein ein

allow_url_include = 1      
allow_url_fopen = 1 

dann haben wir nun einen froxlor server mit nginx fpm, welcher es nich erlaubt deny direktiven zu schreiben.

Irgendein weiterer Fremder baut in sein php script include externeDomain/config/database.php (Jetzt mal ganz Banal)

 

Die database php returned ein config array mit s?mtlichen daten.

Juchu die fremden haben alle sql Daten...

 

phpmyadmin Configs echon die sachen sogar direkt in den browser... (war zumindest mal so)

 

 

N?chste Variante:

irgendeine PHP Datei wird ausgef?hrt (dir normalerweise protected w?re), welche einen critical wirft. Ein Stacktrace wird angezeigt mit Code Snippets o.?. kann auch wieder alles gelesen werden.

 

.htaccess folder protects haben schon ihren sinn ;)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...