Strona 1 z 1
Reguły iptables z bazy danych MySQL?
: 25 marca 2010, 12:35
autor: LordRuthwen
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.
: 25 marca 2010, 13:43
autor: db
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ć.
: 26 marca 2010, 08:15
autor: LordRuthwen
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ę.
: 26 marca 2010, 09:41
autor: life
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.
: 26 marca 2010, 10:30
autor: LordRuthwen
Co chcę wyciągać:
- stan klienta (powinien działać czy nie),
- jeśli nie powinien to dlaczego (generowanie dynamicznej stronki z informacją i przekierowanie ruchu dla hosta).
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.
: 26 marca 2010, 14:00
autor: mariaczi
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.
: 26 marca 2010, 16:02
autor: LordRuthwen
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.
: 26 marca 2010, 17:27
autor: mariaczi
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.
: 26 marca 2010, 19:13
autor: LordRuthwen
I o taką odpowiedź mi chodziło, dziękuję serdecznie
