ďťż
 
 
   Panel PHP do zarządzania firewallem i pasmem
 
 

Tematy

 
    
 

 

 

 

Panel PHP do zarządzania firewallem i pasmem





bor1904 - 18-10-2009 01:55
Witam.
Zabieram się do pisania pracy inżynierskiej o tytule:
Interfejs webowy do zarządzania zaporą sieciową i podziałem pasma na serwerze dostępowym (Linux)

W skrócie: aplikacja PHP zarządzająca sieciowymi aspektami serwera linuksowego(bardzo blisko webmina).

Od strony sieciowej mam zamiar zapewnić bezpieczeństwo przez SSL, .htaccess-hasło oraz autoryzacja przez PHP.
Pozostaje mi tylko kwestia możliwości ingerowania w skrypt firew[ba[/b]lla i posługiwanie się narzędziem tc w możliwie najbezpieczniejszy sposób, ale jak?

Mój aktualny zamysł:
http://img2.imageshack.us/img2/9620/...iazmian.th.png

Legenda:
    lwalidator - zewnętrzny prosty skrypt, w którego nie można ingerować z poziomu przeglądarki. Sprawdza plik pod kontem składniowym.l
lCzy taki system wprowadzania ma w ogóle sens?l lJeżeli tak to tworzyć pliki tymczasowe za pomocą CGI czy jakieś shell_exec(touch...)?l lKiedy już fizycznie istnieje plik tymczasowy to jedyną możliwością wymuszenia na walidatorze sprawdzenia jego składni jest zlecenie CRON-a? Czy miałoby sens aby PHP kazało utworzyć plik .tmp, po czym kilka sekund później wywołałoby walidator?l lJak bezpiecznie wydać polecenie do przepisania tak ważnego pliku jak rc.firewall (tzn. kto/co z jakimi prawami powinien to wykonać)?l l[i]To już takie bardziej kosmetyczne pytanie odnośnie akceptacji wprowadzonych zmian przez ,,administratora''. Zdarzyło mi się kilka razy zdalnie zmieniać ustawienia firewalla i przez niedopatrzenie np. uniemożliwiłem dostęp z zewnątrz do serwera, albo w ogóle odciąłem serwer od sieci co potrafiło nawet uniemożliwić włączenie się systemu, a co za tym idzie, lokalnie chroot itd.
Reasumując chodzi mi po głowie implementowanie mechanizmu działającego na zasadzie zmiany rozdzielczości w Windowsie. po akceptacji zmian są one wdrażane jednak jeżeli zmieniający nie zaakceptuje efektów powraca wszystko do poprzedniej konfiguracji.l
Z góry dziękuję za wszystkie pomocne wskazówki, linki czy uzasadnioną krytykę.

Pozdrawiam
boras86



gothye - 18-10-2009 10:15
Sam napisałem coś takiego, panel oparty o php +sql, a firewall perl łączący się z sql i pobierają dane z sql. Powoli zabieram się za dodanie użytkowników do ftp przez panel.



grzesiek - 18-10-2009 12:43
Mnie tam pomysł zarządzania firewallem przez www w ogóle się nie podoba. Bo to trochę takie rozbrajanie się - ale to tylko tak na boku ;-)



gothye - 18-10-2009 12:50
Rozbrajanie? Wbrew pozorom, tego typu panele tworzy się z potrzeby tak jak u mnie, nie wszyscy z branży IT to linuksowcy.



grzesiek - 18-10-2009 14:46
To niech sobie CISCO kupią będzie prościej :-P
W linuksie jest tylko jeden super administrator i powinien wystarczyć. Ciekawe czy ci co używają Windows Serwer by poświęcali swój czas, żeby pomóc tym co nie znają tego systemu.



bor1904 - 18-10-2009 15:15
Uważam tak jak gothye. Szczególnie że cisco i prosty np. ruter PC oparty o Linuksa to finansowo kilka tysięcy różnicy i nie zawsze bezpieczeństwo absolutne jest niezbędne. Nie każdy musi być wirtuozem Linuksa, ale i każdy człowiek zdrowy woli przyciskać ładne kolorowe ikonki niżeli klepać kilkanaście linijek tekstu by cokolwiek zmienić w systemie.

Pozdrawiam.



lessmian2 - 18-10-2009 15:35

ale i każdy człowiek zdrowy woli przyciskać ładne kolorowe ikonki niżeli klepać kilkanaście linijek tekstu Może jestem dziwny, ale jednak wolę naklepać te kilkanaście linijek tekstu niż klikać w cukierkowe ikonki. Co do sensu takiego przedsięwzięcia, to mimo że nie używam z reguły takich narzędzi, to jednak jest zapotrzebowanie na takie aplikacje - najlepszym przykładem jest to, że co chwile wychodzi jakaś nowa, a kilka ma uznaną pozycję, są popularne i nie widać aby się to zmieniło. Z dwojga złego, wolę użytkownika, który jakoś tam wszystko sobie wyklika i poustawia poprawnie, niż takiego który bez sensu będzie klepał polecenia byleby tylko zadziałało, nie ważne czy "zgodnie ze sztuką". Jeśli w końcu poczuje, że taka aplikacja go ogranicza, pewnie przesiądzie się do konsoli i mając już jakieś doświadczenia będzie bardziej świadomym użytkownikiem systemu. A jeśli kreatory będą dla niego wystarczające, to cóż. Nie każdy musi być super adminem. Więc bor1904 rób swoje, mimo że ja i tak z tego nie skorzystam ;-)



bor1904 - 18-10-2009 15:59
lessmian2 -czytasz mi w myślach :)

Dziękuje za słowa poparcia.



grzesiek - 18-10-2009 19:57
Tak to już jest, za inne trzeba płacić a linuksa się nauczyć. To, że zaawansowani użytkownicy wolą terminal wynika z tego, że deweloperzy preferują takie rozwiązanie.
Na przykład: ostatnio potrzebowałem takiego czegoś jak lp_solve, bo Solver z Excela nie dawał rady. Patrze jest również wersja na Windows, jaka jest różnica między nimi? a no na Windows jest śliczne GUI - tym z Linuksa wystarczy CLI. Ot taka tradycja.
Co nie znaczy, że jestem przeciwnikiem GUI - wręcz przeciwnie.



bor1904 - 21-10-2009 02:22
Miałem kilka nocy do przemyśleń i stwierdziłem, że nie może to się wszystko odbywać na zasadzie "pozostawiania plików", które system po zauważeniu wykona.
Nagła zmiana mojego stanowiska w tej sprawie wynika z faktu, iż niezbędne jest generowanie obrazu aktualnej sytuacji sieciowej na stronie w przeglądarce ( w czasie rzeczywistym).

Tzn. przykład: kiedyś coś pozmieniałem panelem, potem dokonałem drobnych zmian np przy pomocy SSH czy lokalnie "z palca". Po miesiącu wchodzę w zakładkę: modyfikuj firewall i, no niestety muszę odpytać iptables na czym stoimy? Chodzi o to, że cały ten mechanizm musi działać w obie strony w czasie rzeczywistym.

Na chwilę obecną udało mi się częściowo rozgryźć Webmina - dość popularny panel tego typu.

Na moje amatorskie oko i to co da się doczytać w internecie to wygląda to tak.
Podczas instalacji jest uruchamiany na komputerze z Linuksem dodatkowy serwer WWW napisany w perlu działające domyślnie na porcie 10000, który obsługuje skrypty CGI również napisane w Perlu.

Wynik: ps aux na mojej maszynie: root  (...)  /usr/bin/perl /root/webmin-1.490/miniserv.pl /etc/webmin/miniserv.conf właścicielem wszystkich plików związanych z serwerem jest root, a grupą bin.

W skryptach cgi polecenia tyczące się firewall'a (iptables) są wydawane bez żadnych kombinacji.

Reasumując to chyba działa tak, że serwer WWW ma uprawnienia roota i wykonuje skrypty CGI ingerujące w pliki systemowe do których dostęp ma tylko root.

Na ile to jest niebezpieczne zakładając, że serwer ten ma tylko za zadanie hostować panel?

I czy gdyby założyć, że serwer dostępowy w mojej pracy nie wystawia innych stron WWW jak tylko wspomniany panel to czy jest sens uruchamiania dodatkowego serwera WWW?

Czy może uruchomić Apache by wykonywał CGI z uprawnieniami roota?

Czy może użyć w jakiś sposób dobrodziejstwa o nazwie sudo?

Myślałem również o skryptach CGI (własność - root) uruchamianych przez Apache z ustawionym bitem suid?

Proszę o pomoc w wyborze albo chociaż odrzucenie najgorszych z podanych rozwiązań?

Z góry bardzo dziękuję i pozdrawiam licząc na jakąkolwiek pomoc.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis