Regu
- LordRuthwen
- Moderator
- Posty: 2341
- Rejestracja: 18 września 2009, 21:45
- Lokalizacja: klikash?
Reguły iptables z bazy danych MySQL?
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.
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.
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
- Moderator
- Posty: 2341
- Rejestracja: 18 września 2009, 21:45
- Lokalizacja: klikash?
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ę.
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ę.
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.
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
- Moderator
- Posty: 2341
- Rejestracja: 18 września 2009, 21:45
- Lokalizacja: klikash?
Co chcę wyciągać:
Czyli tak naprawdę interesują mnie trzy wpisy: aktywny/nieaktywny, IP, jeśli nieaktywny to czemu.
- stan klienta (powinien działać czy nie),
- jeśli nie powinien to dlaczego (generowanie dynamicznej stronki z informacją i przekierowanie ruchu dla hosta).
Czyli tak naprawdę interesują mnie trzy wpisy: aktywny/nieaktywny, IP, jeśli nieaktywny to czemu.
- LordRuthwen
- Moderator
- Posty: 2341
- Rejestracja: 18 września 2009, 21:45
- Lokalizacja: klikash?
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
- Moderator
- Posty: 2341
- Rejestracja: 18 września 2009, 21:45
- Lokalizacja: klikash?