Что я должен сделать, чтобы веб-сервер (Apache), работающий на компьютере, не был доступен для внешнего мира? - PullRequest
1 голос
/ 22 сентября 2008

Я хотел бы использовать свой ноутбук в качестве машины для веб-разработки (PHP, Python и т. Д.), Но я не решаюсь сделать это, если не могу гарантировать, что внешний мир не сможет получить к нему доступ.

Я предполагаю, что необходимо нечто большее, чем брандмауэр, например, настройки для файлов конфигурации Apache, но я не уверен, что еще мне нужно, чтобы быть на 100% уверенным, что он плотно заблокирован.

Ответы [ 7 ]

6 голосов
/ 22 сентября 2008

в файле конфигурации, измените директиву LISTEN, чтобы прослушивать только обратный адрес:

Слушайте 127.0.0.1

4 голосов
/ 22 сентября 2008

Установите брандмауэр и закройте все внешние порты, кроме тех, которые вы хотите использовать. Если вы используете Linux, для iptables, например firestarter, есть хорошие интерфейсы, если вы используете OS X, то есть встроенный брандмауэр, а в Windows он есть. :)

Но да, брандмауэр - это путь. (Или вы можете сказать Apache слушать только 127.0.0.1:80)

4 голосов
/ 22 сентября 2008

Вам необходимо настроить демон сервера для привязки только к localhost, используя директиву 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>

Не забудьте поместить корневой каталог вашего сервера в Директиву каталога.

2 голосов
/ 22 сентября 2008

Брандмауэр должен быть достаточным. Просто убедитесь, что вы запускаете apache на нестандартном порту (обычно это 8080), и убедитесь, что ваш брандмауэр блокирует доступ к этому порту снаружи.

1 голос
/ 22 сентября 2008

Брандмауэр подойдет. Но если вы не согласитесь на использование только брандмауэра, вы можете настроить apache так, чтобы он просто прослушивал ваше петлевое устройство или велел ему просто принимать подключения с набора адресов на вашей локальной сети. Первый способ проще, но таким образом вы можете получить доступ к веб-страницам только с компьютера, на котором работает apache.

1 голос
/ 22 сентября 2008

Брандмауэра должно быть достаточно. Но вы также можете использовать директиву Listen .

0 голосов
/ 22 сентября 2008

Поставьте роутер между вами и интернетом и не перенаправляйте порты на ваш ноутбук. Таким образом, любой, кто пытается получить доступ к ноутбуку, получает доступ к маршрутизатору и не может продолжать дальше.

Вы можете перенаправить порты на ваш основной компьютер (или просто поместить основной компьютер в DMZ), если вам нужно, чтобы он был доступен для входящих подключений.

...