У меня Ubuntu 12.05 на VPS, где я запускаю Apache 2.2 и OpenVPN - оба на одном общедоступном IP. Мое намерение состояло в том, чтобы создать область на моем веб-сервере Apache, к которой я смогу получить доступ только тогда, когда я подключен к VPN (используя OpenVPN), для различных инструментов, которые я предпочитаю вообще не быть общедоступными - так что пароль установка на основе этого сценария не работает.
В порядке, ifconfig
показывает мне, что tun0
интерфейс имеет класс А ip 10.8.0.1
. Я пошел обновить зону DNS моего example.com
домен, и я добавил A
запись на, скажем, private.example.com
поддомен - который разрешит 10.8.0.1
.
С другой стороны, в конфигурации Apache я добавил виртуальный хост, который будет слушать 10.8.0.1
(<VirtualHost 10.8.0.1:80> [...]
).
Это отлично работает - теперь я могу получить доступ private.example.com
только когда я подключен к этой VPN, но насколько безопасна эта установка? Есть ли очевидные недостатки, которых я не вижу; эта установка обычно используется?
Примечание: конечно, давайте учтем, что ни Apache2, ни VPN не были скомпрометированы другими способами.
Если предположить, что VPN не скомпрометирован, то, о чем вы говорите, не является полностью необоснованным.
Я бы подумал о добавлении iptables
правило для подхода с поясом и подтяжками, например:
iptables -A INPUT -d 10.8.0.1 -i ! tun0 -p tcp --dport 80 -j DROP
Это должно отбросить все входящие сегменты, предназначенные для TCP-порта 80 на 10.8.0.1, если исходный интерфейс не tun0
. (Я предполагаю, что вы либо используете разрешающую по умолчанию цепочку INPUT, либо у вас также будет явное правило, разрешающее этот трафик.)
Я бы, вероятно, усугубил эту проблему с поясом и подтяжками, потребовав аутентификации и на веб-сайте, ориентированном на VPN, но это просто моя чрезмерная паранойя.