Vraag over veiligheid

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 3 volgende »

Marina janssen

marina janssen

16/06/2016 23:44:34
Quote Anchor link
Ik heb een formulier gemaakt waarmee ik fotos kan uploaden naar mijn site.
Dat werkte pas nadat ik de bestandsrechten van de fotomap ipv 755 op 777 zette.
Is dit de juiste oplossing of begeef ik me op glad ijs?
 
PHP hulp

PHP hulp

23/11/2024 10:20:01
 
- Ariën  -
Beheerder

- Ariën -

16/06/2016 23:49:09
Quote Anchor link
Ik zou als het kan nooit chmod 777 gebruiken, omdat je niet ALLE rechten wilt uitdelen.
Als 755 niet werkt, dan is er iets mis met de rechten-structuur bij je webhosting.

Als ik mij niet vergis kan het minder kwaad als het script onder je eigen username draait.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php exec('whoami'); ?>
 
Ben van Velzen

Ben van Velzen

16/06/2016 23:50:29
Quote Anchor link
De rechten helemaal open zetten is nooit de juiste oplossing. Ik heb nu 2 vragen voor je die tot een oplossing moeten leiden:
1. Onder welke user draait PHP?
2. Welke user is eigenaar van de fotomap?

Toevoeging op 16/06/2016 23:51:39:

>> Als ik mij niet vergis kan het minder kwaad als het script onder je eigen username draait.
Dan heb je die gigantische rechten ook niet nodig, dan kom je er met 700 zelfs wel. De executable bit is noodzakelijk omdat het een directory is, anders was 600 genoeg geweest.
 
Marina janssen

marina janssen

17/06/2016 01:24:41
Quote Anchor link
De eigenaar van de fotomap is rina en de php-draaier is www-data.
Ik ga ff een nachtje slapen over wat ik hier mee kan aanvangen:)
 
Ben van Velzen

Ben van Velzen

17/06/2016 02:43:03
Quote Anchor link
Dan gaan we voor de zekerheid nog over op de group informatie. Is rina lid van www-data en is je map eigendom van de group www-data?
 
- SanThe -

- SanThe -

17/06/2016 12:49:31
Quote Anchor link
Maak de owner van de map www-data en rechten 755.
 
- Ariën  -
Beheerder

- Ariën -

17/06/2016 13:07:33
Quote Anchor link
- SanThe - op 17/06/2016 12:49:31:
Maak de owner van de map www-data en rechten 755.

Waarom niet gewoon de username zelf? Als je mod_ruid2 op de server hebt geinstalleerd en goed in Apache hebt geconfigureerd, draait alles onder je username en zal je niet zo snel meer met Permission Denied's zitten omdat je rechten ergens niet kloppen. Iets wat mijn vroegere hosting niet voor elkaar kon krijgen, en mij veel ergernis gaf ;-)
 
Marina janssen

marina janssen

17/06/2016 20:06:41
Quote Anchor link
Ben van Velzen op 17/06/2016 02:43:03:
Is rina lid van www-data

niemand is lid van www-data. Kan dat? er staat alleen een nummer.
Ben van Velzen op 17/06/2016 02:43:03:

en is je map eigendom van de group www-data?

nee

Moet ik rina lid maken van www-data en de group www-data eigenaar maken van de map?
 
Ben van Velzen

Ben van Velzen

17/06/2016 22:10:22
Quote Anchor link
Niet per se, ik zou hierin met Ariën meegaan en mod_ruid2 eens bekijken. Zo te horen is het een eigen server, dan heb je wat speelruimte.

Maar je kunt ook de user lid maken van www-data en de group eigenaar maken van de map. Mooi is anders, en het timmert het niet zover dicht als je zou willen; je hebt dan alsnog 770 nodig op zijn minst.

Edit: niet zo klein als gehoopt:

Toevoeging op 18/06/2016 02:09:09:

Ook nog een kleine aanvulling:
Lees je in op hoe rechtenbeheer werkt, van start tot eind. Ik ga dit nu niet voor je googlen, maar in de basis werkt het als volgt:
Je hebt 3 categorieën van rechten: read, write en execute
Je hebt ook 3 niveaus van rechten: user, group en world
In de 3 niveaus worden de rechten ook opgebouwd uit de categorieën:
Het eerste octet is voor user, het tweede voor group, het derde voor world.

Nu dit duidelijk is gaan we over naar hoe Apache dit standaard behandelt:
Apache start standaard op als de root user en root group en degradeert zichzelf naar wat er genoemd wordt in je configuratie: in dit geval de user www-data en waarschijnlijk ook de group www-data.

Met mod_ruid2 kun je beinvloeden welke user en group gebruikt wordt vanuit Apache. Probeer het volgende in httpd.conf (dit is de eenvoudigste manier, en is veel meer granulatiteit mogelijk met name op user en grouo niveau):
RMode stat

Wat er nu gebeurt is dat als de user en group die bij het bestand dat je opvraagt worden opgevraagd door Apache. Ik geef je nu de volgende situatie:
- Je hele homedirectory is eigendom van de user rina en de group rina (standaard onderdebian en derivaten als ubuntu)
- Apache vraagt index.php op
- Dit bestand is eigendom van de user rina in de group rina (hij staat in je homedirectory en is door jezelf gemaakt)
- Index.php wordt door mod_ruid omgeschakeld naar uitvoer door de user rina in de group rina (door het opvragen van het eigendom op index.php)
- Alle bestanden die worden opgevraagd of geschreven door index.php zullen standaard als de user rina en group rina werken: wanneer de map waar je naar schrijft eigendom is van jezelf gaat dit bijna geganandeerd goed.
Gewijzigd op 18/06/2016 02:31:13 door Ben van Velzen
 
Marina janssen

marina janssen

23/06/2016 13:37:24
Quote Anchor link
ik heb geen httpd.conf
moet ik dan RMode stat toevoegen aan apache2.conf?
 
- Ariën  -
Beheerder

- Ariën -

23/06/2016 13:44:43
Quote Anchor link
Zeker weten dat je die niet hebt? Naar mijn weten is het vrij standaard om een httpd.conf te hebben.
Staat er in apache2.conf dan iets vermeld of je domein/host die je hebt ingesteld?
 
Marina janssen

marina janssen

23/06/2016 22:29:16
Quote Anchor link
nee
ik heb de volgende mappen:
mods-available en mods-enabled
en sites-enabled en sites-availalable
en conf-enabled en conf-available

maar ik weet niet naar wat voor regel ik moet zoeken
 
Ben van Velzen

Ben van Velzen

23/06/2016 22:35:40
Quote Anchor link
Dit is een redelijk standaard manier van configureren: verschillende elementen uit conf-available kunnen worden gesymlinkt naar conf-enabled. Kortom: kijk in conf-available naar de mogelijkheden. Het kan handig zijn hierbij om iemand erbij te hebben die deze manier van configureren kent, om te voorkomen dat er gekke dingen gebeuren.
 
- Ariën  -
Beheerder

- Ariën -

24/06/2016 00:08:05
Quote Anchor link
Is deze bestandsstructuur niet een onderdeel van Nginx als webserver?
 
Ben van Velzen

Ben van Velzen

24/06/2016 00:12:05
Quote Anchor link
Ook. Het is meer deel van Debian als bestandsstructuur. Het klopt hierbij ook dat de Apache config onder Debian apache2.conf heet, in deze config zal iets staan als:
Include /etc/apache2/mods-enabled/*
Include /etc/apache2/config-enabled/*

Je kunt uiteraard gewoon vanaf scratch beginnen en deze onzin eruit slopen, maar dan zul je zelf een compleet nieuwe config moeten opbouwen. Let wel: ik noem het onzin, omdat ik dit soort dingen gewoon onoverzichtelijk vind, maar vanuit een package management oogpunt is het logisch: extra packages kunnen extra bestanden toevoegen zonder in de bestanden zelf te hoeven wroeten. Ik meen me te herinneren dat ik niet lang geleden Ozzie op hetzelfde punt gewezen heb mbt logrotate.
 
Marina janssen

marina janssen

24/06/2016 00:34:01
Quote Anchor link
ik heb deze handleiding gevonden
https://www.sapiolab.nl/linux/elke-website-onder-eigen-gebruiker-middels-mod-ruid2/ (maar omdat deze voor een ander doel is gemaakt heb ik een vraag)

ik ben bij stap 5:
Maak in de directory /etc/apache2/mod-available/ het bestand mod_ruid2.conf aan geef het de volgende content:

RMode stat
RMinUidGid #1000 #1000
RDefaultUidGid #33 #33


Die laatste 2 regels, geldt dat ook in mijn geval? Nee he, ik moet alleen die regel RMode stat erin zetten toch, kan iemand dat bevestigen?
Gewijzigd op 24/06/2016 00:35:05 door marina janssen
 
- Ariën  -
Beheerder

- Ariën -

24/06/2016 00:52:13
Quote Anchor link
Ik zou gewoon alle drie de regels proberen, en kijken of het werkt.
Ik geef een grote kans.
Gewijzigd op 24/06/2016 00:52:34 door - Ariën -
 
Ben van Velzen

Ben van Velzen

24/06/2016 00:55:42
Quote Anchor link
Je mag alles er wel in zetten, 1000 is een logische min uid: system users zijn (standaard) users met id's onder 1000, groups net zo. De default uid/gid kan ik zo snel niet beoordelen, omdat ik niet weet welke user/group 33 is. Welke distro heb je in gebruik? Onder Debian en aanverwanten is dit www-data, wat een logische keuze is.
 
Marina janssen

marina janssen

25/06/2016 00:48:14
Quote Anchor link
ik heb jessie (raspbian)
 
Ben van Velzen

Ben van Velzen

25/06/2016 01:17:08
Quote Anchor link
Dus een Debian variant. Dan is uid/gid 33 logisch. Maar uiteindelijk maakt het niet zoveel uit, want logica dicteert dat defaults alleen zinnig zijn in RMode config, dus wanneer je in je vhost opgeeft welke user/group gebruikt moet worden met RUidGid. Bij RMode stat wordt dit automatisch bepaald.
 
Marina janssen

marina janssen

25/06/2016 19:06:53
Quote Anchor link
Dus als ik het goed begrijp: als Modruid2 goed geinstalleerd is,dan zou er geen www-data meer moeten staan bij whoami.php?
 

Pagina: 1 2 3 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.