Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Php + Osobne Programy
basf
post
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 11.06.2003

Ostrzeżenie: (0%)
-----


Witam


[Pisalem o tym juz php Poczatkujacy, ale nikt nie odpowiedzial. Problem ten jest dla mnie bardzo wazny i mam nadzieje, ze nic sie nie stalo powtarzajac go tutaj]



Pisze skrypt ktory ma wyswietlac dane o uzytkownikach w systemie.
Chce zeby bylo to bezpieczne rozwiazanie.
Pomyslalem ze stworze specjalne skrypty np w bashu czy perlu ktore beda uruchamiane z poziomu php i wykonywac odp rzecz.

#1. Skrypt sprawdzjacy rozmiar calego katalogu domowego uzytkownika
#2. Skrypty tworzace i usuwajace katalogi
#3. Skrypty nadajace odpowiednie chmody
#4. Skrypt restartujacy apacha.

Zapewne wszystkie skrypty beda musialy miec suida i nalezec do apacha a wiec nobody.nogroup aby mial prawo je wykonywac.


Teraz pytania:
1. W czym je napisac, w bashu? Perlu? w C?
2. Beda one operowac na parametrach - przez parametr bede np mowic skryptowi jaki katalog ma usunac. Jak dobrze zabezpieczyc ten przeplyw danych miedzy php a skryptem i jak zapobiegac roznym kombinacjom z tym - nie chce zeby mi ktos podrobil zapytanie i skasowal pol serwera.
3. Ich dzialanie ma sie na przyklad ograniczac tylko do katalogu /a/b i tylko w nim wykonywac - jak sprawdzac te parametry zeby miec 100% pewnosc.


Jest to bardzo wazne dla mnie przy dalszym projektowaniu systemu, od poczatku najwieksza uwage zwracam na bezpieczenstwo.

Myslalem, zeby skopiowac skrypty du (do sprawdzania wielkosci), mkdir,rmdir,chmod i chown do osobnego katalogu i sprobowac je schrotowac + do tego apache chrotowany ale z pewnych wzgledow to odpada.

Jesli mozecie mi pomoc jakos, cos podpowiedziec bede ogromnie wdzieczny.
Go to the top of the page
+Quote Post
FiDO
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Cytat
[Pisalem o tym juz php Poczatkujacy, ale nikt nie odpowiedzial. Problem ten jest dla mnie bardzo wazny i mam nadzieje, ze nic sie nie stalo powtarzajac go tutaj]

To nie jest powod, zeby na Pro z tym leciec, aczkolwiek danie tego tematu na Poczatkujacy tez nie bylo dobrym pomyslem z Twojej strony.
Przenosze na php.
Cytat
#1. Skrypt sprawdzjacy rozmiar calego katalogu domowego uzytkownika

du -k -s --max-depth=1 /home/user 2>/dev/null | cut -f 1

Troche to za krotkie, zeby o tym skrypt pisac smile.gif
Cytat
#4. Skrypt restartujacy apacha.

To tylko root moze wykonac. Pozatym po co Ci to ? Opisz moze dokladniej do czego dazysz z tym systemem, bo tak to opieram sie tylko po czastkowych informacjach.
Cytat
Zapewne wszystkie skrypty beda musialy miec suida i nalezec do apacha a wiec nobody.nogroup aby mial prawo je wykonywac.

Po pierwsze SUID dziala tylko na pliki wykonywalne, na skryptach, mimo ze da sie go ustawic, nie ma on zadnego dzialania.
Po drugie z prawami nobody/nogroup to nie wykonasz zadnego z powyzszych punktow, do pierwszego potrzebowalbys conajmniej praw wlasciciela katalogu (bo jak user sobie jakis katalog odznaczy, zeby Others nie mogli go czytac - co swoja droga jest raczej naturalne - to juz nie sprawdzisz objectosci jego katalogu), do 2 i 3 zaleznie od katalogu w ktorym chcialbys to wyprawiac, ale tez conajmniej prawa wlasciciela tego katalogu wymagane. No i 4 punkt to juz root, wiec potrzebowalbys SUID'a na root'a a to niebezpieczne. Tak wiec napisz cos wiecej co ten system ma robic, pewnie jest lepsze rozwiazanie tego problemu.

Cytat
2. Beda one operowac na parametrach - przez parametr bede np mowic skryptowi jaki katalog ma usunac. Jak dobrze zabezpieczyc ten przeplyw danych miedzy php a skryptem i jak zapobiegac roznym kombinacjom z tym - nie chce zeby mi ktos podrobil zapytanie i skasowal pol serwera.

Przede wszystkim usunac wszystkie ../ z podanej sciezki, potem np, jezeli sciezka jest wzgledna to dokleic ja do pelnej sciezki do katalogu tego uzytkownika i dalej jak juz masz pelna bezwzgledna sciezke to latwo sprawdzic czy jest ona poprawna.
Cytat
3. Ich dzialanie ma sie na przyklad ograniczac tylko do katalogu /a/b i tylko w nim wykonywac - jak sprawdzac te parametry zeby miec 100% pewnosc.

Patrz wyzej.


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
radzaw
post
Post #3





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 14.07.2003
Skąd: z epoki lodowcowej

Ostrzeżenie: (0%)
-----


ja bym odpalal cron-em np. co 5 minut skrypt basha/perla ktory sprawdzi wszystko i zapisze do pliku - po co mieszac php wglab systemu, zwlaszcza jak do tego jest dostep przez www winksmiley.jpg


--------------------
Blog :: Development platform :
Windows 2003 Enterprise Server | Gentoo Linux
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 09:55