Skocz do zawartości
tompl

Wlasny panel administracyjny

Polecane posty

Witam,

Prosze Was o pomoc w budowie panelu administracyjnego, a dokladnie o nakierowanie mnie w pewnych kwestiach zwiazanych z bezpieczenstwem i uprawnieniami.

 

Zastanawiam sie juz od 2tyg. jak zaczac prace i na jakich jezykach programowania oprzec swoja prace. Zdecydowalem sie na Fastcgi + php + sqlite, raczej nie szukam utrudnienia lecz z kazdym krokiem sprawia sie komplikuje.

 

I. Bezpieczenstwo

1. Wykonywanie skryptow i prawa uzytkownika.

Napewno chce by skrypty wykonywane byly przez uzytkownika np. panel_www ktory bedzie mial dostep do plikow /etc/hosts /etc/passwd /etc/group, a takze polecen jak iptables reboot halt.

 

Przegrzebujac net znalazlem kilka tutoriali na temat wykonwyania skryptow w bezpieczny sposob:

 

a) http://aiv-dev.info/2007/12/30/konfiguracj...nych-rozwiazan/

Niestety nie udalo mi sie odpalic nawet prostego pliku .php :

<?php echo '<p>Hello World</p>'; ?>

 

error_log

[sun Dec 14 16:02:37 2008] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]

[sun Dec 14 16:02:37 2008] [notice] suEXEC mechanism enabled (wrapper: /usr/local/apache2/bin/suexec)

[sun Dec 14 16:02:37 2008] [notice] FastCGI: wrapper mechanism enabled (wrapper: /usr/local/apache2/bin/suexec)

[sun Dec 14 16:02:37 2008] [notice] FastCGI: process manager initialized (pid 15481)

[sun Dec 14 16:02:37 2008] [notice] Apache/2.2.10 (Unix) mod_ssl/2.2.10 OpenSSL/0.9.8g mod_fastcgi/2.4.6 configured -- resuming normal operations

[sun Dec 14 16:02:49 2008] [warn] FastCGI: (dynamic) server "/var/www/panel_www/htdocs/fcgi/php4" (uid 0, gid 0) started (pid 15495)

[sun Dec 14 16:02:49 2008] [warn] FastCGI: (dynamic) server "/var/www/panel_www/htdocs/fcgi/php4" (pid 15495) terminated by calling exit with status '0'

[sun Dec 14 16:02:55 2008] [warn] FastCGI: (dynamic) server "/var/www/panel_www/htdocs/fcgi/php4" (uid 0, gid 0) restarted (pid 15497)

[sun Dec 14 16:02:55 2008] [warn] FastCGI: (dynamic) server "/var/www/panel_www/htdocs/fcgi/php4" (pid 15497) terminated by calling exit with status '0'

[sun Dec 14 16:03:01 2008] [warn] FastCGI: (dynamic) server "/var/www/panel_www/htdocs/fcgi/php4" (uid 0, gid 0) restarted (pid 15502)

 

:P podobny sposob jak powyzszy choc lepiej opisany i dodany chroot'a http://www.seaoffire.net/fcgi-faq.html

Niestety jeszcze nie rpbowalem, ale mam watpliwosci czy chroot nie utrudni mi dostepu do plikow /etc/. Jedyny sposob co mi podchodzi do glowy to linkowac /etc/ pliki wybrane do folderu domowego.

 

 

 

Jakby ktos moglby mnie nakierowac jak bezpiecznie skrypty wykonywac, tak by zmienne byly przesylane wewnatrz programu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Podziel panel na dwie czesci:

1. interfejs dla usera

2. daemon wykonujacy operacje

Interfejs dla usera piszesz w dowolnym jezyku (moze byc php) nie musisz mu nadawac zadnych specjalnych uprawnien itp. Komunikacja z daemonem wykonaj za pomoca tcp/ip lub socketow. Daemona mozesz sobie napisac w dowolnym jezyku jaki lubisz (rowniez moze to byc php), musi on dzialac albo na poziomie roota albo z dodatkowymi uprawnieniami (np. za pomoca sudo). Autoryzacja usera logujacego sie do panelu musi sie odbywac na poziomie daemona, czyli interfejs utrzymuje u siebie sesje z loginem i haslem i kazdorazowe zapytanie do daemona (np. poproszenie o liste domen usera) musi byc poprzedzone wyslaniem loginu/hasla. Dostep do daemona powinien miec tylko interejs www panelu (firewall w systemie, dodatkowo sprawdzanie ipka przez daemona, itp).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dokładnie tak jak pisze ertcap.

 

W dostępnych na rynku rozwiązaniach panel zawsze ma osobny serwer www - tak aby bez problemu działał nawet po zepsuciu apache. Podejrzewam, że warto dać mu dużo większy priorytet.

 

Daemon - łatwo znaleźć w necie rozwiązania nadające się pod to. Ja znalazłem coś w tym stylu napisane w pythonie - język prosty, a na podstawie tego co było mogę go całkiem nieźle rozwijać. Każde polecenie to konieczność podania loginu i hasła (openSSL). Ma wpisane na sztywno IP z którego dopuszcza połączenia + komendy które pozwala wykonywać. Do moich zastosowań do tej pory nie potrzebowałem root'a, więc działa na innym użytkowniku (teraz dopiero będę zmieniał mu dostęp do niektórych plików).

 

To chyba tyle. Pisząc staraj się wszystko dokładnie przemyśleć. Dobrze będzie jeśli każdy fragment kodu dasz do sprawdzenia znajomemu, który będzie wyłapywał ew. błędy. Czasami nawet znając wszystkie wytyczne "jak pisac bezpiecznie" mozesz ze zmeczenia palnac gdzies jakies głupstwo, ktore bedzie Cie potem sporo kosztowac.

 

[No i od poczatku pisz wszystko z porządnym podzialem na pliki i obiekty, zebys potem mogl sie latwo polapac :P]

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dzieki za bardzo ciekawe i konkretne wypowiedzi. Zastanawialem sie nad tym daemonem, osobiscie nie lezy mi wykonywanie skryptow co minute. Preferuje rozwiazanie ze bede wykonywal zapytanie za kazdym razem gdy bede chcial np. pobrac liste hostow. Panel nie bedzie rozbudowany proste opcje tj.: przekierowanie portow, dodanie hosta, dns, virtual hosts.

Baze uzyje jako przechowalnie userow, szablony ustawien, zmiany wprowadzone w ostatnim czasie. Dane ktore ulegaja kasacji np. regulki iptables wrzuce do jakiegos pliku/ lub napisz skrypt w perl ktory by mi te dane wgrywal przy starcie systemu i licze sie z tym ze jak root wykona iptables restart to dane ulegna zmianie i moge miec balagan(ale bez juz takich szczegolow).

 

I raczej na taki wariant bede sie decydowal, napisze stronke w php jakis prosty cms z ssl, a skrypty bede wykonwywal z cgi-bin(skrypty raczej perl) choc szczerze byl wolal php.

Mam dosyc konkretne pytanie, czy do wykonywania polecen iptables potrzebuje tworzyc skrypt bash czy istnieje mozliwosc wywolania w php np. exec iptables -L

 

Pozdrawiam

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

wklepać w bibliotekę libssh do php i powinno chodzić iptables -L ale nie wiem czy się nie mylę i czy to bezpieczne rozwiązanie

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
I raczej na taki wariant bede sie decydowal, napisze stronke w php jakis prosty cms z ssl, a skrypty bede wykonwywal z cgi-bin(skrypty raczej perl) choc szczerze byl wolal php.

Mam dosyc konkretne pytanie, czy do wykonywania polecen iptables potrzebuje tworzyc skrypt bash czy istnieje mozliwosc wywolania w php np. exec iptables -L

Jak już zostało powiedziane:

- interfejs dla użytkownika który będzie np dodawał do bazy danych informacje o czynnościach zleconych przez usera.

- deamon wykonujący zadane operacje przez użytkownika.

 

W między nimi opcje weryfikacyjne, zabezpieczenia, kolejkowanie, etc...

 

To chyba taka najprostsza metoda.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Jak już zostało powiedziane:

- interfejs dla użytkownika który będzie np dodawał do bazy danych informacje o czynnościach zleconych przez usera.

- deamon wykonujący zadane operacje przez użytkownika.

 

W między nimi opcje weryfikacyjne, zabezpieczenia, kolejkowanie, etc...

 

To chyba taka najprostsza metoda.

No tak, mozliwe ze najprostrze ale nie najwydajniejsze. Rozumiem ze ustawienia zapisuje do bazy, lecz daemon bedzie musial sprawdzac co iles czy nastapila zmiana ustawien. Pozatym skad ma wiedziec czy te ustawienia juz byly wprowadzone(by nie zaistniaja sytuacja w ktorej by ciagle dodal te same regulki).

 

Co do daemona to sprawa jest o tyle fajna ze w przyszlosci mozna by bylo stworzyc np. program w javie ktory by laczyl sie z serwerem i w tym niewatplie jest spory plus. Dodatkowy atut to rozdzielenie uzytkownikow www i daemona, jedyna sytuacja w ktorej mozna by przejaci kontrole to taka w ktorej by poznal haslo do panalu.

 

Hm coraz bardziej przekonuje mnie ten daemon, bylo to nawet proste w uzyciu z perlem.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
No tak, mozliwe ze najprostrze ale nie najwydajniejsze. Rozumiem ze ustawienia zapisuje do bazy, lecz daemon bedzie musial sprawdzac co iles czy nastapila zmiana ustawien.

Pozatym skad ma wiedziec czy te ustawienia juz byly wprowadzone(by nie zaistniaja sytuacja w ktorej by ciagle dodal te same regulki).

Nie musi.

Np: użytkownik dodaje domenę w swoim interfejsie, sprawdza on automatycznie czy składnia domeny jest prawidłowa, czy już nie istnieje, etc... zapisuje ją do bazy w kolejce do wykonania, deamon otrzymuje sygnał do wykonania danej operacji.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Nie musi.

Np: użytkownik dodaje domenę w swoim interfejsie, sprawdza on automatycznie czy składnia domeny jest prawidłowa, czy już nie istnieje, etc... zapisuje ją do bazy w kolejce do wykonania, deamon otrzymuje sygnał do wykonania danej operacji.

SSL mam uzywac w polaczeniach user <-> www wylacznie, czy tez uzywac za kazdym razem polaczenia php z baza(o ile tak mozna) i daemona z baza ?

Z czego widzalem sqlite nie obsulguje SSL.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Przecież użytkownik nie ma bezpośredniego dostępu do daemona.

Daemon siedzi sobie gdzieś tam schowany i tylko wykonuje zlecone operacje.

Jednak wszystko zależy od skali rozbudowy funkcjonalności.

 

Czy w ogóle znasz podstawy działania takich rozwiązań?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

SSL na lini user<->www oraz www<->daemon.

 

Moj daemon chodzi jak kazdy linuxowy daemon czyli cicho siedzi i czeka na polecenia. Jest to na pewno wydajne. Zmiany zapisuj w DB, zeby latwiej sprawdzac czy domena juz istnieje itp.

 

 

Pamietaj o logach. Za rowno logowanie dzialan w www jak i dzialan wykonywanych przez daemona - oba niezaleznie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dziekuje jeszcze raz wszystkim za wypowiedzi w tym temacie.

 

 

SSL na lini user<->www oraz www<->daemon.

 

Moj daemon chodzi jak kazdy linuxowy daemon czyli cicho siedzi i czeka na polecenia. Jest to na pewno wydajne. Zmiany zapisuj w DB, zeby latwiej sprawdzac czy domena juz istnieje itp.

Zastanwiam sie na jakiej zasadzie dziala polaczenie perla/php "poprzez" ssl z baza.

 

Czy w ogóle znasz podstawy działania takich rozwiązań?

Rozwiazan z wykorzystaniem daemona? Raczej nie, wiem jak to ma dzialac i gdzie beda problemy w wykonywaniu polecen. Technicznie nie mam pojecia jak to wykonac, np. jak polaczyc sie z baza poprzez wykorzystanie SSL.

Wiem ze przedemna masa uczenia, ale chce cos w koncu zrobic.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Zastanwiam sie na jakiej zasadzie dziala polaczenie perla/php "poprzez" ssl z baza.

MYSQL_CLIENT_SSL jest rozwiazaniem.

Ciagle mnie dreczy problem jak rozwiazac sytuacje w ktorej ktos doda regulke nie poprzez panel, a z poziomu konsoli. Zastanawiam sie nad wykorzystaniem fcgi ktore by wczytywalo mi te dane z plikow, a co gorsze z iptables.

user zwykly nie moze nawet skorzystac z listy iptables -L, bym musial zrobic sudo ip-list iptables -L.

Jezeli ktos ma pomysl prosze pisac ;]

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
wklepać w bibliotekę libssh do php i powinno chodzić iptables -L ale nie wiem czy się nie mylę i czy to bezpieczne rozwiązanie
Mylisz się.

 

tompl: Z Twoich wypowiedzi wynika, że nie posiadasz ani odpowiedniej wiedzy technicznej ani nawet nie masz pomysłu jak to sensownie zaprojektować (nie wspominając już o bezpieczeństwie). Jeżeli ma to być rozwiązanie produkcyjne to lepiej zleć to zewnętrznej firmie (np. Nephax'owi).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
tompl: Z Twoich wypowiedzi wynika, że nie posiadasz ani odpowiedniej wiedzy technicznej ani nawet nie masz pomysłu jak to sensownie zaprojektować (nie wspominając już o bezpieczeństwie). Jeżeli ma to być rozwiązanie produkcyjne to lepiej zleć to zewnętrznej firmie (np. Nephax'owi).

To wykaz sie i podpwiedz cos, bo tak szczerze Twoj post nic nie wnosi do tematu. Pozatym to jest praca inz., po drugie da sie taki panel w bardzo prosty sposob zrobic uzywajac cgi/php.

 

NIE MOZECIE PODPOWIEDZIEC, NIE PISZCIE. To nie jest temat, by pisac kocopoly typu ze NIE:wiesz/umiesz/zrobisz.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zły temat sobie wybrałeś chyba :/ (pracy)

 

Nie wciskaj tam na siłę MySQL czy jakiejkolwiek innej bazy danych w połączeniu php<->daemon.

 

Normalnie przez socket:

$con['fopen'] = @fsockopen($encrypt."://".$con['ip'], $con['port'], $errno, $errstr, 30);

 

PS:

 

podejrzewam, ze kto jak kto, ale 'p' dobrze wie jak sie do tego zabrac. Po prostu zadajesz pytania, ktore w gruncie rzeczy nie dotycza nawet tematu, ktory Cie interesuje.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Hmm...wszystko sprowadza się do tego jaką masz wiedzę z programowania aplikacji sieciowych, nie odbierz tego źle - w końcu chodzi o to żeby się uczyć i nauczyć :) ale widzę że nie całkiem pełną (inaczej wystarczyło by Ci zerknąć na to co napisał ertcap i już byś miał ogólne pojęcie jak zaprojektować szkielet tego, bez pisania o cronie i jakimś okresowym sprawdzaniu bo nie o to tu chodzi).

 

Ogólnie spróbuj sobie wyobrazić jakiś uproszczony use case, np. dodanie konta... zrobienie tego z poziomu php, cgi czy czegoś w tym rodzaju odpalonego z prawami roota moim zdaniem kwalifikuje się jako zbrodnia przeciwko ludzkości :) jeśli chodzi o bezpieczeństwo, ale potrzbujesz tego roota, więc dostałeś propozycje zrobienia tego w klasycznym modelu klient-serwer.

W tym przypadku:

- serwerem jest ów straszny daemon który pracuje cały czas i np. nasłuchuje na jakimś porcie (np. 10000) na połączenia TCP (tylko jeden z przykładów); on nie sprawdza nic co jakiś czas tylko czeka aż ktoś "się odezwie" jak każdy inny serwer (WWW, POP3 itp); Oczywiście daemon pracuje z podniesionymi uprawnieniami (np. roota) [1].

- klient czyli dowolna aplikacja która chce wykonać daną operację (np. dodać konto); to może być np. php zapewniające interfejs webowy, może też być aplikacja konsolowa (kiedyś widziałem taki model gdzie passwd było klientem specjalnego daemona, żeby nie musiało być SUID root) - to nie jest istotne co to jest, ważne żeby w jakiś sposób mogło się zalogować do serwera [1] (dostałeś przykładowe najprostsze rozwiązanie - klient tylko przekazuje podane mu login/hasło) i wysłać (w dowolny sposób, protokół raczej sam musisz sobie zaplanować) polecenie. Np. możesz bezpośrednio wysłać serwerowi: dodaj takie a takie konto, a ten musi zadbać żeby to sobie gdzieś zapisać (zakolejkować) i sensownie obsłużyć, możesz też (całkiem fajne rozwiązanie) wpisać do jakiejś bazy i powiedzieć przez połączenie z [1] - masz tu "obiadek" w bazie zjedz to i zrób co masz zrobić :)... to już szczegóły przy całej ogólnej koncepcji (dopóki jej nie zrozumiesz nie ruszysz dalej i tylko sobie zagmatwasz w głowie).

Co do połączeń gdzie SSL, gdzie nie - to też musisz zobaczyć jaki chcesz mieć ogólny plan - na pewno musisz mieć SSLowe połączenie z serwerem WWW jeśli skrypt kliencki będzie tam stał bo bez tego ani rusz... teraz pytanie gdzie będzie daemon, w skrajnym przypadku wszystko możesz mieć rozproszone (daemony na kilku maszynach zarządzające kawałkiem infrastruktury na danej maszynie, SQL (jak potrzebny) na innej, a panel jeszcze na innej i wtedy raczej potrzebujesz połączenia po SSLu każdy z każdym (o ile istnieje możliwość podsłuchania transmisji, co lepiej zawsze założyć). Ale w najprostszym przypadku jeśli połączenia między panelem i daemonem idą po lokalu to możesz się bez tego obejść.

Generalnie przemyśl co chcesz zrobić (na jaką skalę) i rozplanuj najpierw ogólną koncepcję, jakie wymagania musi spełniać system, zrób jakąś analizę zagrożeń dla systemu (co gdzie może pójść nie tak jak powinno :)) to potem będziesz wiedział co potrzebujesz (np. gdzie SSL, gdzie nie) i będziesz mógł wybrać pasującą technologię, a dopiero mając technologię będziesz mógł szukać konkretnych rozwiąń (np. jak obsłużyć połączenie po SSLu).

Mam nadzieję, że coś wyjaśniłem... po prostu nie patrz zbyt schematycznie na to bo się pogubisz.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Nie wciskaj tam na siłę MySQL czy jakiejkolwiek innej bazy danych w połączeniu php<->daemon.

 

Normalnie przez socket:

$con['fopen'] = @fsockopen($encrypt."://".$con['ip'], $con['port'], $errno, $errstr, 30);

Na poczatku zakladalem tj. ktos dal propozycje zeby do bazy wrzucic wszelkie ustawienia, a daemon by np. z tabeli zrob_to robil po koleji rzeczy po skonczeniu zadania by zwracal OK i kasowal zadanie z bazy(o ile by to nie bylo zlecenie regularne) w przypadku bledu wpisywal by do tabeli errors infomracje o bledzie(stad powiedzalem o croonie - wiadomo ze nawet moge zrobic petle nieskonczona...)

 

 

Hmm...wszystko sprowadza się do tego jaką masz wiedzę z programowania aplikacji sieciowych, nie odbierz tego źle - w końcu chodzi o to żeby się uczyć i nauczyć :blink: ale widzę że nie całkiem pełną (inaczej wystarczyło by Ci zerknąć na to co napisał ertcap i już byś miał ogólne pojęcie jak zaprojektować szkielet tego, bez pisania o cronie i jakimś okresowym sprawdzaniu bo nie o to tu chodzi).

Stoje napewno przez wielu na straconej pozycji ale nie mam doswiadczenia w pisaniu sieciowych aplikacji.

 

 

 

Ogólnie spróbuj sobie wyobrazić jakiś uproszczony use case, np. dodanie konta... zrobienie tego z poziomu php, cgi czy czegoś w tym rodzaju odpalonego z prawami roota moim zdaniem kwalifikuje się jako zbrodnia przeciwko ludzkości jeśli chodzi o bezpieczeństwo, ale potrzbujesz tego roota, więc dostałeś propozycje zrobienia tego w klasycznym modelu klient-serwer.

Widzalem przedtem bardzo proste panele administracyjne uzywajaca php/cgi/mysql, stad pierwsza moja mysl zeby to w taki sposob zrobic. Teraz zobaczyl ze naprawde bezpieczne rozwiazanie jest zaprezentowane przez Was, przy uzyciu daemona.

 

Generalnie przemyśl co chcesz zrobić (na jaką skalę) i rozplanuj najpierw ogólną koncepcję, jakie wymagania musi spełniać system, zrób jakąś analizę zagrożeń dla systemu (co gdzie może pójść nie tak jak powinno ) to potem będziesz wiedział co potrzebujesz (np. gdzie SSL, gdzie nie) i będziesz mógł wybrać pasującą technologię, a dopiero mając technologię będziesz mógł szukać konkretnych rozwiąń (np. jak obsłużyć połączenie po SSLu).

Mam nadzieję, że coś wyjaśniłem... po prostu nie patrz zbyt schematycznie na to bo się pogubisz.

Skala jak najprostsza, tak by podstawowe funkcje dzialyly np. dodanie usera, virtualki itp. Raczej bedzie to szlo na localu, ale chce zostawic furtke i zrobic to bardziej uniwersalne np. baza na innym routerze(a to nie bedzie problemu).

 

Dzieki za konkretne wskazowki, dales mi swietny pomysl by daemon nie sprawdzal bazy co iles, lecz php bedzie wysylal mu zawiadomienie. Czyli php->mysql

 

Teraz tylko nauczyc sie jak przezkaz sygnal z php do daemona ;] i jak napisac daemona. Jaki jezyk w tym celu polecacie? Jezeli ma ktos materialy ktore by mogly pomoc mi w pisaniu prosze o umieszczenie linkow czy wyslanie na email tom[@]unreal[.pl]

 

 

Juz do tego dotarlem ze bardzo fajnie rozdziela mi warstwy(uzytkownika/systemowa) daemon.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Teraz tylko nauczyc sie jak przezkaz sygnal z php do daemona ;] i jak napisac daemona. Jaki jezyk w tym celu polecacie? Jezeli ma ktos materialy ktore by mogly pomoc mi w pisaniu prosze o umieszczenie linkow czy wyslanie na email tom[@]unreal[.pl]

 

Jeśli faktycznie nie dotknąłeś programowania sieciowego to zacznij od samych podstaw - poczytaj conieco o gniazdach BSD (BSD sockets) to dowiesz się w jaki sposób serwer i klient mogą gadać w najbardziej "klasycznej" wersji, następnie wybierz sobie jakiś język dla daemona i zobacz jego API sieciowe - jaki, to już naprawdę zależy z czym miałeś do czynienia czy to będzie C/C++, jakiś język skryptowy, czy jakieś inne cudo jak Java to nie ma znaczenia o ile tylko ma jakieś API do gniazd. Oczywiście w produkcyjnym scenariuszu trzeba by się zastanowić nad tym co będzie wydajne bo tu na pewno wybór języka wpłynie na to no ale skoro to tylko "przykład dydaktyczny" można poszaleć, zresztą niestety coraz mniej osób wogóle zwraca teraz uwagę na wydajnoąć tworzonych aplikacji ("współczesne komputery są szybkie" :blink:). Przygotuj sobie jakiś prosty abstrakcyjny przykład - np. serwer w wybranym języku (bez autoryzacji itp na razie) który obsługuje 2 polecenia - zapisania dowolnego tekstu jaki dostanie do jakiegoś pliku i odczytania + klient w php umożliwiający zapisanie/odczytanie wybranego tekstu za pomocą tego serwera, potem zacznij to rozbudowywać i uczyć się co i jak zrobić żeby np. daemon wywołał jakieś polecenie systemowe i zwrócił jego wynik, jak zrobić uwierzytelnianie itp itd.

 

Ogólnie jeśli zaczynasz od "zera" to spora przed Tobą drogą - no ale nic, życzę powodzenia :P.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
To wykaz sie i podpwiedz cos, bo tak szczerze Twoj post nic nie wnosi do tematu. Pozatym to jest praca inz.,
Gdybyś wcześniej napisał, że to jest praca inż., to oczywiście bym nie sugerował zlecenia tego zewnętrznej firmie. Nie napisałeś, Twój błąd :blink:

 

po drugie da sie taki panel w bardzo prosty sposob zrobic uzywajac cgi/php.
Skoro da się to w taki prosty sposób zrobić to po co zadajesz tyle pytań?

 

Nie wciskaj tam na siłę MySQL czy jakiejkolwiek innej bazy danych w połączeniu php<->daemon.
Dokładnie.

 

Teraz zobaczyl ze naprawde bezpieczne rozwiazanie jest zaprezentowane przez Was, przy uzyciu daemona.
Samo rozbicie programu na interfejs i daemon'a nie implikuje w magiczny sposób bezpieczeństwa.

 

Dzieki za konkretne wskazowki, dales mi swietny pomysl by daemon nie sprawdzal bazy co iles, lecz php bedzie wysylal mu zawiadomienie. Czyli php->mysql
Rzeczywiście, genialne.

 

Teraz tylko nauczyc sie jak przezkaz sygnal z php do daemona ;]
Przecież MiSi3kK już Ci napisał jak (zresztą sam go cytowałeś...).

 

jak napisac daemona. Jaki jezyk w tym celu polecacie? Jezeli ma ktos materialy ktore by mogly pomoc mi w pisaniu prosze o umieszczenie linkow czy wyslanie na email tom[@]unreal[.pl]
Może po prostu poszukaj pod hasłem 'aplikacje sieciowe'?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Koledzy zaproponowali jedno z możliwych podejść. Jest jeszcze inne.

Skonfigurować wszystkie usługi tak aby niezbędne ustawienia wczytywały z bazy (*SQL, LDAP itp.) a potem tylko dodawać do bazy odpowiednie rekordy.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Skonfigurować wszystkie usługi tak aby niezbędne ustawienia wczytywały z bazy (*SQL, LDAP itp.) a potem tylko dodawać do bazy odpowiednie rekordy.
Napisz proszę w jaki sposób można zrestartować maszynę lub ustawić reguły iptables przy pomocy bazy danych?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gdybyś wcześniej napisał, że to jest praca inż., to oczywiście bym nie sugerował zlecenia tego zewnętrznej firmie. Nie napisałeś, Twój błąd :blink:

Niestety to moj blad, moglem przewidziec ze znajdzie sie jakis troll. Niechce byc nie mily ale napisales przez 1175dni 2,262posty, 1,9p/d

 

Skoro da się to w taki prosty sposób zrobić to po co zadajesz tyle pytań?

Domysl sie. Nie pisalem przedtem takiej aplikacji, wiec co zlego ze chcialem sie skonsultowac z doswiadczonymi osobami ktore poswieca 5min i nakieruja na wlasciwa droge. Niestety narazie nie napisales niczego sensownego.

 

 

Samo rozbicie programu na interfejs i daemon'a nie implikuje w magiczny sposób bezpieczeństwa.

W magiczny nie, ale jest bardziej bezpieczny niz skrypt cgi, ktorego byloby latwo zmanipulowac. Widzalem w jakims czasopismie artykul wlasnie o cgi, byl zamieszczony skrypt(wyszukujacy) w ktorym mozna bylo poprzez manipulacje cudzyslowiami dostep do shella.

 

Prosze Cie p, jak czlowieka i rodaka jezeli masz tylko pisac nie na temat lub komentowac moje wypowiedzi - nie pisz.

Jezeli masz juz cos pisac, odpowiedz na pytania lub zasugeruj cos od siebie.

 

Ogólnie jeśli zaczynasz od "zera" to spora przed Tobą drogą - no ale nic, życzę powodzenia .

Dzieki, naprawde jestem wdzieczny za Twoje obszerne posty.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×