Чтение онлайн

ЖАНРЫ

Стахнов Алексей Александрович

Шрифт:

ipchains -A input -i $EXTERNAL_INTERFACE -р tcp -s $IPADDR $UNIPRIVPORTS -d $NEWS_SERVER 119 -j ACCEPT ipchains -A output -i $EXTERNAL_INTERFACE -p tcp! -y -s $NEWS_SERVER 119 -d $IPADDR $UNIPRIVPORTS -j ACCEPT

В том случае, если у вас в локальной сети есть свой собственный сервер новостей, и вы хотите разрешить извне доступ определенным хостам – воспользуйтесь следующими правилами:

ipchains -A output -i $EXTERNAL_INTERFACE -р tcp -s <ip.clients> $UNIPRIVPORTS -d $NEWS_SERVER 119 -j ACCEPT ipchains -A input -i $EXTERNAL_INTERFACE -p tcp! -y -s $NEWS_SERVER 119 -d <ip.clients> $UNIPRIVPORTS -j ACCEPT

А поскольку вашему локальному серверу новостей необходимо получать и передавать статьи от сервера новостей провайдера – воспользуйтесь следующими правилами:

ipchains -A output -i $EXTERNAL_INTERFACE -р tcp -s $IPADDR $UNIPRIVPORTS -d $NEWS_SERVER 119 -j ACCEPT ipchains -A input -i $EXTERNAL_INTERFACE -p tcp! -y -s $NEWS_SERVER 119 -d $IPADDR $UNIPRIVPORTS -j ACCEPT

Telnet

Telnet

использует порт 23 протокол TCP. Применение протокола удаленного доступа Telnet было очень популярно еще три-четыре года назад, однако из-за того, что этот протокол абсолютно не защищен, а также вследствие появления альтернативы в виде протокола SSH – категорически не рекомендуется разрешать доступ извне по данному протоколу.

SSH

Протокол SSH использует порт 22 и протокол TCP. Защищенная замена Telnet и r-командам. При функционировании использует привилегированные порты 513—1023.

Чтобы применять протокол SSH для доступа из локальной сети к Интернету SSH-серверам необходимо ввести следующие правила:

ipchains -A output -i $EXTERNAL_INTERFACE -р tcp -s $IPADDR $UNIPRIVPORTS -d $ANYWHERE 22 -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p tcp! -y -s $ANYWHERE 22 -d $IPADDR $UNIPRIVPORTS -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p tcp -s $ANYWHERE $SSH_PORTS -d $IPADDR 22 -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp! -y -s $IPADDR 22 -d $ANYWHERE $SSH_PORTS -j ACCEPT

Следующие правила разрешают доступ удаленным клиентам к вашим локальным SSH-серверам:

ipchains -A input -i $EXTERNAL_INTERFACE -р tcp -s $ANYWERE $UNIPRIVPORTS -d $IPADDR 22 -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp! -y -s $IPADDR 22 -d $ANYWHERE $UNIPRIVPORTS -j ACCEPT

ipchains -A -i $EXTERNAL_INTERFACE -p tcp -s $IPADDR $SSH_PORTS -d $ANYWERE 22 -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p tcp! -y -s $ANYWHERE 22 -d $IPADDR $SSH_PORTS -j ACCEPT

FTP

Пожалуй один из сложных протоколов, поскольку использует несколько портов (TCP 21, 20). Протокол предусматривает два режима передачи – активный и пассивный канал передачи, что несколько осложняет конфигурацию брандмауэра.

Следующие правила разрешают доступ к удаленным FTP-серверам:

ipchains -A output -i $EXTERNAL_INTERFACE -р tcp -s $IPADDR $UNPRIVPORTS -d $ANYWERE 21 -j ACCEPT ipchains -A input -i $EXTERNAL_INTERFACE -p tcp! -y -s $ANYWHERE 21 -d $IPADDR $ UNPRIVPORTS -j ACCEPT

Следующие правила разрешают устанавливать соединения в режиме активного канала передачи данных:

ipchains -A input -i $EXTERNAL_INTERFACE -р tcp! -y -s $ANYWHERE 20 -d $IPADDR $UNPRIVPORTS -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -s $IPADDR $UNPRIVPORTS -d $ANYWERE 20 -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -s $IPADDR $UNPRIVPORTS -d $ANYWERE $UNPRIVPORTS -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p tcp! -y -s $ANYWHERE $UNPRIVPORTS -d $IPADDR $UNPRIVPORTS -j ACCEPT

Для того чтобы к вашему локальному FTP-серверу был доступ извне – необходимо ввести следующие правила:

ipchains -A input -i $EXTERNAL_INTERFACE -р tcp -s $ ANYWERE $UNPRIVPORTS -d $IPADDR 21 -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp! -y -s $IPADDR 21 -d $ANYWERE $UNPRIVPORTS -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp -s $IPADDR 20 -d $ANYWERE $UNPRIVPORTS -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p tcp! -y -s $ANYWHERE $UNPRIVPORTS -d $IPADDR 20 -j ACCEPT

ipchains -A input -i $EXTERNAL_INTERFACE -p tcp -s $ANYWHERE $UNPRIVPORTS -d $IPADDR $UNPRIVPORTS -j ACCEPT

ipchains -A output -i $EXTERNAL_INTERFACE -p tcp! -y -s $IPADDR $UNPRIVPORTS -d $ANYWHERE $UNPRIVPORTS -j ACCEPT

HTTP Протокол HTTP использует порт 80 и протокол TCP. Для того чтобы локальные клиенты могли получить доступ к Web-серверам Интернета, необходимо ввести следующие правила:

ipchains -A output -i $EXTERNAL_INTERFACE -р tcp -s $IPADDR $UNPRIVPORT -d $ANYWHERE 80 -j ACCEPT ipchains -A input -i $EXTERNAL_INTERFACE -p tcp! -y -s $ANYWHERE 80 -d $IPADDR $UNIPRIVPORTS -j ACCEPT

В том случае, если у вас в локальной сети есть свой собственный Web-сервер,

и вы хотите разрешить доступ извне – воспользуйтесь следующими правилами:

ipchains -A input -i $EXTERNAL_INTERFACE -р tcp -s $ANYWHERE $UNIPRIVPORTS -d $IPADDR 80 -j ACCEPT ipchains -A output -i $EXTERNAL_INTERFACE -p tcp! -y -s $IPADDR 80 -d $ANYWHERE $UNIPRIVPORTS -j ACCEPT

Помимо перечисленных сервисов у вас могут действовать и другие, однако, зная протокол, используемые порты и опираясь на ранее приведенные правила, не составит труда добавить соответствующие правила для нормального функционирования ваших сервисов. Запрет доступа с «неблагонадежных» узлов

Если вы обнаружите попытки сканирования портов или другие сомнительные действия, которые периодически предпринимаются с одного и того же хоста, желательно вовсе запретить обращение к системе с этого адреса.

Пример запрещающего правила приведен ниже:

ipchains -I input -i $EXTERNAL_INTERFACE -s <адрес/маска> -j DENY

Согласно этому правилу удаляется любой пакет, независимо от протокола и номера исходного порта или порта назначения.

Поддержка обмена в локальной сети

Для поддержки локальной сети, стоящей за брандмауэром, следует добавить некоторые правила. Эти правила необходимы для того, чтобы разрешить доступ к внутреннему сетевому интерфейсу брандмауэра и направить трафик в глобальную сеть. Как только на компьютере-брандмауэре будет реализована поддержка двух или более интерфейсов, он превратится в бастион.

Разрешение доступа к внутреннему сетевому интерфейсу брандмауэра

При работе с небольшими сетями вряд ли есть основание ограничивать доступ к брандмауэру из локальной сети. Следующие правила разрешают все виды взаимодействия между брандмауэром и локальной сетью:

ipchains -A input -i $INTERNAL_INTERFACE -s LAN -j ACCEPT ipchains -A output -i $Internal_INTERFACE -s LAN_1 -j ACCEPT

Обратите внимание, что данные правила разрешают обмен лишь с брандмауэром. Доступ к Интернету отсутствует, поскольку по умолчанию компьютер, выполняющий роль брандмауэра, не производит динамической маршрутизации пакетов и не поддерживает статических маршрутов. Чтобы обеспечить маршрутизацию пакетов через брандмауэр, надо задать дополнительные правила.

Выбор конфигурации для пользующейся доверием локальной сети

Пакеты, передаваемые компьютерами локальной сети, можно условно разбить на две категории. Первая категория представляет собой данные, которыми локальные узлы обмениваются с брандмауэром. Вторая категория – это данные, направляемые через внешний интерфейс брандмауэра в Интернет.

При работе небольшой сети вряд ли может возникнуть потребность в фильтрации пакетов, проходящих через внутренний интерфейс брандмауэра, однако некоторая обработка все-таки необходима. Речь идет о маскировке.

Если компьютер, выполняющий роль брандмауэра, имеет реальный IP-адрес, а всем остальным машинам, подключенным к локальной сети, присвоены адреса, предназначенные для внутреннего использования, то для обеспечения доступа локальных машин в Интернет брандмауэр должен взять на себя функции proxy-сервера.

По сути, компьютер, выполняющий маскировку пакетов, представляет собой низкоуровневый proxy-сервер. Такой сервер обслуживает клиентов, устанавливая соединения с удаленными узлами от своего имени. Поскольку исходный адрес в пакете, передаваемом в Интернет, заменяется исходным адресом компьютера, выполняющего маскировку, то с точки зрения удаленного узла обмен данными с ним проводит proxy-сервер. В пакетах, передаваемых удаленным узлом, адрес назначения заменяется на адрес локального компьютера.

Организация доступа из локальной сети к брандмауэру бастионного типа

Если вы занимаетесь администрированием небольшой сети, то, скорее всего, вы не захотите ограничивать доступ локальных компьютеров к брандмауэру бастионного типа. Следующее правило организует неограниченный доступ к внутреннему сетевому интерфейсу брандмауэра:

ipchains -A input -i $INTERNAL_INTERFACE -S LAN_1 -j ACCEPT

ipchains -A output -i $INTERNAL_INTERFACE -d LAN_1 -j ACCEPT

Перенаправление трафика

Если несколько локальных сетей должны обмениваться информацией, вам необходимо разрешить передачу пакетов между соответствующими интерфейсами. Конечно, делать это надо лишь в том случае, если маршрутизация не выполняется какими-либо другими средствами.

Чтобы брандмауэр можно было использовать в качестве маршрутизатора, объединяющего две локальные сети, необходимо добавить следующие правила:

Поделиться с друзьями: