::: FORUM ManuFrog :::: SuPHP (ersättaren till PHPsuexec) - ::: FORUM ManuFrog :::

Hoppa till innehåll

Sida 1 av 1
  • Du kan inte skapa ett nytt ämne
  • Du kan inte svara i detta ämne

SuPHP (ersättaren till PHPsuexec) Säkerhetsåtgärder

#1 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

  Postad 27 mars 2006 - 17:01

Säkerhetsåtgärder för att förhindra attacker & olika slags "abuse" :

Installation av SuPHP (tidigare kallad PHPsuexec)

Vad har ändrats?
Alla våra servrar använder SuPHP (tidigare kallad phpsuexec) sedan år 2006.


Förklaring av vad SuPHP (tidigare kallad PHPsuexec) är:
På de flesta Apache-servrar, körs PHP som en Apache-modul. Det görs som standard.
Varje process i Unix är kopplad till en "ägare", normalt det användar-ID som startade den. Apache startas och körs normalt av en speciell användare som ges namnet "nobody" för att skilja den från andra, vanliga inloggade användare.

Om en fil tex. sparas av ett PHP script så får filen ägaren "nobody" eftersom PHPscriptet körs av Apache, och dessutom måste mappen filen sparas i ha "777" för att "nobody" ska få spara filen i mappen.

Det är därför så kallade "phishing scams" (eBay/PayPal bedrägerier, online bank bedrägerier) förekommer så ofta.
"Scammers" söker på nätet för säkerhetshål, och det är allt för enkelt för dem om de hittar en server som är konfigurerade så.

Vi har därför valt att installera SuPHP (tidigare kallad PHPsuexec) som gör att PHP inte körs som en Apache-modul, utan som CGI.
Processens "ägare" blir då inte "nobody" utan "kontonamnet". (Och det räcker då att mappen har "755" för att php-scriptet ska få skriva/spara i mappen)


Hur förbättrar detta för Er?
Alla script körs med "kontonamnet" istället för som det gjorde före år 2006, av "nobody".

Det är viktigt för oss eftersom vi då bla. snabbare kan hitta det konto som kör ett script som får servern att överbelastas eller liknande.
Och om det är SPAM som skickas ut från en av våra servrar, kan vi snabbt se vilket konto som detta sker ifrån, och därmed undvika mail-problem såsom svartlistningar o.s.v. (Eftersom med SuPHP, kommer inga mail som skickas från ett script längre ha avsändare "nobody" utan istället "kontonamn")

Och om ett säkerhetshål i ett script gör så att en hackare lyckas skicka upp ett script på ett konto, så kan inte det skriptet användas till att hacka sig in på ett annat konto, eftersom ägaren som "kör" scriptet då inte länge är "nobody" utan "kontonamn" - och "kontonamn" har endast rätt att skriva/köra på sitt egna konto - inte i någon annans konto.
Ytterligare säkerhet är att CloudLinux numera också är installerat vilket förstärker detta skydd.

Och inga mappar behöver (eller får) längre ha "777", vilket gör det betydligt säkrare.

Nu till detaljerna över SuPHP (tidigare kallad PHPsuexec)


1. 777 Rättigheter

Föregående konfiguration (före år 2006): När PHP körs som en Apache-modul, kör den som användare/grupp (user/group) vilket vanligtvis är "nobody".
När det körs så, så måste de filer och mappar som ska "skrivas" (redigeras/ändras) ha rättighet 777 (läsa/skriva/köra som användare/grupp/övriga)
(read/write/execute at user/group/world level)
Det är ett mycket osäkert sätt, eftersom det ger vem som helst tillåtelse att läsa och "skriva" till filen.

Nya konfigurationen (efter år 2006)(SuPHP (tidigare kallad PHPsuexec)): PHP körs som CGI med suexec aktiverat - Dina PHP script körs nu som användare/grupp.
Filer eller mappar som Ditt php-script ska kunna skriva i, behöver inte längre använda rättighet 777. Det är faktiskt så att om 777 används för filer eller mappar, kommer de orsaka ett "500 - internal server error" felmeddelande.
Det är för att skydda Dig från att någon utomstående ska kunna hacka sig in i Din mapp eller ändra i Dina filer/script.
Dina mappar kan ha max 755 (läs/skriv/köra av Dig (kontonamn) och läsa/köra av övriga) (read/write/execute by you, read/execute by everyone else)
Och php-filerna kan ha max 644.

2. .ini istället för .htaccess

Under den tidigare konfigurationen kunde man ändra PHP inställningar genom att lägga in kod i en .htaccess fil placerad i php-scriptets mapp.
(.htaccess filer kommer fortfarande kunna användas - dock ej för att ändra PHP inställningar)

Tillexempel kunde Du stänga av php-inställningen "allow_url_fopen" med denna rad i en .htaccess:
php_value allow_url_fopen off

När däremot PHP körs som CGI/SuPHP, är det fortfarande möjligt att ändra PHP-inställningar, men det kan inte göras med en .htaccess fil.
Det kan orsaka ett "500 internal server error" felmeddelande när man försöker komma åt scripten.
Det beror på att Apache inte längre används för att köra php.

Alla php-inställningar måste tas bort från Er .htaccess-fil för att undvika "500 internal server error".
Skapa istället en php.ini fil för att manipulera/ändra php-inställningarna.

NYTT (år 2014): Ändra istället värdet via Select PHP Version i Cpanel - se mer här:
http://forum.psychof...?showtopic=1577

3. Om php.ini

Vad är php.ini och hur ska jag göra för att skapa en sån fil?
php.ini filen är konfigurationsfilen som servern kontrollerar i för att se om några funktioner ska stängas av eller på, eller ändra det som är standard på servern.
Namnet kanske inte låter bekant, men det är egentligen bara en text-fil med namnet "php.ini"

För att ändra saker såsom tex. allow_url_fopen ska vara On istället för Off som det är som standard, så rekommenderar vi att Ni kontaktar oss och får en kopia på serverns php.ini fil.

Man kan även ladda ned följande exempel fil (en standardfil) men det är inte säkert att det fungerar optimalt då :
php.ini.txt
( OBS! Ändra namn på filen till php.ini )

Redigera filen med de inställningar Du vill använda såsom tex:
allow_url_fopen = On


Leta då reda på följande rader och ändra "Off" till "On":
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = Off


och skicka sedan upp den in i public_html mappen och alla mappar som ska ha inställningen.

4. Felsökning

Hjälp! Mitt php-script fungerar inte eller har felmeddelande.

1. Kontrollera så att filerna scriptet använder inte har högre rättigheter satta än 644. (Alltså filer med filändelsen .php )

2. Kontrollera att mappens rättighet där scriptet finns i inte har högre rättighet satt än 755. (det inluderar de mappar som scriptet ska använda också, tex. undermappar o.s.v)

3. Kontrollera så Du inte har en .htaccess fil med "php_values" (php värden/inställningar) i.
Det kommer orsaka ett "500 Internal server error" när scriptet försöker köras.
PHP inställningarna behöver tas bort ur .htaccess-filen och istället skrivas i en php.ini fil istället, som beskrivet ovan.

4. Tänk på att filer och mappar som ett php-script skapat har ägare "nobody", vilket gör att scriptet ej längre har tillåtelse att ändra eller ta bort dessa filer/mappar när SuPHP är aktiverat. Ej heller Du kan ändra i dessa mappar eller filer eftersom ej heller Du "äger" rätt till att göra det.
Vänligen kontakta oss så får vi manuellt ändra ägare till dessa mappar & filer till Dig, det vill säga "kontonamn".


5. När kommer SuPHP (tidigare kallad PHPsuexec) införas på den server mitt konto finns på?

Vi kommer först skicka ut ett mail till de kontakt epostadresser som varje konto har i sin Cpanel.
Dessutom kommer meddelande finnas i denna tråd om vilken server det kommer ske på och när.


Alla servrar har SuPHP/PHPsuexec aktiverat sedan år 2006

Detta inlägg har redigerats av Erik: 12 november 2014 - 14:55

::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

#2 Medlemmen är offline   mankan 

  • Superior Member
  • PipPipPipPipPip
  • Grupp: Members
  • Inlägg: 24
  • Gick med: 23-juni 04

Postad 28 mars 2006 - 08:14

Jag tycker det är en bra idé att införa PHPsuexec. Det enda kruxet som dyker upp, är just att man ibland har så dålig koll på vilka mappar som har 777 satt, och ibland har man ju ett hundratal (om inte flera) mappar.
Finns det något skript eller liknande man kan köra, antingen för att söka efter alla "777"- mappar och lista dem, eller till och med ändra till 755?

Behöver man inte ändra skrivrättigheterna på filer oxå?
0

#3 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

Postad 28 mars 2006 - 08:19

mankan på 28 Mar 2006, 09:14 sade:

Jag tycker det är en bra idé att införa PHPsuexec. Det enda kruxet som dyker upp, är just att man ibland har så dålig koll på vilka mappar som har 777 satt, och ibland har man ju ett hundratal (om inte flera) mappar.
Finns det något skript eller liknande man kan köra, antingen för att söka efter alla "777"- mappar och lista dem, eller till och med ändra till 755?

Behöver man inte ändra skrivrättigheterna på filer oxå?

Hej! Jag har hört med teknikerna, och troligen kommer de vid införandet av PHPsuexec justera rättigheterna på alla konton så det inte blir högre än 755 på filer och mappar.
Detta kommer jag informera mer om så snart jag får mer info.

NYTT:
OBS!
Teknikerna kan köra ett script på servern som justerar ett kontos alla mappar med "777" så att de får "755".
Dock kommer tyvärr ej alla konton köras, utan maila oss om Ni har många mappar så låter vi teknikerna köra scriptet på Ert konto. :)

Detta inlägg har redigerats av Erik: 11 april 2006 - 06:06

::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

#4 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

  Postad 05 april 2006 - 22:34

Först ut att få PHPsuexec är Manu3-servern.
Ett mail har skickats till alla berörda kunder om detta tidigare i veckan.

Tisdagen den 11:e april kommer Manu3-severn få PHPsuexec installerat.



*Vilken server finns mitt konto på?
Om Du ej fått ett mail från oss, kan Din kontaktepostadress vara fel i Din Cpanel, eller så ligger inte Ditt konto på servern där PHPsuexec ska installeras denna gång.
Man kan kontrollera vilken server ens konto ligger på genom att exempelvis "pinga" sitt domännamn.
Ex. i Windows XP:
1. Klicka på "Start".
2. Välj "kör".
3. Skriv "cmd" och välj "ok".
4. Kommandotolken öppnas, skriv "ping dittdomännamn.se" (utan haröron) och klicka på "Enter" knappen.
Första ip-nummer som ska komma upp för att Ditt konto ligger på Manu3-servern är: 72.29.70.127
::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

#5 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

  Postad 11 april 2006 - 00:15

phpSuexec är nu aktiverat på Manu3-servern.
Tyvärr kunde teknikern ej köra scriptet som skulle fixa mappar med "777" så att de fick "755", så vi vill be Er som har många mappar med "777" att kontakta oss, så får vi köra scriptet manuellt för Ert konto.

För Er som har error-meddelanden för Era script - kontrollera så mappen ej har högre rättighet än "755", och php-filen ej mer än "644".
(Och var snäll och läs igenom informationen ovan om PHPsuexec.)
::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

#6 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

Postad 16 april 2006 - 18:09

PHPsuexec kommer nu att installeras på Manu2-servern.
Ett mail har skickats till alla berörda kunder om detta under söndagen.

Onsdagen den 19:e april kommer Manu2-severn få PHPsuexec installerat.

Dessutom kommer MySQL versionen och PHP versionen uppgraderas. Eventuellt kommer en timslång neretid förekomma pga detta.


*Vilken server finns mitt konto på?
Om Du ej fått ett mail från oss, kan Din kontaktepostadress vara fel i Din Cpanel, eller så ligger inte Ditt konto på servern där PHPsuexec ska installeras denna gång.
Man kan kontrollera vilken server ens konto ligger på genom att exempelvis "pinga" sitt domännamn.
Ex. i Windows XP:
1. Klicka på "Start".
2. Välj "kör".
3. Skriv "cmd" och välj "ok".
4. Kommandotolken öppnas, skriv "ping dittdomännamn.se" (utan haröron) och klicka på "Enter" knappen.
Första ip-nummer som ska komma upp för att Ditt konto ligger på Manu2-servern är: 72.29.77.239



-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


PHPsuexec kommer även att installeras på Manu4-servern. DOCK INTE SAMMA DAG.
Ett mail har skickats till alla berörda kunder om detta under söndagen.

Tisdagen den 25:e april kommer Manu4-severn få PHPsuexec installerat.

*Vilken server finns mitt konto på?
Om Du ej fått ett mail från oss, kan Din kontaktepostadress vara fel i Din Cpanel, eller så ligger inte Ditt konto på servern där PHPsuexec ska installeras denna gång.
Man kan kontrollera vilken server ens konto ligger på genom att exempelvis "pinga" sitt domännamn.
Ex. i Windows XP:
1. Klicka på "Start".
2. Välj "kör".
3. Skriv "cmd" och välj "ok".
4. Kommandotolken öppnas, skriv "ping dittdomännamn.se" (utan haröron) och klicka på "Enter" knappen.
Första ip-nummer som ska komma upp för att Ditt konto ligger på Manu4-servern är: 72.29.82.190

Detta inlägg har redigerats av Erik: 16 april 2006 - 19:54

::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

#7 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

  Postad 25 april 2006 - 08:43

PHPsuexec är numera aktiverat både på Manu2 och Manu4-servern.

För Er som har error-meddelanden för Era script/hemsidor - kontrollera så mappen ej har högre rättighet än "755", och php-filen ej mer än "644".
Plus att ingen regel för PHP finns i en .htaccess fil.

(Och var snäll och läs igenom informationen ovan om PHPsuexec.)

Hittar Ni många mappar med rättighet "777", kan vi köra ett script som åtgärdardar detta., så de får "755" istället.
::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

#8 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

Postad 26 april 2006 - 22:23

PHPsuexec kommer att installeras även på Manu5-servern.
Ett mail har skickats till alla berörda kunder om detta under onsdagen.

Tisdagen den 2:a maj kommer Manu5-severn få PHPsuexec installerat.


*Vilken server finns mitt konto på?
Om Du ej fått ett mail från oss, kan Din kontaktepostadress vara fel i Din Cpanel, eller så ligger inte Ditt konto på servern där PHPsuexec ska installeras denna gång.
Man kan kontrollera vilken server ens konto ligger på genom att exempelvis "pinga" sitt domännamn.
Ex. i Windows XP:
1. Klicka på "Start".
2. Välj "kör".
3. Skriv "cmd" och välj "ok".
4. Kommandotolken öppnas, skriv "ping dittdomännamn.se" (utan haröron) och klicka på "Enter" knappen.
Första ip-nummer som ska komma upp för att Ditt konto ligger på Manu5-servern är: 72.29.92.243
::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

#9 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

Postad 02 maj 2006 - 00:47

phpSuexec är nu installerat på Manu5-servern.

För Er som har error-meddelanden för Era script/hemsidor - kontrollera så mappen ej har högre rättighet än "755", och php-filen ej mer än "644".
Plus att ingen regel för PHP finns i en .htaccess fil.
(mer om det finns bla. i denna tråd: http://forum.psychof...p?showtopic=742 )

Och var snäll och läs igenom informationen ovan om PHPsuexec.

Hittar Ni många mappar med rättighet "777", kan vi köra ett script som åtgärdardar detta., så de får "755" istället.
::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

#10 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

  Postad 04 maj 2006 - 06:11

PHPsuexec kommer att installeras även på Manu1-servern, vilket efter det innebär att alla våra servrar har phpsuexec installerat.
Ett mail har skickats till alla berörda kunder om detta under onsdagen.

Tisdagen den 9:e maj kommer Manu1-severn få PHPsuexec installerat.


*Vilken server finns mitt konto på?
Om Du ej fått ett mail från oss, kan Din kontaktepostadress vara fel i Din Cpanel, eller så ligger inte Ditt konto på servern där PHPsuexec ska installeras denna gång.
Man kan kontrollera vilken server ens konto ligger på genom att exempelvis "pinga" sitt domännamn.
Ex. i Windows XP:
1. Klicka på "Start".
2. Välj "kör".
3. Skriv "cmd" och välj "ok".
4. Kommandotolken öppnas, skriv "ping dittdomännamn.se" (utan haröron) och klicka på "Enter" knappen.
Första ip-nummer som ska komma upp för att Ditt konto ligger på Manu1-servern är: 72.29.67.122
::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

#11 Medlemmen är offline   Lson 

  • Grupp: Members
  • Inlägg: 1
  • Gick med: 04-maj 06

Postad 04 maj 2006 - 18:00

Scriptet för att hitta filer/kataloger som har "fel" rättigheter är inte så komplicerat. Har du skal-access är det bara att navigera fram till katalogen där webbfilerna ligger och köra något i stil med:

find . -user nobody -exec chown dittanvändarnamn:dingrupp {} \;
find . -perm 777 -exec chmod 755 {} \;


(med reservation för felskrivningar, har ingen Linuxmaskin här att testa med)

och så är det klart... "man find" är nyckeln till visdom :)
0

#12 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

Postad 04 maj 2006 - 20:17

Lson på 4 May 2006, 19:00 sade:

Scriptet för att hitta filer/kataloger som har "fel" rättigheter är inte så komplicerat. Har du skal-access är det bara att navigera fram till katalogen där webbfilerna ligger och köra något i stil med:

find . -user nobody -exec chown dittanvändarnamn:dingrupp {} \;
find . -perm 777 -exec chmod 755 {} \;


(med reservation för felskrivningar, har ingen Linuxmaskin här att testa med)

och så är det klart... "man find" är nyckeln till visdom :)

Hej! Det stämmer så bra. Har man SSH/Shell access kan man självklart köra några olika kommandon för att åtgärda rättigheter.
Dock har ingen av våra kunder detta som standard, så därför erbjuder vi att fixa detta åt de som har många mappar med "fel" rättigheter. ;)

find /home/dittanvändarnamn/public_html/ -type d | xargs chmod 755


Är annars ett bra kommando om man vill fixa så det blir 755 på mapparna.
::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

#13 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

  Postad 09 maj 2006 - 05:45

phpSuexec är nu installerat på Manu1-servern.

För Er som har error-meddelanden för Era script/hemsidor - kontrollera så mappen ej har högre rättighet än "755", och php-filen ej mer än "644".
Plus att ingen regel för PHP finns i en .htaccess fil.
(mer om det finns bla. i denna tråd: http://forum.psychof...p?showtopic=742 )

Och var snäll och läs igenom informationen ovan om PHPsuexec.

Hittar Ni många mappar med rättighet "777", kan vi köra ett script som åtgärdardar detta., så de får "755" istället.
::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

#14 Medlemmen är offline   saintnick 

  • Member
  • PipPipPip
  • Grupp: Members
  • Inlägg: 5
  • Gick med: 26-juli 05

Postad 21 maj 2006 - 17:34

Jag har fått problem med mitt Coppermine-galleri. Det här felmeddelandet får man när man försöker ladda upp bilder:

Citat

Målkatalogen albums/userpics/10002/ är inte skrivbart av scriptet!

Jag har försökt att CHMOD:a userpics undermappar till 755, men det går inte till alla. Mappen i fråga - 10002 - är ändrad till 755.
0

#15 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

Postad 21 maj 2006 - 17:38

Hej! Var snäll och maila oss - det ser ut som om mapparna har fel ägare.

Maila Ditt kundnr, kontonamn eller domännamn så tar vi en titt.
::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

#16 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

Postad 23 maj 2006 - 07:15

saintnick - vi har svarat på Ditt mail igår. Var snäll och testa igen nu.
::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

#17 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

  Postad 24 maj 2006 - 06:26

Många kunder använder webbutiker såsom Zencart eller liknande, och icohmed att phpsuexec är aktiverat på servrarna så kan felmeddelande förekomma om att filen "configuration.php" är skrivbar.

Detta beror på att filen har rättighet "644" och då är skrivbar för både "Dig" och skriptet.
Ändra till "444" på filen, så är den ej längre skrivbar av varken scriptet eller "Dig".

Att ändra detta via FTP går ej då ftp'n är uppbyggd så att man inte ska kunna ändra rättigheter på en fil så man själv inte får accessrättigheter till den.
Använd istället Filhanteraren i Cpanel. (Filemanager)

Alternativt mailar Ni oss.
::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

Dela med dig av detta ämne:


Sida 1 av 1
  • Du kan inte skapa ett nytt ämne
  • Du kan inte svara i detta ämne


2 användare läser detta ämne
0 medlemmar, 2 gäster, 0 anonyma medlemmar