Брандмауэры и специальное программное обеспечение 8 Часть 4

Вид материалаРеферат

Содержание


imap2, порт 143 и imap3, порт 220
printer, порт 515
Accept service=s
Подобный материал:
1   ...   44   45   46   47   48   49   50   51   ...   101

imap2, порт 143 и imap3, порт 220


Протокол доступа к электронной почте IMAP (Internet Mail Access Protocol или Interim Mail Access Protocol или Interactive Mail Access Protocol) позволяет работать с электронной почтой в интерактивном режиме. Обеспечивающий его работу сервер является еще одной чрезвычайно слабо защищенной серверной программой, работающей в системе. Многочисленные свидетельства указывают на то, что соответствующий демон неоднократно становился объектом успешных атак взломщиков. Протокол IMAP значительно более мощный, чем протокол POP (Post Office Protocol), однако за его мощь приходится платить высоким риском. Именно поэтому многие провайдеры Интернета не используют его.

IMAP устанавливается как RPM и включает в себя как imapd, так и popd. Если вы удаляете RPM этого протокола, вы также удаляете и popd — возможно, это не то, что вам нужно. Большинство почтовых клиентов могут использовать как ШАР, так и POP, поэтому окончательный выбор в большинстве случаев остается за вами. Но если вы запускаете imapd (в состав OpenLinux входит версия 2, которая использует порт 143), будьте готовы к тому, что злоумышленники попытаются атаковать вашу систему через этот порт. Вы можете блокировать большую часть Интернета в соответствии с тем, откуда к вашей системе должны подключаться пользователи.

Службе IMAP соответствует файл pam.d/imap. По умолчанию в OpenLinux этот файл содержит данные, показанные в листинге 12.10.

Листинге 12.10. Содержимое /etc/pam.d/imap

auth required /lib/security/pam_pwdb.so shadow nullok

auth required /lib/security/pam_nologin.so

account required /lib/security/pam_pwdb.so

password required /lib/security/pam_pwdb.so shadow nullok use_authtok

session required /lib/security/pam_pwdb.so

Этот РАМ не содержит ничего необычного. Все строки, за исключением второй, указывают на необходимость проверки пары «имя_пользователя/пароль». Вторая строка либо разрешает, либо запрещает подключение в зависимости от отсутствия или присутствия (соответственно) файла /etc/nologin. Вы можете повысить уровень защиты ШАР, вставив в файл еще одну строку auth, использующую модуль securetty.so и удалив две метки nullok напротив модуля pam_pwdb.so (пользователи не должны использовать пустых паролей). Модуль securetty.so запрещает пользователю root использовать данную службу (в любом случае почта, адресованная пользователю root, должна быть перенаправлена другому пользователю). То же самое можно сделать и для службы POP.

xdmcp, порт 177 (UDP)

Если в вашей системе начинает работу X, система открывает один или несколько портов в диапазоне от 6000 до 6010. Это обычные порты, через которые удаленные пользователи могут подключиться к X. Однако если вы запускаете xdm, данная служба связывается с портом 177. Для этого используется сокет UDP. Когда сервер X через xdm начинает поиск серверов для управления экраном, по умолчанию для этой цели используется порт 177. Если вы не хотите, чтобы Х-серверы использовали сервер, на котором работает xdm для управления экраном, вы должны блокировать порт 177 UDP.

printer, порт 515


Демон печати Ipd содержится в RPM-пакете LPRNG. Этот демон устанавливается и настраивается в процессе установки. Вместе с ним устанавливается файл /etc/lpd.perm, который определяет набор разрешений на доступ к демону печати. Файл lpd.perms, устанавливаемый в рамках Caldera OpenLinux по умолчанию, разрешает относительно широкий доступ к принтеру. Иными словами, по умолчанию выполнить распечатку на вашем принтере может любой желающий (листинг 12.11).

Листинг 12.11. Разрешения на доступ к принтеру, определяемые в файле /etc/lpd.perms по умолчанию

ACCEPT SERVICE=C SERVER REMOTEUSER=root

ACCEPT SERVICE=S

REJECT SERVICE=CSU

ACCEPT SERVICE=M SAMEHOST SAMEUSER

ACCEPT SERVICE=M SERVER REMOTEUSER=root

REJECT SERVICE=M

DEFAULT ACCEPT

Переменной SERVICE можно присвоить одно из следующих значений: Р — печать (printing); R — размещение в очереди (spooling); С — управление (control); S — состояние (status); U — пользователю разрешается операция lpc; M — удаление из очереди; Q — информация об очереди (queue). Если посмотреть на листинг 12.11, можно заметить, что первая строка разрешает пользователю root управлять работой службы lpd с локального сервера. Вторая строка разрешает любому желающему (включая тех, кто живет на другом конце земного шара) получить сведения о состоянии демона lpd. Никаких проверок IP не осуществляется. Третья строка запрещает управление или использование команд lpc для всех, кому не предоставлен доступ.

В строках 4-7 определяются правила удаления заданий печати из очереди. Эти строки относительно разумны: только пользователь root (UID 0) с локального сервера или тот же самый пользователь с того же самого сетевого узла обладают правом удалять задание печати, всем остальным делать это запрещено. Однако в последней строке стоит DEFAULT ACCEPT, это означает, что то, что не запрещено, считается разрешенным. Таким образом, любой желающий в любой точке земного шара, имеющий возможность вступить в контакт с вашим IP-адресом, сможет распечатать на вашем принтере все, что ему взбредет в голову. Вы уверены, что вам это нужно?

Чтобы заблокировать нежелательные запросы на распечатку, достаточно просто заблокировать порт 515 для всех, за исключением тех, кто работает в составе локальной сети. На момент написания данной книги мне не известно ни об одном риске, связанном с LPRNG, у большинства пользователей Интернета вряд ли возникнет желание печатать что-либо на вашем принтере.

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


СОВЕТ

Для подключения к любой службе TCP вы можете использовать клиента telnet. Используя telnet, вы можете обмениваться данными с любой службой, достаточно знать, что именно ожидает от вас служба. Использовать telnet совместно со службами, основанными на UDP, несколько сложнее, однако при этом работают те же самые принципы.