過去查詢Mysql的時候,都見3306對所有連接埠開放著,感覺不安全。
netstat -anlp | grep mysql
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 638/mysqld
unix 2 [ ACC ] STREAM LISTENING 12305521 638/mysqld /tmp/mysql.sock
當然,也想過用Iptables來實現,不過好像還是不行。
iptables -A INPUT -p tcp -s $ANY --dport 3306 -j DROP
引用Chinaunix文章所說:
*安全配置* 為了資料的安全,可以考慮讓MySQL只守候在127.0.0.1上,這樣從Internet上就無法直接存取資料庫了。
修改/etc/init.d/mysql檔案 在start部分找到類似下面這行 $bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file &
修改成
$bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file --bind-address=127.0.0.1 &
重起MySQL
/etc/init.d/mysql restart
最後netstat -l確認一下:
tcp 0 0 localhost:mysql *:* LISTEN
OK
而我修改/etc/init.d/mysq,找到:
把原先的
$bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file >/dev/null 2>&1 &
變為
$bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file --bind-address=127.0.0.1 &
重啟mysql:/etc/init.d/mysql restart
查看後實現:natstat -l
tcp 0 0 localhost.localdo:mysql *:* LISTEN