[debian] Starten van processen limiteren

Pagina: 1
Acties:

  • mazz
  • Registratie: November 2004
  • Laatst online: 08-06-2025
Ik ben een beetje aan het spelen met directadmin. Nu heb ik dus suphp e.d werkend dus users zijn gejailed in hun mapje. Maar als ik een teamspeakserver upload via ftp en met shell_exec de server run dan start die process gewoon. Is er in linux (debian) een manier op aan te geven welke processen er opgestart mogen worden.

Tijdens mijn zoektocht kon in helaas alleen maar vinden hoe je het aantal processen kunt instellen per user.
Als iemand mij even een duwtje in de goede richting kan geven ben ik heel erg blij.

Ik wil trouwens geen functies disablen in php maar zoek echt naar iets anders

[ Voor 7% gewijzigd door mazz op 27-08-2009 13:15 ]

20 jaar, en wat had ik bereikt?


  • gertvdijk
  • Registratie: November 2003
  • Laatst online: 23:51
Misschien helpt het als je de shell die de user heeft uitzet:
chsh -s /bin/false username

Default heb je /bin/bash, met /bin/false kan je dus ook niet meer inloggen via SSH!! Dus pas op dat je jezelf niet buitensluit. ;)

Kia e-Niro 2021 64kWh DynamicPlusLine. 3x Victron MP-II op 15kWh US5000 3f thuisbatterij met 3x25A→3x40A PowerAssist, Victron EVCS, 3200Wp HoyMiles zp. my GitHub, my blog


  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 23:25

CAPSLOCK2000

zie teletekst pagina 888

Met selinux kan het. Maar denk even goed na over wat je aan het doen bent.

Van de ene kant biedt je mensen de mogelijkheid om hun eigen (php) programma code te starten, en van de andere kant wil je voorkomen dat ze software op de server draaien. Dat is een beetje tegenstrijdig.

Als ik teamspeak herschrijf in PHP, mag ik het van jou dan wel of niet draaien?

This post is warranted for the full amount you paid me for it.


Verwijderd

shell_exec is een van de php functions die hosters meteen disablen vanwege security redenen. Een andere eenvoudige truuk om dit soort dingen te voorkomen is het noexec mounten partities ;)

  • mazz
  • Registratie: November 2004
  • Laatst online: 08-06-2025
Met noexec mag niemand meer wat uitvoeren toch?

Mijn gedachte is dat gebruikers is principe alles mogen doen op de server. Aangezien ze toch in hun eigen shell zitten. Pcextreme heeft dit bijvoorbeeld ook zo geregeld en daar heeft iedereen ook jailed ssh toegang.
Zou daar iets runnen om processen als teamspeak tegen te gaan? In hun regels staat ook dat je geen irc botjes enzo mag runnen.

En als jij teamspeak in php schrijft (wat overigens niet mogelijk is) dan mag je het gewoon draaien

20 jaar, en wat had ik bereikt?


  • gertvdijk
  • Registratie: November 2003
  • Laatst online: 23:51
Verwijderd schreef op donderdag 27 augustus 2009 @ 16:06:
shell_exec is een van de php functions die hosters meteen disablen vanwege security redenen.
Tja, dan mis je ook gelijk Imagick features dat men graag verkoopt als selling point. En gewoon andere simpele commandline tools die je misschien wel 'valide' mag gebruiken. Denk aan LaTeX plaatjes renderen voor een forum, MySQLdump voor je backups van je databases... etcetera.
Verwijderd schreef op donderdag 27 augustus 2009 @ 16:06:
Een andere eenvoudige truuk om dit soort dingen te voorkomen is het noexec mounten partities ;)
Dat is natuurlijk een heel goede oplossing. Zou dat ook werken met 'bindmounts' (mount -o bind,noexec)? Zo zorg ik altijd voor mappen die beschikbaar moeten zijn in een chroot jail. Dan hoef je niet het hele filesystem te beschermen tegen execution.
Eventueel kan je ook nog allemaal LV's maken op een LVM VG voor elke beperkte 'gebruiker' en daarop met beperkte rechten mounten.

[ Voor 3% gewijzigd door gertvdijk op 27-08-2009 18:04 ]

Kia e-Niro 2021 64kWh DynamicPlusLine. 3x Victron MP-II op 15kWh US5000 3f thuisbatterij met 3x25A→3x40A PowerAssist, Victron EVCS, 3200Wp HoyMiles zp. my GitHub, my blog


Verwijderd

mazz schreef op donderdag 27 augustus 2009 @ 17:55:
Pcextreme heeft dit bijvoorbeeld ook zo geregeld en daar heeft iedereen ook jailed ssh toegang.
Ik zou mensen als hoster helemaal geen ssh toegang geven, maar mensen alleen toegang geven via de chroot sftp functionaliteit van openssh ;)

http://undeadly.org/cgi?a...rticle&sid=20080220110039

http://wiki.archlinux.org/index.php/SFTP-chroot

Verwijderd

gertvdijk schreef op donderdag 27 augustus 2009 @ 18:03:
[...]
Zou dat ook werken met 'bindmounts' (mount -o bind,noexec)?
Geen idee Gert. Ik weet alleen dat sinds 2.6.26 Read-Only binds mogelijk zijn:

http://kernelnewbies.org/...3dd955b16a41cab633d11645b

  • mazz
  • Registratie: November 2004
  • Laatst online: 08-06-2025
Maar als ik een partitie noexec mount dan kan root daar ook niets meer executen toch?

20 jaar, en wat had ik bereikt?


Verwijderd

mazz schreef op donderdag 27 augustus 2009 @ 21:51:
Maar als ik een partitie noexec mount dan kan root daar ook niets meer executen toch?
Yep

  • gertvdijk
  • Registratie: November 2003
  • Laatst online: 23:51
mazz schreef op donderdag 27 augustus 2009 @ 21:51:
Maar als ik een partitie noexec mount dan kan root daar ook niets meer executen toch?
En daarom begon ik over 'bindmounts'. ;)

Kia e-Niro 2021 64kWh DynamicPlusLine. 3x Victron MP-II op 15kWh US5000 3f thuisbatterij met 3x25A→3x40A PowerAssist, Victron EVCS, 3200Wp HoyMiles zp. my GitHub, my blog


  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 23:25

CAPSLOCK2000

zie teletekst pagina 888

mazz schreef op donderdag 27 augustus 2009 @ 17:55:
Met noexec mag niemand meer wat uitvoeren toch?
correct, maar het is geen echte beveiliging, alleen een handige truuk om foutjes te voorkomen.
Als je wil kun je gewoon die executables gewoon uitvoeren op de volgende manier:
code:
1
 /lib/ld.so.1 /mnt/noexec/mijn_executable
Mijn gedachte is dat gebruikers is principe alles mogen doen op de server. Aangezien ze toch in hun eigen shell zitten. Pcextreme heeft dit bijvoorbeeld ook zo geregeld en daar heeft iedereen ook jailed ssh toegang.
Zou daar iets runnen om processen als teamspeak tegen te gaan? In hun regels staat ook dat je geen irc botjes enzo mag runnen.
Mogen ze nu wel of niet alles doen? Je schrijft dat ze alles mogen doen, maar wil niet dat ze teamspeak runnen.
En als jij teamspeak in php schrijft (wat overigens niet mogelijk is) dan mag je het gewoon draaien
Naar mijn mening is dat prima mogelijk. Ik zie niet in waarom niet.

This post is warranted for the full amount you paid me for it.


  • gertvdijk
  • Registratie: November 2003
  • Laatst online: 23:51
CAPSLOCK2000 schreef op vrijdag 28 augustus 2009 @ 16:54:
correct, maar het is geen echte beveiliging, alleen een handige truuk om foutjes te voorkomen.
Als je wil kun je gewoon die executables gewoon uitvoeren op de volgende manier:
code:
1
 /lib/ld.so.1 /mnt/noexec/mijn_executable
Die moet ik onthouden. :o

Kia e-Niro 2021 64kWh DynamicPlusLine. 3x Victron MP-II op 15kWh US5000 3f thuisbatterij met 3x25A→3x40A PowerAssist, Victron EVCS, 3200Wp HoyMiles zp. my GitHub, my blog


Verwijderd

CAPSLOCK2000 schreef op vrijdag 28 augustus 2009 @ 16:54:
[...]

correct, maar het is geen echte beveiliging, alleen een handige truuk om foutjes te voorkomen.
Als je wil kun je gewoon die executables gewoon uitvoeren op de volgende manier:
code:
1
 /lib/ld.so.1 /mnt/noexec/mijn_executable
Dat was vroeger zo. Tegenwoordig is noexec echt noexec ;)
Pagina: 1