Бруй В.В., Карлов С.В. - Linux-сервер - пошаговые инструкции - инсталляции и настройки (1077321), страница 37
Текст из файла (страница 37)
Так называемые «хорошо известные» (well known) порты имеют номера в диапазоне от 0 до 1023. Эти порты, в большинстве случаев, используются системными процессами или программами, выполняемыми привилегированными пользователями в фоновом режиме (службами). Зарегистрированные (registered) порты имеют номера в диапазоне от128Часть 2. Система сетевой защиты1024 до 49151, но на большинстве систем могут использоваться любыми приложениями. Динамическиепорты (dynamic или private) имеют номера в диапазоне 49152…65535.Все открытые порты должны иметь службу (демон), которая на нем выполняется, т. е. обслуживаетобращающихся к этому порту пользователей.
Если служба на некотором порту не выполняется, то он должен быть закрыт.Ограничения и допущенияВсе операции выполняются пользователем с учетной записью root.Используется ядро версии 2.4.х.Используется дистрибутив ASPLinux 7.3 (Vostok). На других дистрибутивах возможно успешное выполнение подобной процедуры, но авторы этого не проверяли.ПакетыВ дистрибутив ASPLinux 7.3 (Vostok) входит пакет iptables-1.2.6a-1.asp, используемый дляустановки системы сетевой защиты. Ее поддержка также включена в ядро, устанавливаемое по умолчанию.Если вы следовали рекомендациям по инсталляции нового ядра, то пакет, поставляемый с дистрибутивом,сохраняет свою работоспособность и не требует перекомпиляции ядра. Однако, используя новое ядро с персональной конфигурацией, из-за наличия неудовлетворенных зависимостей, вы не сможете установить пакет iptables-1.2.6a-1.asp, входящий в состав дистрибутива, или обновленный пакет, который можетбыть выпущен поставщиком дистрибутива.
В этом случае придется устанавливать IPTables из исходных кодов.Последующие рекомендации основаны на информации с домашней страницы проекта NetFilter/IPTables, полученной 01.02.2003. Пожалуйста, регулярно посещайте домашнюю страницу проектаhttp://www.iptables.org/ или http://www.iptables.org/ для отслеживания обновлений. Основная часть кода, используемая для системы сетевой защиты, включается в состав ядра. Разработчики IPTables не могут гарантировать, что последние изменения внесены в официальный релиз ядра, размещаемыйна http://www.kernel.org.
Поэтому все необходимые для нормальной работы системы сетевой защиты изменения в код ядра содержатся в пакете patch-o-matic-YYYYMMDD.tar.bz2 (последний, доступный на момент написания книги, - patch-o-matic-20030107.tar.bz2). Часть кода, не входящяя в ядро, содержится в пакете iptables-version.tar.bz2 (последний, доступный на момент написания книги, - iptables-1.2.7a.tar.bz2).Необходимые пакеты доступны с домашней страницы разработчиков http://www.iptables.orgили http://www.iptables.org, а также FTP-сервера ftp://ftp.netfilter.org.Компиляция оптимизация и инсталляция IPTables из rpm-пакетовЕсли вы используете пакет iptables-1.2.6a-1.asp, входящий в состав дистрибутива ASPLInux7.3 (Vostok), то вам необходимо сделать следующее.Шаг 1Если вы предпочитаете использование системы со стандартным ядром и программным обеспечением,установленным из rpm-пакетов, для установки или обновления пакета необходимо выполнить следующиеоперации.ЗАМЕЧАНИЕ Авторы настоятельно рекомендуют устанавливать программное обеспечение из исходных кодов.Шаг 1Проверьте, установлен ли пакет iptables с помощью следующей команды:[root@bastion /]# rpm –iq iptablesЕсли вы следовали нашим рекомендациям, то он должен быть уже установлен.Если пакет не установлен, перейдите в каталог, где находится пакет iptables-1.2.6a1.asp.i386.rpm.
Если вы в соответствии с рекомендациями главы 2 скопировали все пакеты, входящие вдистрибутив, в каталог /home/distrib, то выполните команду:[root@bastion /]# cd /home/distribи установите:[root@bastion distrib]# rpm –ihv iptables-1.2.6a-1.asp.i386.rpmГлава 9. Основные положения системы сетевой защиты (Firewall)129или обновите пакет:[root@bastion distrib]# rpm –Uhv iptables-1.2.6a-1.asp.i386.rpmШаг 2Как уже отмечалось, поддержка системы сетевой защиты осуществляется на уровне ядра. Для того,чтобы она могла функционировать на вашей системе, необходимо при настройке ядра установить или проверить правильность установки опций, связанных с функционированием системы сетевой защиты, в соответствии с рекомендациями, приведенными ниже в главе 6.Для всех серверов, кроме шлюзов и прокси-серверов:* Packet socket (CONFIG__PACKET) [Y/n/?] <Enter>Эта опция включает/отключает поддержку приложений, которые связываются непосредственно с сетевыми устройствами без использования промежуточного сетевого протокола, осуществленного в ядре, подобно программе tcpdump.Packet socket: mmapped IO (CONFIG_PACKET_MMAP) [N/y/?] <y>Эта опция включает/отключает ускорение работы драйвера пакетов.Netlink device emulation (CONFIG_NETLINK_DEV) [N/y/?] (NEW) <y>Эта опция обеспечивает обратную совместимость.Network packet filtering (replaces ipchains) (CONFIG_NETFILTER) [N/y/?]<y>Эта опция включает/отключает поддержку Firewall.Network packet filtering debugging (CONFIG_NETFILTER_DEBUG) [N/y/?] (NEW)<y>Эта опция включает/отключает поддержку отладки кода netfilter.Socket Filtering (CONFIG_FILTER) [N/y/?] <Enter>Эта опция включает/отключает поддержку фильтра Linux Socket Filter, необходимого для реализациифильтрации пакетов PPP соединений.Unix domain sockets (CONFIG_UNIX) [Y/n/?] <Enter>Опция включает/отключает поддержку работы с сетями TCP/IP.TCP/IP networking (CONFIG_INET) [Y/n/?] <Enter>Опция включает/отключает поддержку работы с сетями TCP/IP.IP: multicasting (CONFIG_IP_MULTICAST) [Y/n/?] <n>Эта опция необходима для реализации сетевых мультимедийных технологий.IP: advanced router (CONFIG_IP_ADVANCED_ROUTER) [N/y/?] <n>Эта опция позволяет конфигурировать систему как шлюз.
В случае включения этой опции необходимо ответить на ряд дополнительных вопросов.IP: kernel level autoconfiguration (CONFIG IP_PNP) [N/y/?] <Enter>Включение этой опции необходимо только для бездисковых рабочих станций, требующих доступа к сетидля загрузки.IP: tunneling (CONFIG_NET_IPIP) [N/y/?] <Enter>Эта опция включает поддержку туннелирования.
Её использование необходимо, например, при подключении сервера к сети через VPN-подключение.IP: GRE tunnels over IP (CONFIG_NET_IPGRE) [N/y/?] <Enter>Другой вид настройки туннелирования. Её использование необходимо, например, при подключениисервера к сети через VPN-подключение.IP: TCP Explicit Congestion Notification support (CONFIG_INET_ECN)[N/y/?] <Enter>Опция включает/отключает поддержку уведомления клиентов о перегрузке системы. К сожалению,многие сервера отказывают в доступе тем системам, на которых включена эта опция, из соображений безопасности.IP: TCP syncookie support (disabled per default) (CONFIG_SYN_COOKIES)[N/y/?] Y130Часть 2. Система сетевой защитыЭта опция включает/отключает поддержку защиты от SYN-атак.**IP: Netfilter Configuration*Connection tracking (required for masq/NAT) (CONFIG_IP_NF_CONNTRACK)[N/y/?] (NEW) <y>FTP protocol support (CONFIG_IP_NF_FTP) [N/y/?] (NEW) <y>IRC protocol support (CONFIG_IP_NF_IRC) [N/y/?] (NEW) <Enter>IP tables support (required for filtering/masq/NAT)(CONFIG_IP_NF_IPTABLES) [N/y/?] (NEW) <y>limit match support (CONFIG_IP_NF_MATCH_LIMIT) [N/y/?] (NEW) <y>MAC address match support (CONFIG_IP_NF_MATCH_MAC) [N/y/?] (NEW) <y>netfilter MARK match support (CONFIG_IP_NF_MATCH_MARK) [N/y/?] (NEW) <y>Multiple port match support (CONFIG_IP_NF_MATCH_MULTIPORT) [N/y/?] (NEW)<y>TOS match support (CONFIG_IP_NF_MATCH_TOS) [N/y/?] (NEW) <y>LENGTH match support (CONFIG_IP_NF_MATCH_LENGTH) [N/y/?] (NEW) <y>TTL match support (CONFIG_IP_NF_MATCH_TTL) [N/y/?] (NEW) <y>tcpmss match support (CONFIG_IP_NF_MATCH_TCPMSS) [N/y/?] (NEW) <y>Connection state match support (CONFIG_IP_NF_MATCH_STATE) [N/y/?] (NEW)<y>Packet filtering (CONFIG_IP_NF_FILTER) [N/y/?] (NEW) <y>REJECT target support (CONFIG_IP_NF_TARGET_REJECT) [N/y/?] (NEW) <y>Full NAT (CONFIG_IP_NF_NAT) [N/y/?] (NEW) <Enter>Packet mangling (CONFIG_IP_NF_MANGLE) [N/y/?] (NEW) <y>TOS target support (CONFIG_IP_NF_TARGET_TOS) [N/y/?] (NEW) <y>MARK target support (CONFIG_IP_NF_TARGET_MARK) [N/y/?] (NEW) <y>LOG target support (CONFIG_IP_NF_TARGET_LOG) [N/y/?] (NEW) <y>TCPMSS target support (CONFIG IP NF_TARGET_TCPMSS) [N/y/?] (NEW) <y>Для шлюзов и прокси-серверов.* Packet socket (CONFIG__PACKET) [Y/n/?] <Enter>Эта опция включает/отключает поддержку приложений, которые связываются непосредственно с сетевымиустройствами без использования промежуточного сетевого протокола, осуществленного в ядре, подобнопрограмме tcpdump.Packet socket: mmapped IO (CONFIG_PACKET_MMAP) [N/y/?] <y>Эта опция включает/отключает ускорение работы драйвера пакетов.Netlink device emulation (CONFIG_NETLINK_DEV) [N/y/?] (NEW) <y>Эта опция обеспечивает обратную совместимость.Network packet filtering (replaces ipchains) (CONFIG_NETFILTER) [N/y/?]<y>Эта опция включает/отключает поддержку Firewall.Network packet filtering debugging (CONFIG_NETFILTER_DEBUG) [N/y/?] (NEW)<y>Эта опция включает/отключает поддержку отладки кода netfilter.Socket Filtering (CONFIG_FILTER) [N/y/?] <y>Эта опция включает/отключает поддержку фильтра Linux Socket Filter, необходимого для реализациифильтрации пакетов PPP-соединений.Unix domain sockets (CONFIG_UNIX) [Y/n/?] <y>Опция включает/отключает поддержку работы с сетями TCP/IP.TCP/IP networking (CONFIG_INET) [Y/n/?] <Enter>Опция включает/отключает поддержку работы с сетями TCP/IP.IP: multicasting (CONFIG_IP_MULTICAST) [Y/n/?] <Y>Эта опция необходима для реализации сетевых мультимедийных технологий.IP: advanced router (CONFIG_IP_ADVANCED_ROUTER) [N/y/?] <y>Эта опция позволяет конфигурировать систему как шлюз.
В случае включения этой опции необходимо ответить на ряд дополнительных вопросов.Глава 9. Основные положения системы сетевой защиты (Firewall)131IP: policy router (CONFIG_IP_MULTIPLE_TABLES) [N/y/?] <y>IP: use netfilter MARK value as routing key (CONFIG_IP_ROUTE_FWMARK)[N/y/?] <y>IP: fast network address translation (CONFIG_IP_ROUTE_NAT) [N/y/?] <y>IP: equal cost multipath (CONFIG_IP_ROUTE_MULTIPATH) [N/y/?] <y>IP: use TOS value as routing key(CONFIG_IP_ROUTE_TOS) [N/y/?] <y>IP: verbose route monitoring (CONFIG_IP_ROUTE_VERBOSE) [N/y/?] <y>IP: large routing tables (CONFIG_IP_ROUTE_LARGE_TABLES) [N/y/?] <y>IP: kernel level autoconfiguration (CONFIG_IP_PNP) [N/y/?] <Enter>Включение этой опции необходимо только для бездисковых рабочих станций, требующих доступа к сетидля загрузки.IP: tunneling (CONFIG_NET_IPIP) [N/y/?] <y>Эта опция включает поддержку туннелирования.