Jump to content

НПФ (брандмауэр)

НПФ
Оригинальный автор(ы) Миндаугас Расюкявичюс
Первоначальный выпуск 17 октября 2012 г .; 11 лет назад ( 17.10.2012 ) [1]
Репозиторий
Написано в С
Операционная система NetBSD
Тип фильтр пакетов , межсетевой экран
Лицензия Лицензия BSD
Веб-сайт www .netbsd .org /~rmind /npf /  Edit this on Wikidata

NPF — это , лицензированный BSD с отслеживанием состояния фильтр пакетов , центральная часть программного обеспечения для межсетевого экрана . Его можно сравнить с iptables , ipfw , ipfilter и PF . NPF разработан на NetBSD .

НПФ был в первую очередь написан Миндаугасом Расюкявичюсом. NPF впервые появился в версии NetBSD 6.0 в 2012 году. [1]

NPF разработан для обеспечения высокой производительности в системах SMP и простоты расширения. Он поддерживает различные формы трансляции сетевых адресов (NAT), проверку пакетов с отслеживанием состояния , древовидные и хэш-таблицы для наборов IP-адресов, байт-код ( BPF или n-код) для пользовательских правил фильтрации и другие функции. NPF имеет структуру расширений для поддержки пользовательских модулей. Такие функции, как регистрация пакетов, нормализация трафика, случайная блокировка, предоставляются как расширения NPF.

Пример npf.conf

[ редактировать ]
# Assigning IPv4-only addresses of the specified interfaces.
$ext_if = inet4(wm0)
$int_if = inet4(wm1)

# Efficient tables to store IP sets.
table <1> type hash file "/etc/npf_blacklist"
table <2> type tree dynamic

# Variables with the service names.
$services_tcp = { http, https, smtp, domain, 9022 }
$services_udp = { domain, ntp }
$localnet = { 10.1.1.0/24 }

# Different forms of NAT are supported.
map $ext_if dynamic 10.1.1.0/24 -> $ext_if
map $ext_if dynamic 10.1.1.2 port 22 <- $ext_if port 9022

# NPF has various extensions which are supported via custom procedures.
procedure "log" {
	log: npflog0
}

#
# Grouping is mandatory in NPF.
# There must be a default group.
#

group "external" on $ext_if {
	# Stateful passing of all outgoing traffic.
	pass stateful out final all

	block in final from <1>
	pass stateful in final family inet proto tcp to $ext_if port ssh apply "log"
	pass stateful in final proto tcp to $ext_if port $services_tcp
	pass stateful in final proto udp to $ext_if port $services_udp

	# Passive FTP and traceroute
	pass stateful in final proto tcp to $ext_if port 49151-65535
	pass stateful in final proto udp to $ext_if port 33434-33600
}

group "internal" on $int_if {
	# Ingress filtering as per RFC 2827.
	block in all
	pass in final from $localnet
	pass in final from <2>
	pass out final all
}

group default {
	pass final on lo0 all
	block all
}
  1. ^ Jump up to: а б Расюкявичюс, Миндаугас (17 октября 2012 г.). «Введение NPF в NetBSD 6.0» . NetBSD-Announce (список рассылки).
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 479b64e178c3181cf702c2197c7965cc__1651305360
URL1:https://arc.ask3.ru/arc/aa/47/cc/479b64e178c3181cf702c2197c7965cc.html
Заголовок, (Title) документа по адресу, URL1:
NPF (firewall) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)