我目前正在使用 LAMP(MySQl + PhP + PhpMyAdmin)进行 Web 开发课程,但我有点担心有人可以通过它访问我的数据。
我如何确保我的服务器不对公众开放?我只希望它为我所用,我不想通过网络或互联网共享它。
我目前正在使用 Ubuntu 14.04.5
我正在使用 Apache 2.4,PHP5。
答案1
您是否只能通过本地主机地址在本地访问它?
您可以使用 iptables 防火墙仅允许来自您的计算机的传出连接(以及与此相关的传入流量):
iptables -I OUTPUT -o eth0 -d 0.0.0.0/0 -j ACCEPT
iptables -I INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
其中 eth0 是您的网络接口(如果您使用无线,则可能是 wlan0,请使用 ifconfig 检查)。
答案2
您可以简单地拒绝除本地网络和本地主机之外的
sudo vi /etc/apache2/apache2.conf
您需要在其中添加/更改
<Directory /var/www/html/>
Order allow,deny
Allow from YOUR_LOCAL_NETWORK
Allow from 127
</Directory>
YOUR_LOCAL_NETWORK 可能是 192.168.1.0/24
其余所有内容都将被默认拒绝。
修改文件后需要重启 apache
sudo service apache2 restart