Vlákno názorů k článku Web server Nginx bez práv roota s pomocí systemd od Pavel Říha - zajimavy clanek, ale VUBEC mi to neprijde jako...

  • Článek je starý, nové názory již nelze přidávat.
  • 17. 6. 2020 10:10

    Pavel Říha

    zajimavy clanek, ale VUBEC mi to neprijde jako dobry napad.

    normalni sluzba otevre pod rootem co potrebuje (porty,logy,pri­vatni klice!!!) a pak prava zahodi. Sance ze v tom budou mit chybu je relativne mala.

    pokud to pustite pod jinym uzivatelem, tak uz uzivatele zmenit nemuze (to muze jen root) takze sice nehrozi proniknuti az na roota, ale zase je vyrazne vyssi sance ze vam pronikne na daneho uzivatele a muze smazat logy (zahladit po sobe stopy) a zcizit klice, coz je docela smutne.
    Sance je vyssi proto, ze jde o cely zbytek te aplikace, vic kodu, vic rizika. Predtim bylo riskantni jen to po zahozeni prav.

  • 17. 6. 2020 11:56

    J ouda (neregistrovaný)

    Zakomponujete chattr +a httpd.log vhodně do logrotate a neprovede nic.

    Druhá věc jsou klíče - php nebo další zhůvěřilosti je nepřečtou (ani z paměti), a ty klíče stejně v raměti reálně máte i po zahození práv, takže pak záleží na jakou vulnerabilitu narazíte (v obvyklé implementaci), takže nějaké riziko máte vždycky. (a bez HSM to nevyřešíte, ale to už jsme v jiné lize)

  • 17. 6. 2020 12:27

    Filip Jirsák
    Stříbrný podporovatel

    normalni sluzba otevre pod rootem co potrebuje (porty,logy,pri­vatni klice!!!) a pak prava zahodi.
    Ne, to není normální postup – to je workaround vynucený tím, že to dříve nijak nešlo. Normální je samozřejmě aplikaci vůbec nedávat práva, která nepotřebuje. Což umožňují právě capabilities.

    pokud to pustite pod jinym uzivatelem, tak uz uzivatele zmenit nemuze (to muze jen root)
    To není pravda, opět je to jedna z capability.

    zcizit klice
    Pokud aplikace načte klíče při startu, může pak příslušný soubor smazat. K tomu nepotřebujete vůbec žádná zvláštní oprávnění.

    Sance je vyssi proto, ze jde o cely zbytek te aplikace, vic kodu, vic rizika.
    Jenže vy té aplikaci dáváte práva, která vůbec nepotřebuje. K ničemu z toho, co jste napsal, není root potřeba.