public_html + access

Sekcia: Konfigurácia 28.11.2007 | 22:44
peto   Návštevník
zdravim,

mam pc + httpd server. Kazdy uzivatel ma ~/public_html. Vsetko ide ako ma.

Otazka: ako dosiahnut aby boli subory viditelne iba cez web. Co ak tam niekto ma cgi subor a v nom nejake hesla na databazu a chce zamedzit aby sa uzivatel ktory ma konto na stroji neprihlasil cez ssh a nevylistoval si to. (spustit moze, citat nie)

mna napadaju v podstate len 3 riesenia, ale vsetky mi pridu take "divne" :)

1, SUID bit na nejaky subor co uz bude moc citat vsetko...
2, dat vsetkych do jednej skupiny (a potom zakazat pre others vsetko) - nie som si isty ci by to fungovalo ak by uzivatel mal viac skupin...
3, ACL - povolit vstup iba pre "web" usera

nejaky normalny napad? :)
dik
    • Re: public_html + access 28.11.2007 | 23:08
      Avatar Igor Hlina Mac OS ML  Používateľ
      CGI skripty musia byt v specialnej zlozke v Apache2. V htdocs nemaju sancu sa spustit.

      Ak kces bloknut pristup k suborom z webu, vytvor si v danej zlozke subor .htaccess s obsahom
      Deny From All
      Subory v tejto zlozke moze potom iba servnut Apache, user si ich z webu nemoze nacitat.
      while (2*2 == 5) { echo "If you're reading this, something is definitely wrong"; }
    • Re: public_html + access 29.11.2007 | 00:13
      Avatar uid0 Debian  Používateľ
      nastav skupinu www-data (alebo aku) na public_html a nastav prava 710 alebo 750 alebo 770 podla potreby

      ale dalsi useri si to budu moct stale citat ak si napisu vlastne cgi, pretoze to bude bezat pod www-data userom

      ak sa jedna o php, tak by si tomu mohol zamedzit nastavenim open_basedir

      ak ide o nejake normalne CGI, tak mozes skusit suexec a potom nebudu mat sancu, ale konkretne neporadim

      btw tvoja poziadavka na nevylistovanie je dost cudna -- nie je vela dovodov zakazovat listovanie ak ide o binarku, ale pri skripte to musi vediet precitat interpreter (a tam ale nechces suid/sgid, to by bolo zle)
      Debian. apt-get into it…
      • Re: public_html + access 29.11.2007 | 13:46
        Avatar Samuel BWPOW Kupka CentOS, Mandriva  Používateľ
        Pripajam sa k pouiztiu suexec. Asi jedine schodne riesenie. Inak uz zostava len vlastna instancia apachu pre kazdeho uzivatela alebo dokonca vlastna virtualna masina.
        Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity
    • Re: public_html + access 29.11.2007 | 13:32
      Avatar bananomet Gentoo  Používateľ
      napada ma komicke riesenie v podobe chmod 701 public_html (pokial je grupa users), tak by bolo zabezpecene aby sa tam ziadny user(predpokladam ze useri su v grp users) nedostal. apache by nemalo byt v users, tak sa tam dostane cez other prava(execute) a weby pojdu...
      • Re: public_html + access 29.11.2007 | 13:44
        Avatar Samuel BWPOW Kupka CentOS, Mandriva  Používateľ
        Problem je, ze prava other sa aplikuju nezavisle od group, takze ak da nieko o+x, tak tam vojde proste kazdy.
        Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity
        • Re: public_html + access 29.11.2007 | 13:52
          Avatar bananomet Gentoo  Používateľ
          hmmm....to bol taky rychly napad, skusal som mkdir test; chown nejaky_user:users test; chmod 705 test a zo svojho usera sa tam prehodit, dal mi permission denied. mozno mi unikaju nejake suvislosti a je pravda, ze to je skor ista forma "security by obscurity", pretoze prava nobody(ktory by sa tam cez other dostal) nie je az take tazke ziskat. asi najlepsie zo standardnych rieseni by potom bolo - owner=dany user, grupa=apache, other prava vynulovat. + pouzit spominany open_basedir, inak sa budu dat vylistovat akymkolvek php skriptom 4 cenovej kategorie
          • Re: public_html + access 29.11.2007 | 13:57
            Avatar Samuel BWPOW Kupka CentOS, Mandriva  Používateľ
            Aj open_basedir sa da obist. Niekde lahsie, niekde tahsie, ale da sa. Otazka bola ale na CGI skripty, takze sa da predpokladat, ze ide o ine jazyky alebo dokonca obycajne binarky. Tu fakt pomoze len suexec.
            Strach dát najevo své pocity a zjednat si u druhých respekt je jedním z problémů civilizovaného člověka, který se naučil zpochybňovat svou vlastní pravdu pro zdání objektivity