ďťż
 
 
   Reguły iptables z bazy danych MySQL?
 
 

Tematy

 
    
 

 

 

 

Reguły iptables z bazy danych MySQL?





LordRuthwen - 25-03-2010 12:35
Witam.
Potrzebuję generować dynamicznie reguły iptables z bazy danych opartej o MySQL, ma to związek z eksportem tych danych z innego oprogramowania.

Czy ma ktoś jakieś gotowe rozwiązanie na to?

Szukając po sieci znalazłem to: http://sourceforge.net/projects/mysql-iptables/
Ale mi to wygląda tylko na monitoring tego co aktualnie jest.

Ewentualnie może ma ktoś jakiś pomysł jak można by takie coś rozwiązać?

Pisząc "dynamicznie" mam na myśli - "same" w zależności od zawartości bazy danych i odświeżane cronem, powiedzmy co 10 minut.



db - 25-03-2010 13:43
Nie znam żadnego dedykowanego rozwiązania i nie sądzę aby istniało. Możnesz to rozwiązać w parę sposobów -- albo zrobić prosty demon, który sprawdza, czy są określone zmiany i reaguje zmieniając strukturę, albo trzymać dump z iptables-a (albo w formacie iptables-save, albo w xmlu -- w dokumentacji masz przykłady takich rozwiązań ) i w przypadku zmian odświeżać.



LordRuthwen - 26-03-2010 08:15
No właśnie miałem w zamyśle zrobić coś, co będzie powiedzmy co 5-10 minut sprawdzało czy były zmiany, jeśli tak to generowało by i uruchamiało na nowo plik firewalla.
Tylko jak to napisać? W bashu, php, perl, c? Jak będzie najkorzystniej?

Zakładam, że to co sobie sprawię będzie prymitywne, ale do moich potrzeb wystarczające, tak, że jak ktoś będzie chciał to udostępnię.



life - 26-03-2010 09:41
Jeśli ma to być lokalnie na serwerze to PHP bym odpuścił, bash albo perl.

Nie wiem za bardzo co chcesz wyciągać z bazy i wstawiać w iptables ale masz mysql-cilenta, tak wiec da się połączyć wynik ,,select'', zrzucić do pliku i potem go przetworzyć na regułki iptables

W perlu będzie jeszcze łatwiej bo jest tam sterownik do obsługi mysql więc mniej się napocisz.



LordRuthwen - 26-03-2010 10:30
Co chcę wyciągać:
    lstan klienta (powinien działać czy nie),l ljeśli nie powinien to dlaczego (generowanie dynamicznej stronki z informacją i przekierowanie ruchu dla hosta).l
W zasadzie to tyle, bo blokowanie samego IP rozwiążę przez wstawienie ,,#'' w pliku konfiguracyjnym pppoe - sed.
Czyli tak naprawdę interesują mnie trzy wpisy: aktywny/nieaktywny, IP, jeśli nieaktywny to czemu.



mariaczi - 26-03-2010 14:00
Nie wygodniej będzie zrobić Ci przekierowanie na serwer www na dany port i tam "skonstruować" w php mechanizm, który będzie wyświetlał informację w zależności od tego jaki host do niego woła. Samą informację o włączeniu/wyłączeniu przekierowania pobierać z bazy przez skrypt w cronie.



LordRuthwen - 26-03-2010 16:02
Tak właśnie mam zamiar zrobić, tylko chodzi o ten skrypt w cronie, napisany w czym będzie najwydajniejszy?
Na razie będę to testował na maszynie z 200 ludkami, ale możliwe, że kiedyś przerzucę na taki z 2000.



mariaczi - 26-03-2010 17:27
W perlu, jak już wcześniej było wspomniane. Masz w nim gotowy mechanizm do łączenia się z bazą. Np. można tak: skrypt wyciągnie z odpowiedniej tabeli IP do zablokowania/przekierowania i dla każdego IP wykona odpowiednią regułę ,,iptables''. Przy przemyślanej konstrukcji firewalla będziesz tylko dodawał/usuwał reguły odnośnie przekierowania bez potrzeby przeładowywania całego.



LordRuthwen - 26-03-2010 19:13
I o taką odpowiedź mi chodziło, dziękuję serdecznie :)
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis