ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: я не заинтересован в превращении этого в пламенную войну! Я понимаю, что многие люди твердо убеждены в этом вопросе, и в немалой степени потому, что они приложили немало усилий для решения своих межсетевых экранов, а также потому, что им внушали веру в свою необходимость.
Тем не менее, я ищу ответы от людей, которые являются экспертами в области безопасности. Я считаю, что это важный вопрос, и ответ принесет пользу не только мне и компании, в которой я работаю. Я управлял нашей серверной сетью в течение нескольких лет без компромиссов, без какого-либо брандмауэра. Ни один из компромиссов безопасности, которые мы имели, не мог быть предотвращен с помощью брандмауэра.
Я предполагаю, что я работаю здесь слишком долго, потому что когда я говорю «серверы», я всегда имею в виду «услуги, предлагаемые для общественности», а не «секретные внутренние платежные базы данных». Таким образом , любые правила , которые мы бы иметь в любых брандмауэрах бы разрешить доступ ко всему Интернету. Кроме того, все наши серверы общего доступа находятся в отдельном центре обработки данных, отдельном от нашего офиса.
Кто-то еще задал похожий вопрос, и мой ответ был проголосован за отрицательные числа. Это заставляет меня поверить, что либо люди, голосующие за него, не совсем поняли мой ответ, либо я недостаточно понимаю безопасность, чтобы делать то, что я делаю в настоящее время.
Это мой подход к безопасности сервера:
Перед подключением моего сервера к Интернету следуйте рекомендациям по безопасности моей операционной системы .
Используйте оболочки TCP для ограничения доступа к SSH (и другим службам управления) небольшим количеством IP-адресов.
Контролируйте состояние этого сервера с помощью Munin . И исправьте вопиющие проблемы безопасности, присущие Munin-узлу в его конфигурации по умолчанию.
Nmap мой новый сервер (также до подключения моего сервера к Интернету). Если бы я был брандмауэром этого сервера, это должен быть точный набор портов, которые должны быть ограничены входящими соединениями
Установите сервер в серверной комнате и назначьте ему публичный IP-адрес.
Держите систему в безопасности, используя функцию обновления безопасности моей операционной системы.
Моя философия (и основа вопроса) заключается в том, что надежная защита на основе хостов устраняет необходимость в брандмауэре. Общая философия безопасности гласит, что надежная защита на основе хостов все еще требуется, даже если у вас есть брандмауэр (см. Рекомендации по безопасности ). Причина этого заключается в том, что брандмауэр, который перенаправляет общедоступные сервисы на сервер, позволяет злоумышленнику практически не использовать брандмауэр. Сам сервис является уязвимым, и поскольку предоставление этого сервиса всему Интернету является требованием его работы, ограничение доступа к нему не имеет смысла.
Если на сервере имеются доступные порты, к которым не требуется доступ через весь Интернет, то это программное обеспечение необходимо закрыть на шаге 1 и проверить на шаге 4. Если злоумышленник успешно проникнет на сервер через уязвимое программное обеспечение и самостоятельно открыв порт, злоумышленник может (и может) с такой же легкостью победить любой брандмауэр, установив вместо этого исходящее соединение на случайном порту. Смысл безопасности не в том, чтобы защитить себя после успешной атаки - это уже доказано невозможным, а в первую очередь не допустить нападавших.
Было высказано предположение, что помимо открытых портов существуют и другие соображения безопасности, но для меня это звучит как защита своей веры. Любые уязвимости операционной системы / стека TCP должны быть в равной степени уязвимыми независимо от того, существует ли межсетевой экран - на основе того факта, что порты перенаправляются непосредственно в эту операционную систему / стек TCP. Аналогично, запуск вашего брандмауэра на самом сервере, а не на маршрутизаторе (или, что еще хуже, в обоих местах), добавляет ненужные уровни сложности. Я понимаю философию «безопасность состоит из нескольких слоев», но наступает момент, когда все равно, что строить крышу, укладывая X слоев фанеры друг на друга, а затем сверляя отверстие во всех них. Другой слой фанеры не остановит утечки через ту дыру, которую вы
Честно говоря, я вижу, что брандмауэр может использоваться серверами только в том случае, если у него есть динамические правила, предотвращающие все подключения ко всем серверам от известных злоумышленников - например, списки защиты от спама (что, по совпадению, в значительной степени и делает наш почтовый сервер) , К сожалению, я не могу найти никаких брандмауэров, которые делают это. Следующая лучшая вещь - это сервер IDS, но это предполагает, что злоумышленник не атакует ваши реальные серверы в первую очередь, и что злоумышленники пытаются проверить всю вашу сеть перед атакой. Кроме того, известно, что они дают большое количество ложных срабатываний.
Ответы:
Преимущества межсетевого экрана:
Прежде всего, если у вас нет брандмауэра и система скомпрометирована, то как бы вы ее обнаружили? Попытка выполнить какую-либо команду 'ps', 'netstat' и т. Д. В локальной системе не может быть доверенной, поскольку эти двоичные файлы можно заменить. 'nmap' из удаленной системы не гарантирует защиту, поскольку злоумышленник может гарантировать, что root-kit принимает соединения только с выбранных исходных IP-адресов в выбранные моменты времени.
Аппаратные брандмауэры помогают в таких сценариях, поскольку чрезвычайно сложно изменить ОС / файлы брандмауэра по сравнению с хост-ОС / файлами.
Недостатки брандмауэра:
источник
Above all this if you do not have firewall and system is compromised then how would you detect it?
Обнаружение вторжения не является задачей брандмауэра. Эта задача более правильно обрабатывается HIDS (системой обнаружения вторжений на основе хоста), которая не зависит от брандмауэра.TCP Wrappers можно назвать реализацией межсетевого экрана на основе хоста; Вы фильтруете сетевой трафик.
Для точки, в которой злоумышленник устанавливает исходящие соединения через произвольный порт, брандмауэр также предоставит средства контроля исходящего трафика; правильно настроенный межсетевой экран управляет входом и выходом таким образом, который соответствует риску, связанному с системой.
Относительно того, как брандмауэр не устраняет какую-либо уязвимость TCP, вы не знакомы с тем, как работают брандмауэры. У Cisco есть целый набор правил, доступных для загрузки, которые идентифицируют пакеты, сконструированные таким образом, чтобы вызвать определенные проблемы в операционных системах. Если вы возьмете Snort и начнете запускать его с правильным набором правил, вы также будете предупреждены об этом. И, конечно же, Linux iptables может отфильтровывать вредоносные пакеты.
По сути, брандмауэр - это проактивная защита. Чем дальше вы уходите от упреждающего действия, тем больше вероятность того, что вы окажетесь в ситуации, когда вы реагируете на проблему, а не предотвращаете ее. Сосредоточение защиты на границе, как и в случае выделенного брандмауэра, упрощает управление, поскольку у вас есть центральная дроссельная точка, а не дублирующие правила повсюду.
Но ни одна вещь не обязательно является окончательным решением. Хорошее решение для обеспечения безопасности, как правило, является многоуровневым, где у вас есть межсетевой экран на границе, TCP-обертки на устройстве и, возможно, некоторые правила для внутренних маршрутизаторов. Обычно вы должны защищать сеть от Интернета и защищать узлы друг от друга. Этот многослойный подход не похож на сверление отверстия в нескольких листах фанеры, это больше похоже на установку пары дверей, чтобы у злоумышленника было два взломанных замка вместо одного; это называется ловушкой человека в физической безопасности, и у большинства зданий есть одна причина. :)
источник
TCP Wrappers could be arguably called a host-based firewall implementation
+1 за отличный ответ.(Вы можете прочитать « Жизнь без брандмауэров »)
Теперь: а как насчет наличия унаследованной системы, для которой больше не будут публиковаться патчи? Как насчет того, чтобы не применять патчи к N-машинам в то время, когда это необходимо, и в то же время вы можете применять их на меньшем количестве узлов в сети (брандмауэры)?
Нет смысла обсуждать существование или необходимость брандмауэра. Что действительно важно, так это то, что вы должны реализовать политику безопасности. Для этого вы будете использовать любые инструменты, которые будут реализовывать его и помогать вам управлять, расширять и развивать его. Если для этого нужны брандмауэры, это нормально. Если они не нужны, это тоже хорошо. Что действительно важно, так это наличие работающей и проверяемой реализации вашей политики безопасности.
источник
Большинство ваших объяснений, кажется, опровергают необходимость в брандмауэре, но я не вижу смысла в том, чтобы иметь такой, кроме небольшого количества времени для его установки.
Немногие вещи являются «необходимостью» в строгом смысле этого слова. Безопасность - это больше о настройке всех возможных блокировок. Чем больше работы требуется для проникновения на ваш сервер, тем меньше шансов на успешную атаку. Вы хотите, чтобы на ваших машинах работало больше, чем где-либо еще. Добавление брандмауэра делает больше работы.
Я думаю, что ключевым использованием является избыточность в безопасности. Еще один плюс брандмауэров в том, что вы можете просто отбрасывать попытки подключиться к любому порту, а не отвечать на отклоненные запросы - это сделает nmapping немного более неудобным для злоумышленника.
Для меня на практическом замечании вашего вопроса наиболее важно то, что вы можете заблокировать SSH, ICMP и другие внутренние службы вплоть до локальных подсетей, а также ограничить скорость входящих соединений, чтобы помочь ослабить атаки DOS.
«Суть безопасности не в том, чтобы защитить себя после успешной атаки - это уже доказано невозможным, а в первую очередь не допустить нападавших».
Я не согласен. Ограничение убытков может быть столь же важным. (под этим идеалом, зачем хешировать пароли? или ставить программное обеспечение вашей базы данных на сервер, отличный от ваших веб-приложений?) Я думаю, здесь применима старая поговорка «Не кладите все яйца в одну корзину».
источник
Should I firewall my server?
Хороший вопрос. Казалось бы, нет смысла шлепать брандмауэр поверх сетевого стека, который уже отклоняет попытки подключения ко всем, кроме нескольких портов, которые законно открыты. Если в ОС существует уязвимость, позволяющая злонамеренно созданным пакетам нарушать работу хоста, может ли брандмауэр, работающий на этом же хосте, предотвратить эксплойт? Ну, может быть ...И это, вероятно, самая веская причина для запуска брандмауэра на каждом хосте: брандмауэр может предотвратить использование уязвимости сетевого стека. Это достаточно веская причина? Я не знаю, но я думаю, что можно сказать: «Никто никогда не был уволен за установку брандмауэра».
Еще одна причина для запуска брандмауэра на сервере заключается в том, чтобы отделить две эти сильно коррелированные проблемы:
Без брандмауэра набор работающих служб (вместе с конфигурациями для tcpwrappers и т. Д.) Полностью определяет набор портов, которые сервер будет открыт, и от которых будут приниматься соединения. Брандмауэр на основе хоста дает администратору дополнительную гибкость для установки и тестирования новых служб контролируемым образом, прежде чем сделать их более доступными. Если такая гибкость не требуется, то есть меньше причин для установки брандмауэра на сервере.
В заключение отметим, что я всегда добавляю один элемент, не упомянутый в вашем контрольном списке безопасности, - это система обнаружения вторжений на основе хоста (HIDS), такая как AIDE или samhain . Хороший HIDS чрезвычайно усложняет злоумышленнику внесение нежелательных изменений в систему и остается незамеченным. Я считаю, что все серверы должны работать с какой-то HIDS.
источник
Брандмауэр - это инструмент. Он не делает вещи безопасными сам по себе, но он может внести свой вклад в качестве уровня в защищенной сети. Это не значит, что он вам нужен, и я, безусловно, беспокоюсь о людях, которые вслепую говорят: «Я должен получить брандмауэр», не понимая, почему они так думают, и которые не понимают сильные и слабые стороны брандмауэров.
Можно сказать, что существует множество инструментов, которые нам не нужны ... Можно ли запустить компьютер с Windows без антивируса? Да, это ... но это хороший уровень страховки, чтобы иметь его.
Я бы сказал то же самое о брандмауэрах - что бы вы ни говорили о них, это хороший уровень страховки. Они не являются заменой исправлений, блокировки компьютеров, отключения служб, которые вы не используете, ведения журналов и т. Д., Но они могут быть полезным дополнением.
Я бы также предположил, что уравнение несколько меняется в зависимости от того, говорите ли вы о размещении брандмауэра перед группой тщательно управляемых серверов, как вы, кажется, или типичной локальной сети со смесью рабочих станций и серверов. некоторые из которых, возможно, занимаются какой-то довольно сложной работой, несмотря на все усилия и пожелания ИТ-команды.
Еще одна вещь, которую следует учитывать, - это преимущество создания явно закаленной цели. Видимая охрана, будь то яркие огни, тяжелые замки и явная сигнализация на здании; или очевидный брандмауэр для диапазона IP-адресов бизнеса может удержать случайного злоумышленника - они будут искать более легкую добычу. Это не остановит решительного злоумышленника, который знает, что у вас есть информация, которую он хочет, и полон решимости получить ее, но сдерживание случайных злоумышленников все еще стоит - особенно если вы знаете, что к любому злоумышленнику, чьи зондирование не проходит мимо, нужно относиться особенно серьезно ,
источник
Все отличные вопросы. НО - я очень удивлен, что ЭФФЕКТИВНОСТЬ не доведена до стола.
Для высокопроизводительных (с точки зрения использования процессора) веб-интерфейсов локальный брандмауэр действительно снижает производительность, и точка. Попробуйте нагрузочный тест и посмотрите. Я видел это множество раз. Отключение брандмауэра повышает производительность (количество запросов в секунду) на 70% и более.
Этот компромисс должен быть рассмотрен.
источник
Брандмауэр является дополнительной защитой. Три конкретных сценария, от которых он защищает, - это атаки сетевого стека (т. Е. Ваша серверная ОС имеет уязвимость для специально созданных пакетов, которые никогда не достигают уровня портов), успешное вторжение, устанавливающее соединение с «домашним телефоном» (или рассылающее спам, или что-то подобное) ), или успешное вторжение, открывающее порт сервера, или, менее детектируемое, наблюдение за последовательностью стука портов перед открытием порта. Конечно, последние два имеют отношение к уменьшению ущерба от вторжения, а не к его предотвращению, но это не означает, что оно бесполезно. Помните, что безопасность не является предложением «все или ничего»; Для достижения уровня безопасности, достаточного для ваших нужд, требуется многоуровневый подход, пояс и подтяжки.
источник
Я ни в коем случае не эксперт по безопасности, но, похоже, вы защищены брандмауэром. Кажется, что вы взяли на себя некоторые основные функции брандмауэра и включили его в свои политики и процедуры. Нет, вам не нужен брандмауэр, если вы собираетесь выполнять ту же работу, что и брандмауэр самостоятельно. Что касается меня, я бы предпочел сделать все возможное для поддержания безопасности, но у меня брандмауэр смотрит через плечо, но в какой-то момент, когда вы можете сделать все, что делает брандмауэр, он начинает утрачивать значение.
источник
Брандмауэр, конечно, не нужен для небольших установок. Если у вас есть один или два сервера, программные брандмауэры можно обслуживать. С учетом сказанного мы не работаем без выделенных брандмауэров, и есть несколько причин, по которым я придерживаюсь этой философии:
Разделение ролей
Серверы для приложений. Брандмауэры предназначены для проверки пакетов, фильтрации и политик. Веб-сервер должен беспокоиться об обслуживании веб-страниц, и все. Объединение обеих ролей в одном устройстве - это все равно, что попросить бухгалтера быть вашим охранником.
Программное обеспечение является движущейся целью
Программное обеспечение на хосте постоянно меняется. Приложения могут создавать свои собственные исключения брандмауэра. ОС обновлена и исправлена. Серверы являются областью с большим трафиком «admin», и ваши политики / политики безопасности брандмауэра часто гораздо важнее для безопасности, чем конфигурации вашего приложения. Предположим, что в среде Windows кто-то совершает ошибку на каком-то уровне групповой политики и отключает брандмауэр Windows на настольных ПК и не понимает, что он будет применен к серверам. Вы широко открыты в несколько кликов.
Если говорить только об обновлениях, обновления встроенного ПО брандмауэра обычно выпускаются один или два раза в год, а обновления ОС и служб - это постоянный поток.
Многоразовые услуги / политики / правила, управляемость
Если я однажды настроил службу / политику под названием «Веб-сервер» (скажем, TCP 80 и TCP 443) и применил ее к «группе веб-серверов» на уровне брандмауэра, это намного более эффективно (пара изменений конфигурации) и экспоненциально менее подвержен человеческим ошибкам, чем настройка служб брандмауэра на 10 блоков и открытие 2 портов х 10 раз. Когда эта политика должна измениться, это 1 изменение против 10.
Я все еще могу управлять брандмауэром во время атаки или после компромисса
Скажем, мой хост-сервер межсетевого экрана + подвергается атаке, а процессор не работает. Чтобы даже понять, что происходит, я полагаюсь, что моя нагрузка меньше, чем злоумышленник, чтобы даже войти и посмотреть на это.
Реальный опыт - однажды я испортил правило брандмауэра (оставил порты для ЛЮБОГО вместо конкретного, а на сервере была уязвимая служба), и злоумышленник фактически провел сеанс удаленного рабочего стола в реальном времени. Каждый раз, когда я начинал получать сеанс, злоумышленник отключал / отключал мой сеанс. Если бы не было возможности остановить эту атаку с независимого устройства брандмауэра, это могло бы быть намного хуже.
Независимый мониторинг
Регистрация в выделенных брандмауэрах обычно намного превосходит программные брандмауэры на основе хоста. Некоторые из них настолько хороши, что вам даже не нужно внешнее программное обеспечение для мониторинга SNMP / NetFlow, чтобы получить точную картину.
Сохранение IPv4
Нет причин иметь два IP-адреса, если один предназначен для Интернета, а другой - для почты. Храните сервисы в отдельных ящиках и соответствующим образом маршрутизируйте порты через устройство, предназначенное для этого.
источник
Во-первых, добавить не более одного дополнительного маршрутизируемого узла через вашу сеть не сложно. Во-вторых, ни одно брандмауэрное решение, реализованное с какой-либо одной точкой отказа, не является абсолютно бесполезным. Так же, как вы группируете свой важный сервер или службы и используете связанные сетевые карты, вы внедряете брандмауэры высокой доступности. Не делать этого или не признавать и знать, что вы это сделаете, очень недальновидно. Простое заявление о том, что существует один интерфейс, автоматически не превращает что-то в узкое место. Это утверждение показывает, что вы не знаете, как правильно спланировать и развернуть межсетевой экран, размер которого соответствует трафику, который будет проходить через вашу сеть. Вы правы, говоря, что ошибка в политике может нанести вред всей вашей сети, но я бы сказал, что поддержание отдельных политик на всех ваших серверах гораздо более подвержено ошибкам, чем одно место.
Что касается аргумента, что вы не отставали от исправлений безопасности и следовали инструкциям по безопасности; в лучшем случае это шаткий аргумент. Обычно исправления безопасности не доступны, пока не обнаружена уязвимость. Это означает, что все время, пока вы работаете с публично адресуемыми серверами, они уязвимы, пока не будут исправлены. Как уже отмечали другие, системы IPS могут помочь предотвратить компромиссы от таких уязвимостей.
Если вы думаете, что ваши системы настолько безопасны, насколько это возможно, это хорошая уверенность. Однако я бы порекомендовал вам провести профессиональный аудит безопасности в вашей сети. Это может просто открыть глаза.
источник
It may just open your eyes.
+1, так как это будет последний гвоздь в гробу.В общем, безопасность, как уже упоминалось, важная вещь. Существуют причины, по которым существуют брандмауэры, и не только все остальные лемминги являются глупыми идиотами.
Этот ответ приходит, так как поиск 'fail2ban' на этой странице не дал мне никаких результатов. Так что, если я удваиваю другой контент, терпите меня. И извините, если я немного разглагольствую, я предоставлю простой опыт, поскольку это может пригодиться другим. :)
Сетевые соображения, местные и внешние
Это довольно специфично для Linux и концентрируется на межсетевом экранировании на основе хоста, что обычно является вариантом использования. Внешний брандмауэр идет рука об руку с правильной структурой сети, и другие соображения безопасности обычно входят в это. Если вы знаете, что здесь подразумевается, то вам, скорее всего, эта публикация не понадобится. Или нет, тогда просто продолжайте читать.
Внешний и локальный запуск брандмауэров может показаться нелогичным и удвоить работу. Но это также дает возможность перевернуть правила на внешние, не ставя под угрозу безопасность на всех остальных хостах, стоящих за ним. Необходимость может возникнуть либо по причинам отладки, либо потому, что кто-то только что облажался. Другой вариант использования будет описан в разделе «Адаптивный глобальный брандмауэр», для которого вам также понадобятся как глобальные, так и локальные брандмауэры.
Стоимость и доступность и одна и та же история все время:
Межсетевой экран - это только один аспект надлежащей защищенной системы. Не устанавливая брандмауэр, поскольку он «стоит» денег, вводит SPOF или что-то еще, просто извините за мой французский здесь. Просто настройте кластер. О, но что, если в пожарной камере произошел сбой? Затем настройте кластер на два или более пожарных отсека.
Но что, если весь центр обработки данных недоступен, так как оба внешних носителя не работают (экскаватор убил ваше волокно)? Тогда просто создайте кластер, охватывающий несколько центров обработки данных.
Это дорого? Кластеры слишком сложны? Ну, паранойя должна быть оплачена.
Просто ныть о SPOFs, но не хотеть платить больше денег или создавать немного более сложные установки - явный пример двойных стандартов или просто маленький кошелек на стороне компании или клиента.
Этот шаблон применяется ко ВСЕМ этим обсуждениям, независимо от того, какой сервис является текущим вопросом дня. Независимо от того, является ли это VPN-шлюзом, Cisco ASA, используемый только для межсетевого экрана, базы данных MySQL или PostgreSQL, оборудования виртуальной системы или сервера, серверной части хранилища, коммутаторов / маршрутизаторов, ...
К настоящему времени вы должны получить идею.
Зачем беспокоиться о брандмауэре?
В теории ваши рассуждения обоснованы. (Только запущенные сервисы могут быть использованы.)
Но это только половина правды. Брандмауэр, особенно брандмауэр с сохранением состояния, может сделать для вас гораздо больше. Брандмауэры без сохранения состояния важны только в том случае, если у вас возникают проблемы с производительностью, подобные тем, что уже упоминались.
Простой, центральный, дискретный контроль доступа
Вы упомянули обертки TCP, которые реализуют в основном те же функции для обеспечения безопасности. Ради аргумента, давайте предположим, что кто-то не знает
tcpd
и любит использовать мышь?fwbuilder
может прийти в голову.Полноценный доступ из вашей сети управления - это то, что вы должны были включить, что является одним из первых случаев использования брандмауэра на основе вашего хоста.
Как насчет установки с несколькими серверами, где база данных работает где-то еще, и вы не можете поместить обе / все машины в общую (частную) подсеть по какой-либо причине? Используйте брандмауэр, чтобы разрешить доступ MySQL через порт 3306 только для одного заданного IP-адреса другого сервера, все просто.
И это также работает безупречно для UDP. Или любой другой протокол. Межсетевые экраны могут быть настолько гибкими. ;)
Смягчение портов
Кроме того, с помощью брандмауэра общие порты могут быть обнаружены и уменьшены, так как количество соединений за промежуток времени может контролироваться через ядро и его сетевой стек, и брандмауэр может действовать в соответствии с этим.
Также недействительные или неясные пакеты могут быть обработаны до того, как они попадут в ваше приложение.
Ограничение исходящего трафика
Фильтрация исходящего трафика, как правило, боль в заднице. Но это может быть необходимо, в зависимости от контракта.
Статистика
Еще одна вещь, которую может дать вам брандмауэр, это статистика. (Подумайте
watch -n1 -d iptables -vnxL INPUT
, добавив некоторые правила для специальных IP-адресов прямо вверху, чтобы увидеть, поступают ли пакеты.)Вы можете видеть при дневном свете, работают ли вещи или нет. Что ОЧЕНЬ полезно при устранении неполадок при подключении и возможности сообщить другому человеку по телефону, что вы не получаете пакеты, не прибегая к чату
tcpdump
. Работа в сети - это весело, большинство людей теперь знают, что они делают, и зачастую это просто ошибки маршрутизации. Черт, даже я не всегда знаю, что я делаю. Хотя я работал буквально с десятками сложных систем и устройств, часто к настоящему времени и с туннелированием.IDS / IPS
Брандмауэр уровня 7 обычно является змеиным маслом (IPS / IDS), если не посещать его должным образом и регулярно обновлять. Кроме того, лицензии стоят очень дорого, поэтому я бы не стал получать их, если у вас нет реальной необходимости получать все, что можно купить за деньги.
Masqerading
Легко, просто попробуйте это с вашими обертками. : D
Переадресация локального порта
Смотри маскарад.
Защита парольных каналов доступа с динамическими IP-адресами
Что делать, если у клиентов есть динамические IP-адреса и не развернута настройка VPN? Или другие динамические подходы к брандмауэру? Это уже упоминалось в вопросе, и здесь будет случай использования для К сожалению, я не могу найти никаких брандмауэров, которые делают это. часть.
Отключение доступа к учетной записи root с помощью пароля является обязательным. Даже если доступ ограничен определенными IP-адресами.
Кроме того, еще одна учетная запись blanko, готовая для входа в систему с паролем, если ключи ssh теряются или происходит сбой развертывания, очень удобно, если что-то идет не так (пользователь имеет административный доступ к машине и «что-то случилось»?). Это та же идея для доступа к сети, так как он имеет однопользовательский режим в Linux или использует
init=/bin/bash
viagrub
для локального доступа действительно очень плохо и не может использовать живой диск по любой причине. Не смейтесь, есть продукты для виртуализации, которые запрещают это. Даже если такая функциональность существует, что делать, если в устаревшей версии программного обеспечения отсутствует функциональность?В любом случае, даже если вы запускаете ваш ssh-демон на каком-то эзотерическом порту, а не на 22, если не реализованы такие вещи, как стук портов (открыть даже другой порт и, таким образом, смягчить порты, медленно граничащие с непрактичностью), сканирование портов обнаружит ваше сервис в конце концов.
Обычно вы также настраиваете все серверы с одинаковой конфигурацией, с одинаковыми портами и службами из соображений эффективности. Вы не можете настроить ssh на другой порт на каждой машине. Кроме того, вы не можете изменить его на всех машинах каждый раз, когда вы считаете, что это «общедоступная» информация, потому что она уже есть после сканирования. Вопрос о том,
nmap
является ли он законным или нет, не является проблемой, если в вашем распоряжении есть взломанное соединение Wi-Fi.Если эта учетная запись не называется «root», люди не смогут угадать имя учетной записи пользователя «backdoor». Но они будут знать, получат ли они другой сервер от вашей компании, или просто купят какое-то веб-пространство, и посмотрят на них без привязки / без изменений / без привязки
/etc/passwd
.Теперь для чисто теоретической иллюстрации они могут использовать взломанный веб-сайт, чтобы получить доступ к вашему серверу и посмотреть, как у вас обычно работают. Ваши инструменты хакерского поиска могут не работать 24/7 (обычно они работают ночью по соображениям производительности диска при сканировании файловой системы?), А ваши антивирусные сканеры не обновляются в тот момент, когда новый нулевой день увидит свет, поэтому он будет работать не обнаруживать эти события сразу, и без других мер защиты вы, возможно, даже не узнаете, что произошло. Чтобы вернуться к реальности, если у кого-то есть доступ к эксплойтам нулевого дня, очень вероятно, что он в любом случае не нацелится на ваши серверы, поскольку они просто дорогие. Это просто для иллюстрации того, что всегда есть путь в систему, если возникает «необходимость».
Но опять же, просто не используйте лишнюю учетную запись и не беспокойтесь? Пожалуйста, продолжайте читать.
Даже если злоумышленники получат имя и порт этой дополнительной учетной записи, комбинация «
fail2ban
+»iptables
остановит их, даже если вы использовали только восьмибуквенный пароль. Кроме того, fail2ban может быть реализован и для других сервисов, расширяя горизонты мониторинга!Для ваших собственных служб, если когда-либо возникнет такая необходимость: в основном каждый сбой регистрации службы в файле может получить поддержку fail2ban посредством предоставления файла, с каким регулярным выражением и сколько сбоев разрешено, и брандмауэр просто с радостью заблокирует каждый IP-адрес, который он сказано.
Я не говорю использовать 8-значные пароли! Но если их забанят на 24 часа за пять попыток ввода неверного пароля, вы можете догадаться, сколько времени им придется пробовать, если в их распоряжении нет ботнета, даже с такой паршивой безопасностью. И вы будете удивлены тем, какие пароли клиенты обычно используют, а не только для
ssh
. Просмотр паролей почты людей через Plesk расскажет вам все, что вы не хотели бы знать, если бы вы когда-либо делали, но то, что я не пытаюсь здесь подразумевать, конечно. :)Адаптивный глобальный брандмауэр
fail2ban
это всего лишь одно приложение, которое использует что-то вроде тогоiptables -I <chain_name> 1 -s <IP> -j DROP
, но вы можете легко создать такие вещи самостоятельно с помощью некоторой магии Bash.Чтобы еще больше расширить что-то вроде этого, соберите все IP-адреса fail2ban с серверов в вашей сети на дополнительном сервере, который обрабатывает все списки и по очереди передает его вашим основным межсетевым экранам, блокируя весь трафик, уже находящийся на границе вашей сети.
Такая функциональность не может быть продана (конечно, это возможно, но это будет просто хрупкая система и отстой), но она должна быть интегрирована в вашу инфраструктуру.
При этом вы также можете использовать черные списки IP-адресов или списки из других источников, будь то агрегированные вами или внешними.
источник
В физическом мире люди хранят ценности, помещая их в сейфы. Но нет сейфа, в который нельзя взломать. Сейфы, или контейнеры безопасности, оцениваются с точки зрения времени, необходимого для принудительного входа. Цель сейфа - задержать злоумышленника достаточно долго, чтобы он был обнаружен, а активные меры затем остановили атаку.
Точно так же, правильное предположение безопасности состоит в том, что ваши уязвимые машины, в конце концов, будут скомпрометированы. Брандмауэры и бастионные хосты настроены не для предотвращения компрометации вашего сервера (с вашими ценными данными), а для того, чтобы вынудить злоумышленника сначала скомпрометировать их и позволить вам обнаружить (и предотвратить) атаку до потери ценностей.
Обратите внимание, что ни брандмауэры, ни банковские хранилища не защищают от внутренних угроз. Это одна из причин, по которой бухгалтерам банков нужно брать отпуск продолжительностью две недели, а серверам - иметь полные внутренние меры предосторожности, даже если они защищены хост-бастионами.
Похоже, в исходном сообщении вы подразумеваете, что вы пересылаете пакеты «внешнего мира» через брандмауэр прямо на ваш сервер. В этом случае, да, ваш брандмауэр не делает очень много. Лучшая защита по периметру достигается с помощью двух межсетевых экранов и хоста-бастиона, где нет прямого логического соединения извне-изнутри - каждое соединение заканчивается в хосте-бастионе DMZ; каждый пакет проверяется надлежащим образом (и, возможно, анализируется) перед отправкой.
источник
Уязвимости сложно предсказать. Практически невозможно предсказать, каким образом ваша инфраструктура будет эксплуатироваться. Наличие брандмауэра «поднимает планку» для злоумышленника, желающего использовать уязвимость, и это важная часть, ДО того, как вы узнаете, что это за уязвимость. Кроме того, последствия брандмауэра могут быть легко поняты заранее, поэтому вы вряд ли вызовете проблемы с брандмауэром, которые более серьезны, чем проблемы, которых вы, вероятно, избежите.
Вот почему «никто никогда не был уволен за установку брандмауэра». Их реализация имеет очень низкий риск и имеет высокую вероятность предотвращения или смягчения эксплойта. Кроме того, большинство действительно неприятных уязвимостей в конечном итоге эксплуатируются автоматизацией, поэтому все, что «необычно», в конечном итоге сломает бота или, по крайней мере, заставит его пропустить вас в пользу более легкой цели.
Примечание; межсетевые экраны не только для интернета. Ваша бухгалтерия не нужен ssh / что-либо для вашего ldap-сервера, так что не давайте его им. Разделение внутренних служб может иметь большое значение для очистки в случае, если что-то ломает стены замка.
источник
Должен сказать Эрни, что, хотя вы, похоже, делаете многое для усиления защиты своих серверов и снижения уровня атак и уязвимостей, я не согласен с вашей позицией в отношении брандмауэров.
Я отношусь к безопасности немного как к луку, потому что в идеале у вас есть уровни, через которые вам нужно пройти, прежде чем вы доберетесь до ядра, и лично я считаю, что крайне ошибочно не иметь какой-либо аппаратный брандмауэр по периметру вашей сети.
Я признаю, что я подхожу к этому с точки зрения «того, к чему я привык», но я знаю, что каждый месяц я получаю небольшой список исправлений этого месяца от Microsoft, многие из которых эксплуатируются в дикой природе. , Я полагаю, что то же самое происходит с практически любой ОС и набором приложений, о которых вы хотите подумать.
Теперь я не предлагаю, чтобы брандмауэры покончили с этим, и при этом брандмауэры не застрахованы от ошибок / уязвимостей, очевидно, что «аппаратный» брандмауэр - это просто программное обеспечение, работающее в аппаратном стеке.
Тем не менее, я сплю намного безопаснее, зная, что если у меня есть сервер, которому нужен только порт 443, чтобы быть доступным из Интернета, мой периметр Juniper гарантирует, что только порт 443 будет доступен из сети. Не только это, но и мой Palo Alto гарантирует, что входящий трафик расшифровывается, проверяется, регистрируется и сканируется на наличие IPS / IDS - не то, что он избавляет от необходимости поддерживать безопасность серверов и их актуальность, но почему бы вам НЕ найти такую выгоду, если учесть, что она может смягчить последствия для нулевого дня и старой доброй человеческой ошибки?
источник
Прежде всего, из-за вашего разговора о переадресации портов вы думаете, что вы объединяете межсетевой экран с NAT. Хотя в наши дни NAT очень часто функционируют как де-факто брандмауэры, они не предназначены для этой цели. NAT - это инструмент маршрутизации. Брандмауэры предназначены для регулирования доступа. Для ясности мысли важно, чтобы эти понятия были четкими.
Конечно, верно, что размещение сервера за NAT-боксом и последующая настройка NAT для перенаправления чего-либо на этот сервер не более безопасны, чем размещение сервера непосредственно в Интернете. Я не думаю, что кто-то будет спорить с этим.
Аналогично, брандмауэр, настроенный для разрешения всего трафика, вообще не является брандмауэром.
Но действительно ли «разрешить весь трафик» - это политика, которую вы хотите? Кто-нибудь когда-нибудь нуждался в ssh к любому из ваших серверов с русского IP-адреса? Пока вы работаете с конфигурацией какого-то нового экспериментального сетевого демона, нужен ли всему миру доступ к нему?
Сила брандмауэра заключается в том, что он позволяет держать открытыми только те службы, которые, как вы знаете, должны быть открыты, и поддерживать единую точку контроля для реализации этой политики.
источник
Межсетевые экраны с проверкой состояния пакетов НЕ принадлежат общедоступным серверам. Вы принимаете все соединения, поэтому отслеживание состояния довольно бесполезно. Традиционные брандмауэры являются огромным препятствием при DDoS-атаках и, как правило, в первую очередь дают сбой при DDoS-атаках даже до полного использования полосы пропускания канала или ресурсов сервера.
Фильтры пакетов без сохранения состояния на маршрутизаторах имеют смысл перед общедоступными серверами, но только если они могут обрабатывать скорость линии всего входящего и исходящего трафика (такого как аппаратный ACL в маршрутизаторе).
Google, Facebook и даже Microsoft не ставят традиционные «брандмауэры» перед публичными серверами. Любой, кто запускает общедоступные веб-службы в масштабе «более одного сервера», должен это знать.
Другие функции, имеющиеся в традиционных брандмауэрах, таких как Cisco ASA или другие, лучше всего реализованы на самих хостах, где их можно эффективно масштабировать. В любом случае ведение журнала, IDS и т. Д. - это все программные функции в брандмауэрах, поэтому они становятся огромным узким местом и мишенью DDoS, если их размещать перед общедоступными серверами.
источник
Зачем всем вашим серверам нужен публичный адрес?
Из 14 или около того серверов, которые я регулярно использую, только 2 имеют общедоступные интерфейсы.
Отредактировано, чтобы добавить : В других сетях, в которых я участвовал в управлении, у нас была возможность выключать / включать службы по желанию, тогда как у нас не было доступа для управления брандмауэром. Я даже не могу сказать вам, сколько раз, по неосторожности, разумеется, включался и оставлялся ненужный сервис (SMTP), и единственное, что спасло нас от превращения в спам и попадания в черный список в процессе, - это брандмауэр.
Кроме того, весь ли трафик, проходящий между серверами, полностью зашифрован?
Вы, конечно, можете управлять автомобилем со скоростью 100 миль в час без ремней безопасности, подушек безопасности и лысых шин, но с чего бы это вам ??
источник
Брандмауэры могут запретить пользователям системы открывать доступные для сети службы, о которых администраторы не знают, или переадресовывать порты на другие машины. Используя модуль hashlimit, брандмауэры могут также ограничивать скорость злоумышленников на основе удаленного IP-адреса.
Брандмауэр - это еще одна сеть безопасности, которая обеспечивает соблюдение ваших политик. Конечно, не запускайте сервисы, которые вы не ожидаете.
Я определенно рекомендую, чтобы обновления программного обеспечения применялись своевременно, например, но я также рекомендую брандмауэры на всех машинах. Это как когда я еду: конечно, я стараюсь избегать препятствий и других автомобилей, но я также ношу ремень безопасности и подушки безопасности на случай непредвиденных обстоятельств.
источник
Возможно, вы не понимаете, какую выгоду вы получаете от брандмауэров просто потому, что их используют все остальные . В день, когда буквально все, вплоть до домашних пользователей DSL, имеют межсетевые экраны на месте, перехват портов был почти превращен в возможный вектор атаки. Приличный хакер не собирается тратить свое время на проверку таких вещей.
источник