[hp-ux]veilig een script draaien vanaf winNT

Pagina: 1
Acties:

  • zomertje
  • Registratie: Januari 2000
  • Laatst online: 17-02 12:22

zomertje

Barisax knorretje

Topicstarter
Ik heb een dilemma: Ik wil een script runnen vanaf een windows NT server. Het script gaat draaien als de stroom uitvalt en de ups ingschakeld wordt. Het script moet ervoor zorgen dat de progress databases op de server gestopt worden en de server zelf een shutdown commando krijgt. Voor deze acties heb je echter een hoop rechten nodig.

Ik heb een speciale gebruiker aangemaakt die op het unix systeem geen shelltoegang heeft (voor de beveiliging), Deze gebruiker zit wel in een aantal groepen maar dit is nog niet genoeg om de databases uit te zetten. Hiervoor zijn eigenlijk rootrechten nodig. Het liefst zou ik deze gebruiker dus alleen de mogelijkheid geven dat ene script te runnen dat daarvoor zorgt.

Vanaf de NT server wordt gebruik gemaakt van rexec (andere tools kreeg ik niet aan de praat :( ) dit mag alleen van die server (waar niet iedereen in kan natuurlijk, de c: is niet geshared) ook de execute rechten op het batch script waar de rexec opdracht in staat zijn alleen beperkt tot de admins. Het batch script runt dus de rexec en die start een shell script. Dus:

batch > rexec > ksh script

Nu de vraag: hoe kan ik op een veilige manier een unix script runnen met root rechten? sudo zeggen ze op Google, of zijn er nog andere veilige methoden?

het ultieme jaargetijde.... | #!/usr/bin/girl | Art prints and fun


  • riddles
  • Registratie: April 2000
  • Laatst online: 13-05 15:00
De enige juiste oplossing is inderdaad sudo.

Een tweede (mogelijke, maar minder veilige) oplossing is de volgende.
- Maak een aparte groep aan, waarin alleen deze gebruiker zit
- Maak het script setuid (chmod u+s) file.ksh
- Zorg ervoor dat het script van deze root en deze groep is: chown root:groep file.ksh
- Zorg ervoor dat alleen root en deze groep het script uit kunnen voeren: chmod g-w,o-rwx file.ksh
- Zet dit script bij voorkeur nog in een directory waar alleen deze gebruiker bijkan.

En dan de waarschuwingen:
- rexec is ONVEILIG. Het faken van een reverse lookup of een IP adres is niet bijzonder moeilijk.
- setuid shellscripts zijn ook ONVEILIG. Met bovenstaande probeer je hacken te voorkomen, maar ideaal is het zeker niet; sudo is stukken beter.

  • zomertje
  • Registratie: Januari 2000
  • Laatst online: 17-02 12:22

zomertje

Barisax knorretje

Topicstarter
Dank voor je tips :)

het ultieme jaargetijde.... | #!/usr/bin/girl | Art prints and fun


  • Valium
  • Registratie: Oktober 1999
  • Laatst online: 09-05 16:54

Valium

- rustig maar -

Hmm ja. Je kunt beter rexec vervangen door ssh. De officiele ssh van ssh.com heeft ook commandline-clients. Op die manier kunnen zowel de client als de server zich identificeren met rsa-keys. Verder kun je beter gebruik maken van sudo. Op die manier kun je per gebruiker een nopasswd-root-toegang maken tot dat script. Dan ben je meteen root en alleen voor dat script. Zorg er wel voor dat een mogelijke hacker dat script niet kan misbruiken (door invoer te redirecten naar /dev/null bijvoorbeeld).

Verwijderd

Valium schreef op 21 December 2002 @ 10:56:
Hmm ja. Je kunt beter rexec vervangen door ssh. De officiele ssh van ssh.com heeft ook commandline-clients. Op die manier kunnen zowel de client als de server zich identificeren met rsa-keys. Verder kun je beter gebruik maken van sudo. Op die manier kun je per gebruiker een nopasswd-root-toegang maken tot dat script. Dan ben je meteen root en alleen voor dat script. Zorg er wel voor dat een mogelijke hacker dat script niet kan misbruiken (door invoer te redirecten naar /dev/null bijvoorbeeld).
Inderdaad, dit is de huidige manier. De ssh server is voor versie 11.00 en hoger gewoon gratis te downloaden bij software.hp.com.