Назад | Перейти на главную страницу

Безопасно ли запускать веб-сервер за брандмауэром?

В настоящее время у нас есть брандмауэр на базе Linux, который использует NAT для нашего общедоступного IP-адреса, чтобы предоставить доступ в Интернет для компьютеров наших сотрудников, и Windows Server 2003 для внутреннего обмена файлами.

Я хочу разместить Redmine / SVN (средство отслеживания ошибок) внутри этого брандмауэра с использованием сервера Linux. Наши клиенты будут получать доступ к этому веб-серверу извне, чтобы они могли публиковать отчеты об ошибках. Это означает, что мне нужно открыть порт 80 и 22 на брандмауэре, чтобы предоставить доступ к веб-серверу, а мне - по SSH из дома.

Однако предположим, что я использую SSH на основе пароля для веб-сервера, и кто-то его взломал. Означает ли это, что взломщик может пинговать и получать доступ к другим серверам и ПК в сети?

Да. DMZ решает эту проблему. Вы можете создать DMZ в Linux (отдельная сеть), использовать еще одну сетевую карту или создать VLAN.

В компьютерной безопасности DMZ или демилитаризованная зона - это физическая или логическая подсеть, которая содержит и предоставляет внешние службы организации более крупной ненадежной сети, обычно Интернету. Специалисты по информационным технологиям обычно называют этот термин DMZ. Иногда это называют сетью периметра. Цель DMZ - добавить дополнительный уровень безопасности в локальную сеть (LAN) организации; внешний злоумышленник имеет доступ только к оборудованию в демилитаризованной зоне, а не к любой другой части сети.

@ooshro дал хороший ответ о DMZ, но я хочу добавить, что есть дополнительные шаги, которые вы должны рассмотреть для защиты внешнего доступа, чтобы ограничить возможность взлома вашего хоста.

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

Установите на сервере минимальный набор программных пакетов. Вам действительно нужны сетевые утилиты, такие как tcpdump или traceroute? Наверное, нет, но они могут быть бесценными для того, кто взломает вашу машину.

Примите дополнительные меры для защиты входящего ssh на сервере Linux. Вы должны запустить что-то вроде запретить для блокировки попыток автоматического входа в систему. Если только пользователи-администраторы, такие как вы, будут получать доступ к ящику через ssh, запустите свой ssh-сервер на другом порту, чтобы снова сократить количество попыток автоматического входа в систему через ssh.

Не разрешайте вход в систему по ssh только по паролю, вместо этого требуйте использования предварительно сгенерированных открытых / закрытых пар ключей. Посмотрите на бег Двухфакторная аутентификация Google так что при входе в систему появляется дополнительный уровень безопасности.

В дополнение к ответу @ ooshro. Наличие всего в одной DMZ также вызывает беспокойство, поскольку если какая-либо из этих служб будет скомпрометирована, злоумышленнику будет гораздо проще взломать всю DMZ, что дает большую платформу для попытки пройти через брандмауэр.