Кто-нибудь сделал самодельный брандмауэр на основе * BSD / Linux, который может обрабатывать гигабитный трафик и надежно работать в течение многих лет? Есть довольно много программных решений, но есть ли аппаратная база для обеспечения надежного гигабитного межсетевого экрана?
Кто-то в Брандмауэр с открытым исходным кодом или коммерческий брандмауэр утверждал
«Взгляните на Juniper SRX. Вы никогда не получите такой же производительности с pfSense на Dell».
Он не имеет в виду, что pfSense на Dell даже не может сравниться с SRX100 за 480 долларов, верно?
Он, вероятно, имеет в виду оборудование и программное обеспечение.
Вид сверху
Да, до определенного момента все аппаратные брандмауэры являются программными, но при наличии правильного оборудования вы можете перепрограммировать оборудование. Обычно это довольно дорогая операция, но после перепрограммирования оборудования брандмауэр может работать на линейной скорости.
Производительность в Linux
У нас была DDOS-атака на один из наших сайтов с восходящим каналом GBit. В нормальных условиях мы могли доставить почти со скоростью проволоки. Однако атака была простой SYN-Flood, и мы не смогли ее отразить.
Причина в том, что карта "хреновая" с единственной очередью приема. Это означало, что для получения пакетов с карты в Linux использовалось только одно ядро. В результате одно ядро работало на 100%, что было слишком медленно для обработки всех пакетов. Таким образом, серверам за брандмауэром было скучно, но одно ядро было загружено на максимум (да, у нас была защита от SYN-Flood, но поскольку на карту поступало очень много пакетов - до того, как Linux даже узнал об этом - мы не выдержал)
Когда мы обновили оборудование (только сетевую карту, а не что-либо еще на сервере) до сетевой карты с большим количеством очередей приема, мы увидели, что используется больше ядер, и этого было достаточно для нашего случая. Аппаратное обеспечение было (IIRC) 16 ядер CPU, 8 очередей на сетевой карте. Внезапно у нас было в 8 раз больше производительности, и этого было достаточно.
Что, как говорится:
Вы ничего не можете сделать против достаточно крупной DDOS-атаки - нам просто повезло, что он не был больше и его выдержала новая установка.
Я бы всегда выбрал аппаратный брандмауэр, если он подразумевает лучшее прикрыть свою спину: Если оставить в стороне технические характеристики, это всего лишь вопрос управления рисками. Получите любое оборудование Cisco / Juniper / любое другое оборудование и достойный контракт на поддержку, и у вас будет к кому обратиться, чтобы решить проблему или оплатить убытки в случае, если оно не выполнит обещанное. Конечно, для этого вам понадобится бюджет, но в определенный момент деньги на инвестиции, вероятно, будут составлять лишь часть ожидаемого дохода. Кроме того, наличие контракта на техподдержку и кого-то еще виноват - хорошая тактика прикрытия. :)
РЕДАКТИРОВАТЬ: отсутствует, если в последнем абзаце.
Я собираюсь предложить контраргумент Server Horror и расширить то, что сказал мигаби. Для малых и средних установок мне очень нравится OpenBSD с постоянно развивающимися pf, CARP и друзьями. Насколько мне известно, FreeBSD (и, следовательно, pfSense) отстают в получении последних обновлений pf и CARP.
Конечно, вы должны быть готовы провести собственное тестирование и найти достойные системы с приличными сетевыми картами и знать об ограничениях pf, но, по моему опыту, все настройки имеют свои ограничения. Включение одной конкретной функции проверки в аппаратном устройстве может в некоторых случаях снизить производительность вдвое или даже хуже. И действительно ли вы развернете коммерческое решение в производстве без серьезного тестирования для проверки заявлений производителя?
Часто вы можете получить два приличных устройства для отработки отказа, а также третий для тестирования за меньшую сумму, чем вам пришлось бы заплатить за коммерческую альтернативу.
И, наконец, мне просто очень неудобно платить деньги за поддержку, когда это не обязывает их должным образом документировать, покрывать убытки или исправлять ошибки в своем продукте. Я чувствую эту особую боль прямо сейчас, а боль без исходного кода - не мое.
Вы как бы ответили на свой вопрос здесь.
Да, можно создать межсетевой экран с высокой пропускной способностью, который обеспечит годы бесперебойной работы и высокую пропускную способность, но вы не можете просто использовать ненужное оборудование, чтобы добиться хороших результатов, вы должны заплатить деньги!
Если вы получите HP DL360 G6 (например, Dell или IBM аналогичной спецификации подойдут) с двумя блоками питания, дисками SAS (или используете USB-накопитель, подключенный к материнской плате) и поместите его в приличную систему ИБП, конфигурация которой будет сидеть в течение многих лет и легко очищать Gig-трафик (встроенная NICS поддерживает TOE, если вы хотите лицензировать это), но если вы используете домашнюю материнскую плату с Realtek Nic и i3, которые вы достали из нижнего ящика вашего стола, у вас может быть беда.
Также имейте в виду, что приличный брандмауэр использует FPGA для выполнения многих задач, то есть логику скорости провода, ни одно программное решение никогда не сможет приблизиться к этому по эффективности, раскрутка двух четырехъядерных процессоров Xeon на 3 года будет стоить энергии! !
Приведенная выше конфигурация является дешевой для рынка модернизации, если вы отключаете предприятие от этого брандмауэра, вам понадобится HP gen8 (или эквивалент) с полной гарантией на месте и, вероятно, 2 из них сгруппированы для аварийного переключения ...
Хорошо, TIL Juniper основан на FreeBSD, и это то, что используется в их оборудовании маршрутизации. При этом вы, вероятно, сэкономите деньги и немного головной боли, используя можжевельник, потому что в случае отказа оборудования вы можете получить для него поддержку. Однако есть компании, которые производят устройства, предназначенные для работы с PFSense, и все, что вам нужно знать, это приблизительный объем трафика, который вы планируете пройти через него.
Проблемы с программным обеспечением спорны, PFSense, например, широко используется даже в корпоративных средах, поэтому форумы переполнены информацией, и вы всегда можете зайти на Serverfault.com за помощью по PFSense.
У меня есть некоторые работающие ведущие / ведомые устройства, использующие 10 Гбит / с, дросселированные до 2 Гбит через softare, уже полтора года.
Это двухъядерный 6-ядерный Xeon с сетевыми адаптерами Intel. Сетевые адаптеры Intel, которые мы выбрали тогда, были важны, но я забыл точную причину. Я знаю, что это как-то связано с драйверами и способом распределения прерываний между ядрами.
У нас также было требование маршрутизировать другой тип интерфейса. То, что нельзя было купить в аппаратном брандмауэре, так что это было очень экономичное решение.
Так что да, это вполне возможно. Однако используйте серверное оборудование.