2012-06-12 14 views
9

Próbuję ograniczyć port MySQL 3306 na komputerze z systemem Linux przed nawiązywaniem jakichkolwiek połączeń z hostem lokalnym, aby zapobiec atakom z zewnątrz. Mam następujący kod, nie jestem pewien, czy to jest poprawne:Ograniczanie portu MySQL 3306 do localhost przy użyciu protokołu IPTABLES

iptables -A INPUT -p tcp -s localhost --dport 3306 -j ACCEPT 

iptables -A OUTPUT -p tcp -s localhost --dport 3306 -j ACCEPT 

iptables -A INPUT -p tcp --dport 3306 -j DROP 

iptables -A OUTPUT -p tcp --dport 3306 -j DROP 

inne moje pytanie brzmi - czy jest to poprawne tylko daje dostęp localhost? jest to standardowy serwer web centos z ponad 30 domenami.

+0

Dlaczego po prostu nie korzystać z uprawnień, gdy konfigurowanie użytkownika mysql tak, aby zezwalał tylko na zalogowanie się z localhost, więc byłoby to coś w stylu mysqluser @ localhost zamiast mysqluser @% – bretterer

+2

Wybacz mi pytanie, ale dlaczego nie użyjesz tylko gniazd Uniksa i '--skip-networking 'jeśli d Nie chcesz, żeby port był otwarty? –

+0

Twoje zasady iptable działają, po prostu je wypróbowałem. –

Odpowiedz

12

Dlaczego nie wyłączyć sieci z MySQL?

Dodaj do my.cnf:

skip-networking

To ma również dać nieznaczny wzrost wydajności poprzez wymuszenie połączenia przez rury, która pomija wiele testów stosowanych do części sieci. Pamiętaj, że po zmianie będziesz musiał użyć localhost, , a nie 127.0.0.1.

8
iptables -A INPUT -p tcp --dport 3306 -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT 

Powyższa zasada służy do przekształcania dwóch linii w jedną.

Odpowiedź na drugie pytanie:

Jeśli nie chcesz, aby zapewnić dostęp mysql od innych niż localhost, to jest idealny, aby skonfigurować w ten sposób. Prosty. :-)

1
iptables -A INPUT -p tcp --dport 3306 -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT 
iptables -A INPUT -p tcp --dport 3306 -j DROP 

Jeśli chcesz usunąć filtrowanie, użyj tego:

iptables -D INPUT -p tcp --dport 3306 -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT 
iptables -D INPUT -p tcp --dport 3306 -j DROP 

Uwaga: Zarówno może wymagać korzeń, więc: sudo iptables (...)

Powiązane problemy