Linux
Шрифт:
# разрешение обмена между клиентом и DNS-сервером
ipchains -A input -i $EXTERNAL_INTERFACE -р udp -s Cclients.addr> $UNPRIVPORTS -d $IPADDR 53 -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s cclients.addr> $UNPRIVPORTS -d $IPADDR 53 -j ACCEPT# разрешение обмена между DNS-серверами
ipchains -A input -i $EXTERNAL_INTERFACE -p udp -s cclients.addr> 53 -d $IPADDR -j ACCEPT
ipchains -A output -i $EXTERNAL_INTERFACE -p udp -s cclients.addr> 53 -d $IPADDR -j ACCEPTСледующие правила используются тогда, кода необходима передача с использованием
ipchains -A input -i $EXTERNAL_INTERFACE -p tcp -s <dns.sec> $UNIPRIVPORTS -d $IPADDR 53 -j ACCEPT ipchains -A output -i $EXTERNAL_INTERFACE -p tcp! -y -s $IPADDR 53 -d <dns.sec> $UNIPRIVPORTS -j ACCEPT
Для приема и пересылки электронной почты используются следующие протоколы:
• SMTP порт 25 TCP;
• POP3 порт 110 TCP;
• IMAP порт 143 TCP.
При создании правил, разрешающих функционирование SMTP-протокола, будем считать, что наша почта отправляется через провайдера.
Для передачи почты по SMTP-протоколу на почтовый сервер провайдера необходимо добавить следующие правила:ipchains -A input -i $EXTERNAL_INTERFACE -р tcp -s $IPADDR $UNIPRIVPORTS -d $SMTP_GATEWAY 25 -j ACCEPT ipchains -A output -i $EXTERNAL_INTERFACE -p tcp! -y -s $ SMT P_GATEWAY 25 -d $IPADDR $UNIPRIVPORTS -j ACCEPT
В том случае, если у вас в локальной сети присутствует свой собственный SMTP-сервер, правила фильтрации несколько изменяются и принимают следующий вид:
ipchains -A input -i $EXTERNAL_INTERFACE -р tcp -s $IPADDR $UNIPRIVPORTS -d $ANYWHERE 25 -j ACCEPT ipchains -A output -i $EXTERNAL_INTERFACE -p tcp! -y -s $ANYWHERE 25 -d $IPADDR $UNIPRIVPORTS -j ACCEPT
Для получения электронной почты используется протокол POP3 или протокол IMAP. Для нормального функционирования POP3-протокола необходимо для нашего брандмауэра добавить следующие правила:
ipchains -A input -i $EXTERNAL_INTERFACE -р tcp -s $IPADDR $UNIPRIVPORTS -d $POP_SERVER 110 -j ACCEPT ipchains -A output -i $EXTERNAL_INTEREACE -p tcp! -y -s $POP_SERVER 110 -d $IPADDR $UNIPRIVPORTS -j ACCEPT
Если вы хотите предоставить некоторым внешним хостам доступ к вашему POP3-серверу – используйте следующие правила:
ipchains -A input -i $EXTERNAL_INTEREACE -р tcp -s <pop.clients> $UNIPRIVPORTS -d $IPADDR 110 -j ACCEPT ipchains -A output -i $EXTERNAL_INTEREACE -p tcp! -y -s $IPADDR 110 -d <pop.clients> $UNIPRIVPORTS -j ACCEPT
В том случае, если у вас используется IMАР-протокол, добавьте следующие правила:
ipchains -A input -i $EXTERNAL_INTERFACE -р tcp -s $IPADDR $UNIPRIVPORTS -d $IMAP_SERVER 143 -j ACCEPT ipchains -A output -i $EXTERNAL_INTERFACE -p tcp! -y -s $IMAP_SERVER 143 -d $IPADDR $UNIPRIVPORTS -j ACCEPT
Если вы хотите предоставить некоторым внешним хостам доступ к вашему IMАР-серверу – используйте следующие правила:
ipchains -A input -i $EXTERNAL_INTERFACE -р tcp -s <pop.clients> $UNIPRIVPORTS -d $IPADDR 143 -j ACCEPT ipchains -A output -i $EXTERNAL_INTERFACE -p tcp! -y -s $IPADDR 143 -d <pop.clients> $UNIPRIVPORTS -j ACCEPT
NNTP
Сервер новостей использует порт 119 и протокол TCP. Для обеспечения нормального функционирования сервера новостей
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 ACCEPTFTP
Пожалуй один из сложных протоколов, поскольку использует несколько портов (TCP 21, 20). Протокол предусматривает два режима передачи – активный и пассивный канал передачи, что несколько осложняет конфигурацию брандмауэра.
Следующие правила разрешают доступ к удаленным FTP-серверам: