diff --git a/ru_RU.KOI8-R/books/handbook/Makefile b/ru_RU.KOI8-R/books/handbook/Makefile index 62fe2aa540..04e90640d6 100644 --- a/ru_RU.KOI8-R/books/handbook/Makefile +++ b/ru_RU.KOI8-R/books/handbook/Makefile @@ -1,262 +1,263 @@ # # The FreeBSD Russian Documentation Project # # $FreeBSD$ # $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/Makefile,v 1.37 2004/07/08 12:12:43 den Exp $ # # Original revision: 1.90 # # Build the FreeBSD Handbook. # # ------------------------------------------------------------------------ # # Handbook-specific variables # # WITH_PGPKEYS The print version of the handbook only prints PGP # fingerprints by default. If you would like for the # entire key to be displayed, then set this variable. # This option has no affect on the HTML formats. # # Handbook-specific targets # # pgpkeyring This target will read the contents of # pgpkeys/chapter.sgml and will extract all of # the pgpkeys to standard out. This output can then # be redirected into a file and distributed as a # public keyring of FreeBSD developers that can # easily be imported into PGP/GPG. # # ------------------------------------------------------------------------ .PATH: ${.CURDIR}/../../share/sgml/glossary MAINTAINER=phantom@FreeBSD.org DOC?= book FORMATS?= html-split HAS_INDEX= true INSTALL_COMPRESSED?= gz INSTALL_ONLY_COMPRESSED?= IMAGES_EN = advanced-networking/isdn-bus.eps IMAGES_EN+= advanced-networking/isdn-twisted-pair.eps IMAGES_EN+= advanced-networking/natd.eps IMAGES_EN+= advanced-networking/net-routing.pic IMAGES_EN+= advanced-networking/static-routes.pic IMAGES_EN+= install/adduser1.scr IMAGES_EN+= install/adduser2.scr IMAGES_EN+= install/adduser3.scr IMAGES_EN+= install/boot-mgr.scr IMAGES_EN+= install/console-saver1.scr IMAGES_EN+= install/console-saver2.scr IMAGES_EN+= install/console-saver3.scr IMAGES_EN+= install/console-saver4.scr IMAGES_EN+= install/desktop.scr IMAGES_EN+= install/disklabel-auto.scr IMAGES_EN+= install/disklabel-ed1.scr IMAGES_EN+= install/disklabel-ed2.scr IMAGES_EN+= install/disklabel-fs.scr IMAGES_EN+= install/disklabel-root1.scr IMAGES_EN+= install/disklabel-root2.scr IMAGES_EN+= install/disklabel-root3.scr IMAGES_EN+= install/disk-layout.eps IMAGES_EN+= install/dist-set.scr IMAGES_EN+= install/dist-set2.scr IMAGES_EN+= install/docmenu1.scr IMAGES_EN+= install/ed0-conf.scr IMAGES_EN+= install/ed0-conf2.scr IMAGES_EN+= install/edit-inetd-conf.scr IMAGES_EN+= install/fdisk-drive1.scr IMAGES_EN+= install/fdisk-drive2.scr IMAGES_EN+= install/fdisk-edit1.scr IMAGES_EN+= install/fdisk-edit2.scr IMAGES_EN+= install/ftp-anon1.scr IMAGES_EN+= install/ftp-anon2.scr IMAGES_EN+= install/hdwrconf.scr IMAGES_EN+= install/keymap.scr IMAGES_EN+= install/main1.scr IMAGES_EN+= install/mainexit.scr IMAGES_EN+= install/main-std.scr IMAGES_EN+= install/main-options.scr IMAGES_EN+= install/main-doc.scr IMAGES_EN+= install/main-keymap.scr IMAGES_EN+= install/media.scr IMAGES_EN+= install/mouse1.scr IMAGES_EN+= install/mouse2.scr IMAGES_EN+= install/mouse3.scr IMAGES_EN+= install/mouse4.scr IMAGES_EN+= install/mouse5.scr IMAGES_EN+= install/mouse6.scr IMAGES_EN+= install/mta-main.scr IMAGES_EN+= install/net-config-menu1.scr IMAGES_EN+= install/net-config-menu2.scr IMAGES_EN+= install/nfs-server-edit.scr IMAGES_EN+= install/ntp-config.scr IMAGES_EN+= install/options.scr IMAGES_EN+= install/pkg-cat.scr IMAGES_EN+= install/pkg-confirm.scr IMAGES_EN+= install/pkg-install.scr IMAGES_EN+= install/pkg-sel.scr IMAGES_EN+= install/probstart.scr IMAGES_EN+= install/routed.scr IMAGES_EN+= install/security.scr IMAGES_EN+= install/sysinstall-exit.scr IMAGES_EN+= install/timezone1.scr IMAGES_EN+= install/timezone2.scr IMAGES_EN+= install/timezone3.scr IMAGES_EN+= install/userconfig.scr IMAGES_EN+= install/userconfig2.scr IMAGES_EN+= install/xf86setup.scr IMAGES_EN+= mail/mutt1.scr IMAGES_EN+= mail/mutt2.scr IMAGES_EN+= mail/mutt3.scr IMAGES_EN+= mail/pine1.scr IMAGES_EN+= mail/pine2.scr IMAGES_EN+= mail/pine3.scr IMAGES_EN+= mail/pine4.scr IMAGES_EN+= mail/pine5.scr IMAGES_EN+= install/example-dir1.eps IMAGES_EN+= install/example-dir2.eps IMAGES_EN+= install/example-dir3.eps IMAGES_EN+= install/example-dir4.eps IMAGES_EN+= install/example-dir5.eps IMAGES_EN+= security/ipsec-network.pic IMAGES_EN+= security/ipsec-crypt-pkt.pic IMAGES_EN+= security/ipsec-encap-pkt.pic IMAGES_EN+= security/ipsec-out-pkt.pic IMAGES_EN+= vinum/vinum-concat.pic IMAGES_EN+= vinum/vinum-mirrored-vol.pic IMAGES_EN+= vinum/vinum-raid10-vol.pic IMAGES_EN+= vinum/vinum-raid5-org.pic IMAGES_EN+= vinum/vinum-simple-vol.pic IMAGES_EN+= vinum/vinum-striped-vol.pic IMAGES_EN+= vinum/vinum-striped.pic # Images from the cross-document image library IMAGES_LIB= callouts/1.png IMAGES_LIB+= callouts/2.png IMAGES_LIB+= callouts/3.png IMAGES_LIB+= callouts/4.png IMAGES_LIB+= callouts/5.png IMAGES_LIB+= callouts/6.png IMAGES_LIB+= callouts/7.png IMAGES_LIB+= callouts/8.png IMAGES_LIB+= callouts/9.png IMAGES_LIB+= callouts/10.png # # SRCS lists the individual SGML files that make up the document. Changes # to any of these files will force a rebuild # # SGML content SRCS+= book.sgml SRCS+= colophon.sgml SRCS+= freebsd-glossary.sgml SRCS+= advanced-networking/chapter.sgml SRCS+= basics/chapter.sgml SRCS+= bibliography/chapter.sgml SRCS+= boot/chapter.sgml SRCS+= config/chapter.sgml SRCS+= cutting-edge/chapter.sgml SRCS+= desktop/chapter.sgml SRCS+= disks/chapter.sgml SRCS+= eresources/chapter.sgml +SRCS+= firewalls/chapter.sgml SRCS+= install/chapter.sgml SRCS+= introduction/chapter.sgml SRCS+= kernelconfig/chapter.sgml SRCS+= l10n/chapter.sgml SRCS+= linuxemu/chapter.sgml SRCS+= mac/chapter.sgml SRCS+= mail/chapter.sgml SRCS+= mirrors/chapter.sgml SRCS+= multimedia/chapter.sgml SRCS+= network-servers/chapter.sgml SRCS+= pgpkeys/chapter.sgml SRCS+= ports/chapter.sgml SRCS+= ppp-and-slip/chapter.sgml SRCS+= preface/preface.sgml SRCS+= printing/chapter.sgml SRCS+= security/chapter.sgml SRCS+= serialcomms/chapter.sgml SRCS+= users/chapter.sgml SRCS+= vinum/chapter.sgml SRCS+= x11/chapter.sgml # Entities SRCS+= chapters.ent SYMLINKS= ${DESTDIR} index.html handbook.html # Turn on all the chapters. CHAPTERS?= ${SRCS:M*chapter.sgml} SGMLFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./} SGMLFLAGS+= -i chap.freebsd-glossary # XXX The Handbook build currently overflows some internal, hardcoded # limits in pdftex. Until we split the Handbook up, build the PDF # version using ps2pdf instead of pdftex. PS2PDF?= ${PREFIX}/bin/ps2pdf book.tex-pdf: ${TOUCH} book.tex-pdf book.pdf: book.ps ${PS2PDF} book.ps book.pdf pgpkeyring: pgpkeys/chapter.sgml @${JADE} -V nochunks ${OTHERFLAGS} ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC} # # Handbook-specific variables # .if defined(WITH_PGPKEYS) JADEFLAGS+= -V withpgpkeys .endif .for p in ftp cvsup SRCS+= mirrors.sgml.${p}.inc CLEANFILES+= mirrors.sgml.${p}.inc CLEANFILES+= mirrors.sgml.${p}.inc.tmp .endfor SRCS+= eresources.sgml.www.inc CLEANFILES+= eresources.sgml.www.inc CLEANFILES+= eresources.sgml.www.inc.tmp URL_RELPREFIX?= ../../../.. DOC_PREFIX?= ${.CURDIR}/../../.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" .for p in ftp cvsup mirrors.sgml.${p}.inc: ${XML_MIRRORS} ${XSL_MIRRORS} ${XSLTPROC} ${XSLTPROCOPTS} \ -o $@.tmp \ --param 'type' "'$p'" \ --param 'proto' "'$p'" \ --param 'target' "'handbook/mirrors/chapter.sgml'" \ ${XSL_MIRRORS} ${XML_MIRRORS} ${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>,;s,,,'\ < $@.tmp > $@ || (${RM} -f $@ && false) ${RM} -f $@.tmp .endfor eresources.sgml.www.inc: ${XML_MIRRORS} ${XSL_MIRRORS} ${XSLTPROC} ${XSLTPROCOPTS} \ -o $@.tmp \ --param 'type' "'www'" \ --param 'proto' "'http'" \ --param 'target' "'handbook/eresources/chapter.sgml'" \ ${XSL_MIRRORS} ${XML_MIRRORS} ${SED} -e 's,<\([^ >]*\)\([^>]*\)/>,<\1\2>,;s,,,'\ < $@.tmp > $@ || (${RM} -f $@ && false) ${RM} -f $@.tmp diff --git a/ru_RU.KOI8-R/books/handbook/book.sgml b/ru_RU.KOI8-R/books/handbook/book.sgml index b15489630d..1bba7d592e 100644 --- a/ru_RU.KOI8-R/books/handbook/book.sgml +++ b/ru_RU.KOI8-R/books/handbook/book.sgml @@ -1,345 +1,346 @@ %books.ent; %chapters; %txtfiles; %pgpkeys; ]> Руководство FreeBSD Проект Документации FreeBSD Февраль 1999 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 The FreeBSD Documentation Project 2000 2001 2002 2003 2004 Проект Русской Документации FreeBSD &bookinfo.legalnotice; &tm-attrib.freebsd; &tm-attrib.3com; &tm-attrib.3ware; &tm-attrib.arm; &tm-attrib.adaptec; &tm-attrib.adobe; &tm-attrib.apple; &tm-attrib.corel; &tm-attrib.creative; &tm-attrib.cvsup; &tm-attrib.heidelberger; &tm-attrib.ibm; &tm-attrib.ieee; &tm-attrib.intel; &tm-attrib.intuit; &tm-attrib.linux; &tm-attrib.lsilogic; &tm-attrib.m-systems; &tm-attrib.macromedia; &tm-attrib.microsoft; &tm-attrib.netscape; &tm-attrib.nexthop; &tm-attrib.opengroup; &tm-attrib.oracle; &tm-attrib.powerquest; &tm-attrib.realnetworks; &tm-attrib.redhat; &tm-attrib.sap; &tm-attrib.sun; &tm-attrib.symantec; &tm-attrib.themathworks; &tm-attrib.thomson; &tm-attrib.usrobotics; &tm-attrib.vmware; &tm-attrib.waterloomaple; &tm-attrib.wolframresearch; &tm-attrib.xfree86; &tm-attrib.xiph; &tm-attrib.general; Добро пожаловать в FreeBSD! Это Руководство охватывает процесс установки и ежедневного использования FreeBSD &rel2.current;-RELEASE и FreeBSD &rel.current;-RELEASE. Это руководство находится в процессе разработки и являет собой результат работы множества людей. Многие из разделов до сих пор не существуют, а некоторые из существующих требуют обновления. Если вы заинтересованы в помощи этому проекту, отправьте письмо в &a.ru.doc;. Обновленная версия этого документа постоянно доступна с Основного Web сервера Проекта Русской Документации FreeBSD и Основного Web сервера FreeBSD. Он также может быть загружен из Internet в одном из наиболее распространенных форматов с FTP сервера Проекта FreeBSD или с одного из многочисленных зеркал. Если вы предпочитаете иметь напечатанный (английский) вариант Руководства, то можете приобрести его на FreeBSD Mall. Вы также можете воспользоваться Поиском в Руководстве FreeBSD. &chap.preface; В начале Эта часть Руководства Пользователя FreeBSD предназначена для пользователей и администраторов - новичков в FreeBSD. Эти главы: Введут вас в FreeBSD. Проведут вас по процессу установки FreeBSD. Обучат вас некоторым основам &unix;. Покажут вам как устанавливать программные пакеты не входящие в стандартную поставку FreeBSD. Введут вас в X Window, оконную систему для &unix;, и опишут как настроить графическое окружение и сделать вашу работу более продуктивной. Мы попытались сократить множество ссылок в тексте до минимума для того, чтоб вы могли прочитать эту секцию Руководства с начала до конца с минимумом перелистываний страниц. Общие задачи Теперь, когда основы были пройдены, в данной части Руководства FreeBSD будут обсуждаться некоторые часто используемые возможности FreeBSD. В этих главах: Введение в популярные и полезные графические приложения: браузеры, бизнес приложения, программы просмотра документов и т.д. Представлены множество мультимедийных программ, доступных в FreeBSD. Описан процесс создания собственного ядра FreeBSD для включения дополнительных функций системы. Система печати разобрана в деталях, как для непосредственно подключенных принтеров, так и для принтеров, подключенных через сеть. Показано, как запускать приложения Linux в системе FreeBSD. Перед прочтением некоторых из этих глав необходимо предварительно ознакомиться с предварительной информацией, что указано в кратком обзоре в начале каждой главы. Системное Администрирование Оставшиеся главы Руководства охватывают все аспекты администрирования FreeBSD системы. Каждая глава начинается с описания того, что вы сможете изучить в результате прочтения этой главы. Эти главы спланированы там, что вы можете прочитать их когда вам нужно узнать какую-либо информацию. Вам не нужно читать их в определенном порядке, и не нужно прочитать их все перед тем, как начать пользоваться FreeBSD. Сетевые коммуникации FreeBSD это одна из наиболее широко используемых в высокопроизводительных сетевых серверах операционных систем. Главы этой части книги охватывают: Последовательные соединения PPP и PPP через Ethernet Электронную почту Запуск сетевых серверов Другую сетевую тематику повышенной сложности Эти главы предназначены для получения дополнительной информации. Нет необходимости читать их в определенной последовательности, или читать их все перед тем, как начать использовать FreeBSD в сети. + Приложения &chap.colophon; diff --git a/ru_RU.KOI8-R/books/handbook/chapters.ent b/ru_RU.KOI8-R/books/handbook/chapters.ent index 052c7844e8..cb9449546d 100644 --- a/ru_RU.KOI8-R/books/handbook/chapters.ent +++ b/ru_RU.KOI8-R/books/handbook/chapters.ent @@ -1,62 +1,63 @@ + diff --git a/ru_RU.KOI8-R/books/handbook/firewalls/Makefile b/ru_RU.KOI8-R/books/handbook/firewalls/Makefile new file mode 100644 index 0000000000..c9ee62c7cc --- /dev/null +++ b/ru_RU.KOI8-R/books/handbook/firewalls/Makefile @@ -0,0 +1,17 @@ +# +# Build the Handbook with just the content from this chapter. +# +# $FreeBSD$ +# $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/firewalls/Makefile,v 1.1 2004/12/15 14:37:20 den Exp $ +# Original revision: 1.1 +# + +CHAPTERS= firewalls/chapter.sgml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" diff --git a/ru_RU.KOI8-R/books/handbook/firewalls/chapter.sgml b/ru_RU.KOI8-R/books/handbook/firewalls/chapter.sgml new file mode 100644 index 0000000000..ccbdb17ca2 --- /dev/null +++ b/ru_RU.KOI8-R/books/handbook/firewalls/chapter.sgml @@ -0,0 +1,1090 @@ + + + + + + + Joseph J. + Barbish + Предоставил + + + + + Brad + Davis + Преобразовал в SGML и обновил + + + + + Межсетевые экраны + + межсетевой экран + + безопасность + межсетевой экран + + + + + брандмауэр + межсетевой экран + + + + + Введение + + Межсетевые экраны (firewall, брандмауэр) + делают возможной фильтрацию входящего и исходящего + трафика, идущего через систему. Межсетевой экран использует один + или более наборов правил для проверки сетевых + пакетов при их входе или выходе через сетевое соединение, он + или позволяет прохождение трафика или блокирует его. Правила + межсетевого экрана могут проверять одну или более характеристик пакетов, + включая но не ограничиваясь типом протокола, адресом хоста источника + или назначения и портом источника или назначения. + + Межсетевые экраны могут серьезно повысить уровень безопасности хоста + или сети. Они могут быть использованы для + выполнения одной или более нижеперечисленных задач: + + + + Для защиты и изоляции приложений, сервисов и машин во + внутренней сети от нежелательного трафика, приходящего + из внешней сети интернет. + + + + Для ограничения или запрещения доступа хостов внутренней + сети к сервисам внешней сети интернет. + + + + Для поддержки преобразования сетевых адресов (network + address translation, NAT), что позволяет + использование во внутренней сети приватных + IP адресов (либо через один выделенный + IP адрес, либо через адрес из пула + автоматически присваиваемых публичных адресов). + + + + После прочтения этой главы вы узнаете: + + + + Как правильно задать правила фильтрации + пакетов. + + + + Разницу между межсетевыми экранами, + встроенными в &os; + + + + Как использовать и настраивать межсетевой экран + OpenBSD PF. + + + + Как использовать и настраивать + IPFILTER. + + + + Как использовать и настраивать + IPFW. + + + + Перед прочтением этой главы вам потребуется: + + + + Ознакомиться с основами &os; и интернет. + + + + + + Принципы работы межсетевых экранов + + + межсетевой экран + наборы правил + + + Существует два основных способа создания наборов правил + межсетевого экрана: включающий и исключающий. + Исключающий межсетевой экран позволяет прохождение всего трафика, + за исключением трафика, соответствующего набору правил. + Включающий межсетевой экран действует прямо противоположным образом. + Он пропускает только трафик, соответствующий правилам и + блокирует все остальное. + + Включающие межсетевые экраны обычно более безопасны, чем + исключающие, поскольку они существенно уменьшают риск + пропуска межсетевым экраном нежелательного трафика. + + Безопасность может быть дополнительно повышена с + использованием межсетевого экрана с сохранением + состояния. Такой межсетевой экран сохраняет информацию + об открытых соединениях и разрешает только трафик через + открытые соединения или открытие новых соединений. + Недостаток межсетевого экрана с сохранением состояния в том, что + он может быть уязвим для атак DoS + (Denial of Service, отказ в обслуживании), если множество + новых соединений открывается очень быстро. Большинство + межсетевых экранов позволяют комбинировать поведение с сохранением + состояния и без сохранения состояния, что оптимально + для реальных применений. + + + + + Программные пакеты межсетевых экранов + + В &os; встроено три программных межсетевых экрана. Это + IPFILTER (известный также как IPF), IPFIREWALL + (известный также как IPFW) и PF (OpenBSD PacketFilter). + В IPFIREWALL встроена + поддержка ограничителя трафика DUMMYNET для контроля + использования пропускной способности. В IPFILTER + поддержка ограничителя трафика не встроена, но в тех + же целях может использоваться ALTQ. + + IPF, IPFW и PF для контроля исходящих и входящих пакетов + используют наборы правил, хотя и разными способами с разным + синтаксисом правил. + + + Пример набора правил IPFW (находящийся в + /etc/rc.firewall), поставляемый в составе + базовой системы, является устаревшим, сложным, и не использует + правила с сохранением состояния на интерфейсах, выходящих + во внешнюю сеть интернет. В нем используются правила + без сохранения состояния, способные только открывать или + закрывать порты сервисов. Приводимый здесь пример набора + правил IPFW с сохранением состояния расширяет набор из файла + /etc/rc.firewall. + + Правила с сохранением состояния лучше подходят для анализа + пакетов с целью защиты от переполнения в результате различных + атак, применяемых в в настоящее время. + + + Автор предпочитает IPFILTER, поскольку его + правила с сохранением состояния гораздо проще использовать + совместно с NAT; кроме того, в него встроен + ftp прокси, упрощающий настройку безопасного внешнего использования + FTP. Он также гораздо проще в освоении для пользователя, не имеющего + опыта настройки межсетевых экранов. + + Поскольку все межсетевые экраны основаны на анализе значений выбранных + полей заголовка пакета, для создания правил межсетевого экрана необходимо + понимание принципов TCP/IP, того, что означают + различные поля заголовка пакета, и как эти поля используются в + обычной сессии. Хорошим примером является: + . + + + + Packet Filter Firewall (PF, межсетевой экран OpenBSD) + + + межсетевой экран + PF + + + В июле 2003 программный межсетевой экран OpenBSD, известный как + PF, был портирован в &os; и стал доступен + из коллекции портов &os;; первым релизом, где + PF был интегрирован в основную систему, + стала &os; 5.3 в ноябре 2004. + PF это полноценный межсетевой экран с широким набором + возможностей, в котором есть опциональная поддержка + ALTQ (Alternate Queuing). + ALTQ предоставляет управление пропускной способностью + Quality of Service (QoS), позволяющее гарантировать + пропускную способность для различных сервисов на основе фильтрующих + правил. Проект OpenBSD поддерживает Руководство + Пользователя PF, которое не было внесено в этот раздел руководства + во избежание дублирования работы. + + Информация по доступности PF для различных версий &os; + приведена ниже: + + + + + + Версия &os; + Доступность PF + + + + + + Версии до 4.X + + PF недоступен для релизов &os; более старых, чем + релизы из ветви 4.X. + + + + Все версии ветви 4.X + PF доступен как часть KAME. + + + + Релизы 5.X до 5.3-RELEASE + + Для установки PF на эти версии &os; может использоваться + порт security/pf. + Эти релизы предназначались для разработчиков и тех, кто + желал ознакомиться с ранними версиями 5.X. Настоятельно + рекомендуется обновление до 5.3-RELEASE или более свежих + версий &os;. + + + + 5.3-RELEASE и более свежие версии + + PF стал частью основной системы. Не + используйте порт security/pf + на этих версиях &os;. Он не будет работать. Вместо этого + воспользуйтесь поддержкой &man.pf.4; в базовой системе. + + + + + + Дополнительную информацию можно получить с веб сайта PF для &os;: + . + + Руководство пользователя OpenBSD PF находится здесь: + . + + + PF в &os; 5.X соответствует OpenBSD версии 3.5. Порт + из коллекции портов &os; соответствует OpenBSD версии + 3.4. Имейте это ввиду при просмотре руководства + пользователя. + + + + Включение PF + + PF включен в базовую поставку &os; версии 5.3 и выше в качестве + отдельного загружаемого модуля. PF динамически подгружает модуль ядра + если включена переменная rc.conf pf_enable="YES". + Загружаемый модуль создан с включенным &man.pflog.4;. + + + + Параметры ядра + + + параметры ядра + device pf + + + + параметры ядра + device pflog + + + + параметры ядра + device pfsync + + + Включение PF путем компиляции с ядром &os; не является обязательным + требованием, и описано здесь в качестве дополнительной информации. + При компиляции PF с ядром загружаемый модуль не используется. + + Пример параметров конфигурации ядра для включения PF находится в + /usr/src/sys/conf/NOTES + (/usr/src/sys/arch/conf/LINT + для &os; 4.X) и показан здесь: + + device pf +device pflog +device pfsync + + device pf включает поддержку межсетевого экрана + Packet Filter. + + device pflog включает необязательное сетевое + псевдоустройство &man.pflog.4;, которое может использоваться для + протоколирования трафика через &man.bpf.4;. Даемон &man.pflogd.8; + может использоваться для сохранения протоколируемой информации + на диск. + + device pfsync включает необязательное + сетевое псевдоустройство &man.pfsync.4;, используемое для + отслеживания изменений состояния. Поскольку оно + не входит в загружаемый модуль, для его использования необходимо + собрать собственное ядро. + + Эти настройки будут действовать только после сборки и установки + нового ядра. + + + + Доступные параметры rc.conf + + Для активации PF во время загрузки в + /etc/rc.conf должны быть включены следующие + переменные: + + pf_enable="YES" # Включить PF (загрузить модуль если необходимо) +pf_rules="/etc/pf.conf" # определение правил для pf +pf_flags="" # дополнительные флаги для запуска pfctl +pflog_enable="YES" # запустить pflogd(8) +pflog_logfile="/var/log/pflog" # где pflogd должен сохранять протокол +pflog_flags="" # дополнительные флаги для запуска pflogd + + Если за межсетевым экраном находится локальная сеть и необходимо передавать + пакеты для компьютеров этой сети, или использовать NAT, включите также + следующий параметр: + + gateway_enable="YES" # Включить сетевой шлюз + + + + + Включение <acronym>ALTQ</acronym> + + ALTQ может быть включен только путем + компилирования ядра &os; с соответствующими параметрами. + ALTQ поддерживается не всеми существующими + драйверами сетевых карт. Для просмотра списка поддерживаемых + устройств в вашем релизе &os; обратитесь к странице справочника + &man.altq.4;. Следующие параметры включат ALTQ + и добавят дополнительную функциональность. + + options ALTQ +options ALTQ_CBQ # Class Bases Queuing (CBQ) +options ALTQ_RED # Random Early Detection (RED) +options ALTQ_RIO # RED In/Out +options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC) +options ALTQ_PRIQ # Priority Queuing (PRIQ) +options ALTQ_NOPCC # Required for SMP build + + options ALTQ включает подсистему + ALTQ. + + options ALTQ_CBQ включает Class Based + Queuing (CBQ). CBQ + позволяет распределять пропускную способность соединений + по классам или очередям для выставления приоритетов трафика + на основе правил фильтрации. + + options ALTQ_RED включает Random Early + Detection (RED). RED + используется для предотвращения перегрузки сети. + RED вычисляет длину очереди и сравнивает ее + с минимальной и максимальной границей очереди. Если + очередь превышает максимум, все новые пакеты отбрасываются. + В соответствии со своим названием, RED + отбрасывает пакеты из различные соединений в произвольном + порядке. + + options ALTQ_RIO включает Random Early + Detection In and Out. + + options ALTQ_HFSC включает + Hierarchical Fair Service Curve Packet Scheduler. Дополнительная + информация о HFSC находится по адресу: . + + + options ALTQ_PRIQ включает Priority + Queuing (PRIQ). PRIQ + всегда пропускает трафик из более высокой очереди + первым. + + options ALTQ_NOPCC включает + поддержку SMP для ALTQ. + Эта опция необходима для SMP + систем. + + + + + + * IPFILTER (IPF) + + + межсетевой экран + IPFILTER + + + Перевод раздела не завершен. + + Автором IPFILTER является Darren Reed. IPFILTER не + зависит от операционной системы: это приложение с открытыми + исходными текстами, которое было портировано на операционные + системы &os;, NetBSD, OpenBSD, SunOS, HP/UX, и Solaris. + IPFILTER активно разрабатывается и поддерживается, регулярно + выпускаются обновленные версии. + + IPFILTER основан на межсетевом экране уровня ядра, механизм + NAT может управляться и контролироваться + через пользовательский интерфейс. Правила межсетевого экрана + могут устанавливаться или удаляться утилитой &man.ipf.8;. + Правила NAT могут устанавливаться или + удаляться утилитой &man.ipnat.1;. Утилита &man.ipfstat.8; + выводит статистику IPFILTER для ядра. Программа + &man.ipmon.8; заносит действия IPFILTER в файлы системных + протоколов. + + IPF был первоначально написан с использованием правила + последнее совпадение применяется и только + с правилами без сохранения состояния. Со временем IPF + был расширен и включает параметры quick и + keep state (сохранение состояния), которые + кардинальным образом изменяют обработку пакетов. + Официальная документация IPF включает традиционные параметры + правил с традиционной последовательностью обработки пакетов. + Измененные функции включены в виде дополнительных параметров, + они необходимы для создания эффективного межсетевого экрана. + + Инструкции этого раздела подразумевают использование + параметра quick и параметра сохранения + состояния keep state. Это основа для создания + включающего межсетевого экрана. + + + + Детальное описание методов обработки правил: + + и + . + + IPF FAQ + . + + + Включение IPF + + + IPFILTER + включение + + + IPF включен в базовую систему &os; в качестве отдельного + загружаемого модуля. Система динамически загрузит модуль IPF, + если в rc.conf указана переменная + ipfilter_enable="YES". Модуль создается + с включенным протоколированием и правилом по умолчанию + block all (пропускать все). Для изменения + правила по умолчанию не обязательно собирать ядро с новыми + параметрами. Просто добавьте в конец набора правило, + блокирующее все пакеты. + + + + Параметры ядра + + + параметры ядра + IPFILTER + + + + параметры ядра + IPFILTER_LOG + + + + параметры ядра + IPFILTER_DEFAULT_BLOCK + + + + IPFILTER + параметры ядра + + + Сборка ядра с &os; включением IPF не обязательна. + Эта процедура представлена здесь в качестве дополнительной + информации. При включении IPF в ядро загружаемый модуль + не используется. + + Пример параметров настройки ядра для IPF находится в + /usr/src/sys/conf/NOTES + (/usr/src/sys/arch/conf/LINT + для &os; 4.X) и воспроизведен здесь: + + options IPFILTER +options IPFILTER_LOG +options IPFILTER_DEFAULT_BLOCK + + options IPFILTER включает поддержку + межсетевого экрана IPFILTER. + + options IPFILTER_LOG включает + протоколирование трафика через IPF путем записи его в + псевдо-устройство протоколирования пакетов + ipl для каждого + правила, содержащего ключевое слово + log. + + options IPFILTER_DEFAULT_BLOCK + изменяет поведение по умолчанию так, что блокируется каждый + пакет, не соответствующий правилу + pass. + + Эти настройки будут работать только после сборки и установки + нового ядра. + + + + Доступные параметры rc.conf + + Для активации IPF во время загрузки в + /etc/rc.conf потребуется добавить + следующие переменные: + + ipfilter_enable="YES" # Запуск межсетевого экрана ipf +ipfilter_rules="/etc/ipf.rules" # Загрузка файла с правилами +ipmon_enable="YES" # Включение протоколирования IP monitor +ipmon_flags="-Ds" # D = запуск в виде даемона + # s = протоколирование в syslog + # v = протоколирование tcp window, ack, seq + # n = отображение имен IP и портов + + Если за межсетевым экраном находится локальная сеть, использующая + приватные IP адреса, для включения NAT + потребуется добавить следующие переменные: + + gateway_enable="YES" # Включение шлюза для локальной сети +ipnat_enable="YES" # Запуск функции ipnat +ipnat_rules="/etc/ipnat.rules" # Определение файла правил для ipnat + + + + + IPF + + + ipf + + + Команда ipf используется для загрузки файла с правилами. + Обычно создается файл, содержащий подготовленный набор + правил, который полностью замещает набор, используемый + на данный момент: + + &prompt.root; ipf -Fa -f /etc/ipf.rules + + означает сброс всех внутренних таблиц правил. + + указывает файл с правилами, который необходимо загрузить. + + Таким образом, после внесения изменений в файл правил и + запуска вышеприведенной команды IPF, набор правил межсетевого экрана + обновляется без перезагрузки системы. Для обновления правил + такой подход очень удобен, поскольку команду можно выполнять + столько раз, сколько нужно. + + На странице справочной системы &man.ipf.8; находится + подробная информация по флагам этой команды. + + Набор правил для команды &man.ipf.8; должен быть в виде + стандартного текстового файла. Правила, написанные в виде + скрипта с символами подстановки, не принимаются. + + Есть способ составления правил IPF, использующих + символы подстановки. Обратитесь к . + + + + + IPFSTAT + + + ipfstat + + + + IPFILTER + статистика + + + По умолчанию &man.ipfstat.8; получает и отображает суммарную + статистику, полученную в результате применения действующих правил + к пакетам, проходящим через межсетевой экран с момента его последнего + запуска, или с того момента, когда статистика была последний раз + обнулена командой ipf -Z. + + Детальная информация приводится на странице справочника + &man.ipfstat.8;. + + Вывод команды &man.ipfstat.8; по умолчанию выглядит + примерно так: + + input packets: blocked 99286 passed 1255609 nomatch 14686 counted 0 + output packets: blocked 4200 passed 1284345 nomatch 14687 counted 0 + input packets logged: blocked 99286 passed 0 + output packets logged: blocked 0 passed 0 + packets logged: input 0 output 0 + log failures: input 3898 output 0 + fragment state(in): kept 0 lost 0 + fragment state(out): kept 0 lost 0 + packet state(in): kept 169364 lost 0 + packet state(out): kept 431395 lost 0 + ICMP replies: 0 TCP RSTs sent: 0 + Result cache hits(in): 1215208 (out): 1098963 + IN Pullups succeeded: 2 failed: 0 + OUT Pullups succeeded: 0 failed: 0 + Fastroute successes: 0 failures: 0 + TCP cksum fails(in): 0 (out): 0 + Packet log flags set: (0) + + При задании флага или + соответственно для входящих или + или исходящих пакетов, будет получен и отображен список правил, + используемых на данный момент. + + ipfstat -in отображает правила, применяемые + к входящим пакетам, вместе с номерами этих правил. + + ipfstat -on отображает правила, применяемые + к исходящим пакетам, вместе с номерами этих правил. + + Вывод команды будет выглядеть примерно так: + + @1 pass out on xl0 from any to any +@2 block out on dc0 from any to any +@3 pass out quick on dc0 proto tcp/udp from any to any keep state + + ipfstat -ih отображает правила, применяемые + к входящим пакетам, со счетчиком количества совпадений для + каждого правила. + + ipfstat -oh отображает правила, применяемые + к исходящим пакетам, со счетчиком количества совпадений для + каждого правила. + + Вывод команды будет выглядеть примерно так: + + 2451423 pass out on xl0 from any to any +354727 block out on dc0 from any to any +430918 pass out quick on dc0 proto tcp/udp from any to any keep state + + Одна из наиболее важных функций команды + ipfstat активируется флагом , + правила отображаются подобно тому, как &man.top.1; + показывает таблицу запущенных процессов &os;. Когда межсетевой экран + подвергается атаке, эта функция позволяет обнаружить соответствующие + пакеты. Дополнительные флаги дают возможность выбирать IP + адрес назначения или источника, порт или протокол, которые + будут отслеживаться в реальном времени. Подробная информация + приведена на странице &man.ipfstat.8;. + + + + IPMON + + + ipmon + + + + IPFILTER + logging + + + Для того, чтобы стало возможно использование команды + ipmon, необходимо включить параметр ядра + IPFILTER_LOG. Эта команда может использоваться в двух различных + режимах. В основном режиме, который используется по умолчанию, + она используется без флага . + + В режиме даемона создается непрерывный протокол, и возможен + просмотр предыдущих событий. В этом режиме IPFILTER работает + в &os;. Поскольку в &os; встроена функция ротации файлов + протокола, лучше использовать syslogd, чем используемый по + умолчанию вывод в обычный файл. В rc.conf + по умолчанию ipmon_flags имеет значение : + + ipmon_flags="-Ds" # D = start as daemon + # s = log to syslog + # v = log tcp window, ack, seq + # n = map IP & port to names + + Описывать преимущества протоколирования излишне. Например, + оно дает возможность просмотра информации о отброшенных + пакетах, откуда они пришли и куда направлялись. Это дает + определенные возможности отслеживания атак. + + Даже с включенным протоколированием, IPF не ведет протокол + для каждого правила. Администратор межсетевого экран должен решить, + по каким правилам набора нужно вести протокол и добавить ключевое + слово log к этим правилам. Обычно протоколируются только правила, + отбрасывающие пакеты. + + Довольно часто правило по умолчанию, запрещающее прохождение + пакетов, включается в набор последним, и для него применяется + ключевое слово log. Так вы можете увидеть все пакеты, не + попадающие ни под одно правило набора. + + + + Протоколирование IPMON + + Для сбора данных Syslogd + использует свой собственный + специальный метод. Он использует группировку по категории + (facility) и уровню (level). + IPMON в режиме использует + local0 в качестве имени + категории. Все протоколируемые IPMON данные + отправляются на local0. Для сбора + протоколируемых данных могут быть использованы следующие + уровни: + + LOG_INFO - packets logged using the "log" keyword as the action rather than pass or block. +LOG_NOTICE - packets logged which are also passed +LOG_WARNING - packets logged which are also blocked +LOG_ERR - packets which have been logged and which can be considered short + + + Для указания IPFILTER протоколировать все данные в + /var/log/ipfilter.log, создайте этот + файл следующей командой: + + &prompt.root; touch /var/log/ipfilter.log + + Функционирование syslog управляется настройками в файле + /etc/syslog.conf. Файл + syslog.conf позволяет достаточно гибко + настроить обработку системных сообщений, выдаваемых программами, + такими как IPF. + + Добавьте в /etc/syslog.conf + следующий оператор: + + local0.* /var/log/ipfilter.log + + local0.* означает запись всех + протоколируемых сообщений в указанный файл. + + Для применения внесенных в + /etc/syslog.conf изменений вы можете + перезагрузиться или заставить syslog перечитать + /etc/syslog.conf, выполнив команду + /etc/rc.d/syslogd reload ( + killall -HUP syslogd + в &os; 4.X). + + Не забудьте отредактировать + /etc/newsyslog.conf для ротации только + что созданного лог файла. + + + + Формат протоколируемых сообщений + + Сообщения, генерируемые ipmon, состоят + из полей данных, разделенных пробелами. Поля, общие для всех + сообщений: + + + + Дата получения пакета. + + + + Время получения пакета. Формат времени + HH:MM:SS.F для часов, минут, секунд и долей секунд + (последнее поле может состоять из нескольких цифр). + + + + Имя интерфейса, через который прошел пакет, + например dc0. + + + + Группа и номер правила, например + @0:17. + + + + Эти сообщения могут быть просмотрены командой + ipfstat -in. + + + + Действие: p для пропущенных, b для заблокированных, S + для пакетов с неполным заголовком (short packet), + n для пакетов, не соответствующих какому-либо правилу, + L для соответствующих правилу протоколирования. + Порядок следования по флагам: S, p, b, n, L. Знаки + P или B в верхнем регистре означают, что пакет был + протоколирован в соответствии с общими настройками, + а не каким-то конкретным правилом. + + + + Адреса. Всего три поля: адрес и порт источника + (разделенные запятой), ->, адрес и порт + назначения. + 209.53.17.22,80 -> 198.73.220.17,1722. + + + + PR, с последующим именем или + номером протокола, например PR tcp. + + + + len, с последующей длиной заголовка + и общей длиной пакета, например len 20 40. + + + + Для TCP пакетов добавляется дополнительное + поле, начинающееся с дефиса, за которым следуют буквы, + соответствующие установленным флагам. На странице справочника + находится список букв и флагов. + + Для пакетов ICMP, в конце находятся два поля, + одно всегда ICMP, а во втором тип + ICMP сообщения (message и sub-message), + например ICMP 3/3 для сообщения port + unreachable. + + + + Создание набора правил с использованием символьной подстановки + + Некоторые опытные пользователи IPF создают файл правил, + поддерживающий использование символьной подстановки. Основное + преимущество использования такого скрипта заключается в + возможности изменения значения, присваиваемого символьному + имени, в результате чего во всех правилах, содержащих эту + символьную подстановку, будет использоваться новое значение. + В начале скрипта вы можете поместить часто используемые + переменные, а затем использовать их сразу в нескольких + правилах. Ниже дан пример такого использования. + + Синтаксис скрипта совместим с sh, csh, и + tcsh. + + Символьная подстановка предваряется знаком доллара: + $. + + Для присвоения значения символьным переменным знак + $ не используется. + + Присваиваемое символической переменной значение должно + быть заключено в двойные кавычки ("). + + Начните файл правил примерно так: + +############# Start of IPF rules script ######################## + +oif="dc0" # name of the outbound interface +odns="192.0.2.11" # ISP's DNS server IP address +myip="192.0.2.7" # my static IP address from ISP +ks="keep state" +fks="flags S keep state" + +# You can choose between building /etc/ipf.rules file +# from this script or running this script "as is". +# +# Uncomment only one line and comment out another. +# +# 1) This can be used for building /etc/ipf.rules: +#cat > /etc/ipf.rules << EOF +# +# 2) This can be used to run script "as is": +/sbin/ipf -Fa -f - << EOF + +# Allow out access to my ISP's Domain name server. +pass out quick on $oif proto tcp from any to $odns port = 53 $fks +pass out quick on $oif proto udp from any to $odns port = 53 $ks + +# Allow out non-secure standard www function +pass out quick on $oif proto tcp from $myip to any port = 80 $fks + +# Allow out secure www function https over TLS SSL +pass out quick on $oif proto tcp from $myip to any port = 443 $fks +EOF +################## End of IPF rules script ######################## + + Это все, что требовалось сделать. В данном примере сами + правила не важны; важно то, как используется символьная подстановка. + Если вышеприведенный пример помещен в файл + /etc/ipf.rules.script, вы можете + перезагрузить набор правил, введя следующую команду: + + &prompt.root; sh /etc/ipf.rules.script + + С использованием в правилах символьной подстановки связана одна + проблема: IPF не понимает символьную подстановку и не может обработать + такой скрипт непосредственно. + + Скрипт может использоваться одним из следующих двух + способов: + + + + Уберите комментарий перед строкой, начинающейся с + cat, и закомментируйте строку, + начинающуюся с /sbin/ipf. Поместите + строку ipfilter_enable="YES" в файл + /etc/rc.conf как обычно, и запускайте + скрипт после каждого его обновления для создания или обновления + файла /etc/ipf.rules. + + + + Отключите IPFILTER в стартовых скриптах системы, поместив + строку ipfilter_enable="NO" (это значение + по умолчанию) в файл /etc/rc.conf. + + Поместите скрипт, подобный нижеприведенному в каталог + /usr/local/etc/rc.d/. У него должно + быть однозначно говорящее о его назначении имя, например + ipf.loadrules.sh. Расширение + .sh обязательно. + + #!/bin/sh +sh /etc/ipf.rules.script + + Права на этот скрипт должны разрешать чтение, запись и + выполнение владельцу root. + + &prompt.root; chmod 700 /usr/local/etc/rc.d/ipf.loadrules.sh + + + + Теперь, при загрузке системы, правила IPF будут + загружены. + + + + IPF Rule Sets + + + Набор правил ipf это группа правил, составленных для + пропускания или блокирования пакетов на основе их содержимого. + Двусторонний обмен пакетами между хостами составляет сессию. + Межсетевой экран обрабатывает пакеты в обеих направлениях, + + Каждый IP пакет имеет такие характеристики как порт и адрес + источника и назначения. Эти основные характеристики используются + для пропускания или блокирования пакетов. + + + IPFILTER + порядок обработки правил + + + + IPF был первоначально написан с использованием логики + последнее совпадающее правило побеждает и + только с правилами без сохранения состояния. Со временем + в IPF был включен параметр quick и параметр + сохранения состояния keep state, что + существенно улучшило логику обработки правил. + + Инструкции, помещенные в эту главу, созданы с использованием + параметров quick и keep state. + Это основа для создания набора правил включающего межсетевого + экрана. + + + + + При работе с правилами межсетевого экрана, будьте + очень осторожны. Некоторые + конфигурации могут заблокировать вам + доступ к серверу. В целях предосторожности, + первоначальную настройку межсетевого экрана вы можете + выполнить с локальной консоли, а не через удаленное + подключение, такое как + ssh. + + + + + + + + + * IPFW + + Этот раздел не переведен. + + + +