我该怎么做才能确保外界无法访问在计算机上运行的Web服务器(Apache)?

时间:2020-03-06 14:33:31  来源:igfitidea点击:

我想将笔记本电脑用作Web开发(PHP,Python等)计算机,但是我很犹豫这样做,除非我可以确保外界无法访问它。

我猜想除了防火墙之外,还需要更多的东西,例如对Apache配置文件的配置,但是我不确定100%确保它已被严格锁定。

解决方案

我们需要将服务器守护程序配置为仅使用Listen指令绑定到本地主机,如下所示:

Listen 127.0.0.1

另一种方法是像这样配置主服务器的访问控制

<Directory "/var/www/localhost/htdocs">
AllowOverride None
Deny from all
Allow from 127.0.0.1/255.0.0.0
</Directory>

切记将服务器的根目录放在目录指令中。

防火墙就足够了。只需确保在非标准端口(通常为8080)中运行apache,并确保防火墙阻止了对该端口的外部访问。

安装防火墙并关闭所有外部端口,但要使用的端口除外。如果我们使用的是Linux,则iptables的前端很不错,例如firestarter,如果我们使用的是OS X,则有一个集成的防火墙,而Windows也有一个。 :)

但是,是的,防火墙是必经之路。 (或者我们可以告诉Apache仅在127.0.0.1:80上监听)

在配置文件中,将LISTEN指令更改为仅侦听回送地址:

听127.0.0.1

在我们和互联网之间放置一个路由器,不要将任何端口转发到笔记本电脑。这样,任何试图访问笔记本电脑的人都会碰到路由器,并且无法再走下去。

如果需要端口可用于传入连接,则可以将端口转发到主机(或者仅将主机放入DMZ)。

防火墙应该足够了。但是我们也可以使用Listen指令。

防火墙就可以了。但是,如果我们不仅仅希望使用防火墙,还可以将apache配置为仅侦听回送设备,或者告诉它仅接受来自局域网中一组地址的连接。第一种方法比较容易,但是那样一来,我们只能从运行Apache的机器上访问网页。