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

StackOverflow https://stackoverflow.com/questions/116905

  •  02-07-2019
  •  | 
  •  

Вопрос

Я хотел бы использовать свой ноутбук в качестве машины для веб-разработки (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>

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

Другие советы

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

Слушай 127.0.0.1

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top