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

Зачем мне нужен брандмауэр, если мой сервер хорошо настроен?

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

Серверы представляют собой минимальные установки ubuntu, которые запускают биты стеков LAMP / сбора входящих данных (rsync). Данные большие, но не личные, финансовые или что-то в этом роде (т.е. не так уж и интересно)

Очевидно, здесь люди всегда спрашивают о настройке брандмауэры и тому подобное.

Я использую несколько подходов для защиты серверов, например (но не ограничиваясь ими)

У меня большой опыт работы с системным администратором unix. Я уверен, что знаю, что делаю в своих настройках. Настраиваю файлы / etc. Я никогда не чувствовал острой необходимости устанавливать такие вещи, как брандмауэры: iptables и т. Д.

Отложим на время вопросы физической безопасности VPS.

Q? Я не могу решить, наивен ли я, или дополнительная защита, которую может предложить fw, стоит усилий по изучению / установке и дополнительной сложности (пакеты, файлы конфигурации, возможная поддержка и т. Д.) На серверах.

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

Я отмечаю, что вы проделали отличную работу, связав несколько разных демонов, и из того, что вы сказали, я думаю, маловероятно, что вы подвергнете себя неприятностям из-за тех сервисов, которые вы уже защитили. Это по-прежнему оставляет вас в состоянии «все разрешено, кроме того, что я запретил», и вы не можете выйти из этого состояния, выслеживая демона за демоном и защищая их одного за другим.

Брандмауэр настроен на ОТКАЗАТЬ ЛЮБОЕ по умолчанию переводит вас в режим работы «все запрещено, кроме разрешенного», и за многие годы я обнаружил, что они лучше.

Прямо сейчас, имея законного пользователя с легитимной оболочкой в ​​вашей системе, он может решить запустить некоторый локальный непривилегированный демон для проксирования веб-запросов в Интернет, или начать совместное использование файлов через порт 4662, или случайно открыть прослушиватель с помощью -g с туннелированием порта ssh, не понимая, что он делает; или установка sendmail может привести к тому, что у вас будет запущен MUA на порту 587, который был неправильно настроен, несмотря на всю работу, которую вы проделали для защиты MTA sendail на порту 25; или может произойти сотня одна вещь, которая обходит вашу осторожную и продуманную безопасность просто потому, что их не было поблизости, когда вы тщательно обдумывали, что запретить.

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

Брандмауэр, который по умолчанию ОТКАЗАТЬ ЛЮБОЕ это способ системного администратора сказать, что если появится что-то новое и откроет сетевой слушатель на этом сервере, никто не сможет с ним разговаривать, пока я не дам явного разрешения.

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

Другое дело, что ваши серверы, скорее всего, будут стандартными или специализированными для работы с серверным программным обеспечением, работающим поверх стандартной серверной ОС (Unix, NT, Linux). То есть у них нет специального оборудования для эффективной обработки и фильтрации входящего трафика. Вы хотите, чтобы ваш сервер обрабатывал каждую возможную многоадресную рассылку, пакет ICMP или сканирование портов?

Скорее всего, вы хотите, чтобы ваши серверы физически обрабатывали запросы только к некоторым портам (80, 443, ваш порт ssl, ваш типичный порт Oracle 1521, ваш порт rsync и т. Д.). Да, конечно, вы настроили программные брандмауэры на своем серверы для прослушивания только этих портов. Но ваши сетевые адаптеры по-прежнему будут нести основную тяжесть нежелательного трафика (будь то злокачественный или нормальный в вашей организации). Если ваши сетевые адаптеры будут повреждены, сетевые пути проходят через ваши серверы (и, возможно, между вашими серверами и внутренними клиентами и подключениями к другие внутренние серверы и службы.)

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

С другой стороны, брандмауэры, особенно те, которые находятся на границах подсетей (или отделяют ваши подсети от внешнего мира), как правило, представляют собой специализированное оборудование, специально созданное для обработки такого типа томов.

Вы можете окружить N серверов числом M межсетевых экранов (при N >> M). И вы настраиваете оборудование своего брандмауэра на сброс всего, что не направлено на определенные порты. Отсутствуют сканирование портов, ICMP и прочая хрень. Затем вы настраиваете программный брандмауэр на своих серверах в соответствии с их конкретной функцией.

Теперь вы только что снизили (но не исключили) вероятность полного отключения электроэнергии, уменьшив ее до разделения сети или частичного отказа в худшем случае. Таким образом, вы повысили способность ваших систем выдерживать атаку или неправильную конфигурацию.

Отсутствие брандмауэра из-за того, что он есть на ваших серверах, - это все равно что чувствовать себя в безопасности, пристегнув ремень безопасности при движении со скоростью 120 миль в час при нулевой видимости из-за тумана. Так не работает.

Есть много атак, которые могут быть успешными, если у вас нет брандмауэра, который выполняет какую-либо проверку уровня пакетов:

Примером является Пакет с рождественской елкой

http://en.wikipedia.org/wiki/Christmas_tree_packet

DDOS-атаки могут быть запущены против вашей системы, брандмауэр (внешний, возможно, до любого из ваших серверов) остановит / замедлит / убьет трафик, прежде чем он нанесет вред вашим серверам.

Просто так как у вас нет финансовых или личных данных на серверах, это не значит, что вы не пострадаете. Я уверен, что вы платите за пропускную способность или использование процессора, или у вас есть измеренная скорость. Представьте себе, что в течение ночи (пока вы спите) кто-то подбегает к вашему счетчику (я видел, как это происходило с провайдерами VOIP Switch, которые попали ночью за МИЛЛИОНЫ МИНУТ трафика, за которые им приходится платить).

Так что будьте умны, используйте защиту, если она есть, вы НЕ ИДЕАЛЬНЫ, как и программное обеспечение. Это безопасно только до тех пор, пока не будет найден следующий эксплойт. ;)

Однажды вы или кто-то другой можете сделать ошибку при настройке вашего сервера, а затем брандмауэр дает вам второй шанс остановить кого-то, кто заходит. Мы не идеальны, мы делаем ошибки, и поэтому небольшая «ненужная» страховка может оказаться полезной. .

(Старайтесь не запускать брандмауэр на тем же ОС как ваши серверы, иначе это одна ошибка в ОС .... Я считаю, что все версии Unix - это одна и та же ОС, так как у них так много общего)

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

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

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

Межсетевые экраны специализируются на управлении трафиком. Они делают это быстро и имеют ресурсы. И вы не тратите ресурсы сервера на фильтрацию трафика (диск io / время процесса / и т. Д.). Вам следует настроить некоторую безопасность в серверной среде, но вся проверка трафика, сканирование на вирусы и т. Д. Должны выполняться на специализированных серверах.

Я был бы обеспокоен, если вас когда-нибудь взломают и у вас не будет брандмауэра. Хакеры могут открыть другие порты на ваших серверах. Кроме того, если консультант привлечен для выполнения некоторой очистки и аудита, первое, что он скажет, это: «ЧТО?!?! У вас нет межсетевого экрана!» Тогда тебя могут сжечь.