2016-11-27 9 views
3

Я включил удаленный MySQL редактированияRemote Mysql отбрасывать все соединения и разрешить только локальному IP-адресу и

/etc/mysql/mysql.conf.d/mysqld.cnf 
    bind-address = 0.0.0.0 

Теперь я могу получить доступ к MySQL через любой удаленный IP.

Я хочу отключить все подключения к моему MySQL с помощью IP-таблиц и разрешить доступ только с локального хоста и одного IP-адреса. Я сделал следующее:

/sbin/iptables -A INPUT -p tcp -d 127.0.0.1 --dport 3306 -j ACCEPT 
/sbin/iptables -A INPUT -p tcp -d 16x.xxx.xx.xx --dport 3306 -j ACCEPT 
/sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP 

Следующий код отбросит все соединения и не примет localhost или удаленный ip. Я использую Ubuntu 16.10.


EDIT: Я также попытался цепь

iptables -N mysql 
iptables -A mysql --src 127.0.0.1 -j ACCEPT 
iptables -A mysql --src 14x.xxx.xx.xx -j ACCEPT 
iptables -A mysql -j DROP 
iptables -I INPUT -m tcp -p tcp --dport 3306 -j mysql 

После DROP линии всячески порт заблокирован

ответ

1

Порядок правил не является правильным.

Линия

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

должен прийти последним.

+0

(110 «приуроченным подключения из») I судимого, что перед также и он не будет работать. Он все равно портит все соединения, а порт будет заблокирован, а затем – user1769322

+0

Не могли бы вы вставить здесь вывод команды iptables-save. – Marko

+0

http://pastebin.com/Tyrghebf – user1769322

0

Правило

2 ACCEPT tcp -- 14x.xxx.xxx.xx 14x.xxx.xxx.xx tcp dpt:3306 

не выглядит правильно. Похоже, что исходные и целевые IP-адреса одинаковы. Вы должны перечислить IP-адрес сервера, с которого вы подключаетесь.

Для того, чтобы определить IP-адрес добавить следующую IPtables правило перед правилом падения

iptables -I INPUT -m tcp -p tcp --dport 3306 -m limit --limit 5/min -j LOG --log-prefix "Mysql access log: " 

Журнал выходит в dmesg и системный журнал (/ вар/журнал/системный журнал на Ubuntu) и выглядит следующим образом

Nov 28 08:55:57 myServer kernel: Mysql access log: IN=eth0 OUT= MAC=00:19:99:ce:15:cb:b0:c6:9a:67:d6:81:08:00 SRC=1.2.3.4 DST=5.6.7.8 LEN=60 TOS=0x10 PREC=0x00 TTL=56 ID=63880 DF PROTO=TCP SPT=40807 DPT=3306 WINDOW=14600 RES=0x00 SYN URGP=0 

В моем примере исходного IP-адресе, который должен быть белый список является 1.2.3.4

+0

ACCE PT tcp - 144.xx.xx.xx 213..xx.xx.xx tcp dpt: 3306 ACCEPT tcp - 144..xx.xx.xx 127.0.0.1 tcp dpt: 3306 DROP tcp - 0.0. 0.0/0 0.0.0.0/0 tcp dpt: 3306 Я сделал, как вы сказали, но все равно не будет работать SRC = 144.xx.xx.xx DST = 213.xx.xx.xx LEN = 54 TOS = 0x02 PREC = 0x00 TTL = 52 ID = 7163 DF PROTO = TCP SPT = 62891 DPT = 3306 W $ – user1769322

+0

http://pastebin.com/dTVFcGbL – user1769322