Jump to content
Froxlor Forum
  • 0

[gelöst] "Primary script unknown" und php-fpm


df8oe

Question

Hallo an alle,

es kommt ja tausende Male am Tag vor dass irgendein Robot oder Hacker versucht, z.B. wp-login.php zu öffnen - was es aber gar nicht auf der betreffenden Domain gibt. Die Möglichkeiten solcher "Hackversuche" sind unerschöpflich. Abstellen kann man sie nicht - aber man kann verhindern, dass Aufrufe von nicht existierenden php-Scripten überhaupt bis zum php-fpm durchkommen. Das geht indem man in der jeweiligen Apache-Domain-conf die Zeile

 

SetHandler "proxy:unix:/var/lib....fpm.socket|fcgi://localhost"

ersetzt durch

<If "-f %{SCRIPT_FILENAME}">
	SetHandler "proxy:unix:/var/lib/...fpm.socket|fcgi://localhost"
</If>

Dann ist wenigstens ein Dienst weniger mit diesem Müll beschäftigt :) Kann man Froxlor irgendwie sagen dass es den php-fpm-Aufruf in so ein if-Statement einbettet?

Edited by df8oe
gelöst
Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Wenn es nur um spezifische Dateien geht, geht auch das Apache Modul mod_maxminddb und die GeoLite2 Datenbank um die Zugriffe nur von Deutschland (oder beliebig anderen Ländern) aus zuzulassen. Das reduziert die Versuche ebenfalls innerhalb kurzer Zeit erheblich. Allerdings sollte man natürlich wissen von wo aus die eigenen Kunden zugreifen.

.htaccess Beispiel für Wordpress:

<IfModule mod_maxminddb.c>
MaxMindDBEnable On
MaxMindDBFile DB /usr/share/GeoIP/GeoLite2-Country.mmdb
MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code
SetEnvIf MM_COUNTRY_CODE ^(AT|CH|DE) AllowCountry
</IfModule>

<IfModule mod_authz_core.c>
<Files wp-login.php>
Require env AllowCountry
</Files>
<Files xmlrpc.php>
Require all denied
</Files>
</IfModule>

# BEGIN WordPress
# Die Anweisungen ...

Zugriffe auf wp-login.php aus deutschsprachigen Länder (DE, AT, CH) werden zugelassen.

Zugriffe auf xmlrpc.php komplett abgelehnt.

Link to comment
Share on other sites

  • 0

Sorry, wenn ich den Threat wieder zum Leben erwecke. Gibt es eingen Grund, wieso die Anpassung nicht im GitHub Repository durchgeführt wird?

<If "-f %{SCRIPT_FILENAME}">
	SetHandler "proxy:unix:/var/lib/...fpm.socket|fcgi://localhost"
</If>

 

Am 10.8.2021 um 14:12 schrieb d00p:

ja du kannst den cron patchen wenn du das so gerne machen möchtest, https://github.com/Froxlor/Froxlor/blob/master/lib/Froxlor/Cron/Http/ApacheFcgi.php#L59

Link to comment
Share on other sites

  • 0

Kann es sein das diese Anpassung dafür jetzt andere Fehler wirft? Falls jemand jetzt nicht vorhandene Datein aufruft wirft der Server einen 503 zurück weil er auf nen sock will der garnicht eingerichtet ist.

No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php8.1-fpm.sock (*) failedb

denn er nutzt ja jetzt durch das IF nicht mehr den passenden Pfad zum konfigurieren Socket. Also wenn die Datei nicht da ist generiert er mir nen Primary script unknown

Aber durch das hier jetzt einmal das nicht vorhandene Socket und dann noch 

AH01079: failed to make connection to backend: httpd-UDS

hinterher. Also eigentlich sogar eine Errorlog zeile mehr. Welche verwirrend sein kann für Leute die sich fragen wieso in der Domain nach nem fpm Socket gefragt wird, der garnicht zugeteilt wurde.

Link to comment
Share on other sites

  • 0
5 hours ago, BigWhoop said:

Kann es sein das diese Anpassung dafür jetzt andere Fehler wirft?

Nein, die hat damit nix zu tun, wenn dein Webserver loggt: ich kann das so let nicht finden/lesen dann hat er offenbar schon versucht das PHP Script dahin weiterzugeben über den handler.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...