Имеется ряд сервисов, которые могут предоставлять информацию относительно локальных пользователей другим локальным пользователям и пользователям на других машинах. Они могут быть полезны, если Вы хотите выяснить который пользователь соединен с машиной, или когда он вошел. Конечно это большие услуги для нападавших, так как они могут получить много информации из них.
Сервис ident используется, чтобы отобразить пользователей/процессы на используемые ими порты. Например большинство IRC серверов пытается выяснять, кто соединяется с ними, используя поисковую таблицу ident, которая в основном состоит из выяснения у ident-сервера на компьютере пользователя, какую информацию он имеет относительно номера порта. Ответ может варьироваться от пустого (если никто не использует этот специфический порт) до username, groupname, process id и другой интересной информации. Значение по умолчанию в большинстве дистрибутивов: identd включен (irc-сервера и новые версии sendmail проверяют ответы identd), и выдаст только username. Первичное использование identd должно дать удаленным системам некоторые средства прослеживать пользователей, которые подключаются к их серверам irc, telnet, mail или другим для опознавательных целей (плохо придумано, так как очень просто сфальсифицировать). Университет в Edmonton требует, чтобы Вы выполнили identd, если Вы хотите зайти через telnet на любой из основных shell-серверов, так что они могут проследить взломанные логины довольно быстро.
Запуск identd на Вашей машине поможет другим администраторам при прослеживании проблем, поскольку они могут получать не только адрес IP и время проблемы. Использование identd может показать имя пользователя. Использование identd на серверах имеет смысл только если это shell-сервер.
Identd работает на порте 113, протокол tcp, и обычно Вы будете нуждаться в нем только если Вы хотите работать с IRC (многие irc-сети требуют ответа identd) или работаете с системами, управляющими daemons (типа tcp_wrapped telnet или sendmail), которые делают поисковые таблицы identd при подключениях к ним.
ipfwadm -I -a accept -P tcp -S 10.0.0.0/8 -D 0.0.0.0/0 113
ipfwadm -I -a accept -P tcp -S some.trusted.host -D 0.0.0.0/0 113
ipfwadm -I -a deny -P tcp -S 0.0.0.0/0 -D 0.0.0.0/0 113
или
ipchains -A input -p tcp -j ACCEPT -s 10.0.0.0/8 -d 0.0.0.0/0 113
ipchains -A input -p tcp -j ACCEPT -s some.trusted.host -d 0.0.0.0/0 113
ipchains -A input -p tcp -j DENY -s 0.0.0.0/0 -d 0.0.0.0/0 113
Identd поддерживает несколько хороших свойств и может быть легко установлен, чтобы выполниться как пользователь не-root. В зависимости от Вашей политики защиты Вы можете не хотеть раздавать очень много информации или Вы хотите наоборот давать сведения в максимально возможной степени. Просто прикрепите опцию в inetd.conf после in.identd (по умолчанию -l -e -o).
-p port
-a address
Может использоваться, чтобы определить который порт и адрес используются (в
случае машины с aliased IP или несколькими интерфейсами), это вообще полезно
только если Вы хотите, чтобы внутренние машины соединялись, так как внешние
машины не будут, вероятно, способны вычислить то, на какой порт Вы заменили
это значение.
-u uid
-g gid
Задает пользователя и группу, чьи привилегии присвоит identd после
соединения с портом.
-o
Указывает identd не сообщать тип ОС, а просто говорить "UNKNOWN",
очень хорошая опция.
-n
Выдает код пользователя (UID) вместо username, что позволяет прослеживать
проблемы с пользователями, но не дает ценной информации хакеру.
-N
Позволяет пользователям делать файлы ~/.noident, что вынудит identd
возвращать "HIDDEN-USER" вместо информации. Это позволяет
пользователям иметь опцию наличия степени секретности, но злонамеренные
пользователи использует это, чтобы уклониться от идентификации.
-F format
Дает возможность Вам определить гораздо большее количество информации, чем
обычно: все от имени пользователя и его номера, до PID, имени команды и
параметров, которые были даны! Это я рекомендовал бы только для внутреннего
использования, поскольку здесь много информации, которую нападавшие найдут
полезной.
Вообще я советовал бы запускать identd на серврах с shell-доступом, а на остальных отключать из-за возможности denial of service атак на этот сервис. Использование identd будет делать жизнь намного проще для других администраторов при прослеживании нападений с Вашего сервера, что будет в конечном счете делать Вашу жизнь проще.
Есть несколько версий identd, предположительно с расширенной безопасностью.
http://insecurity.net:
Paul's secure identd, написан на Perl
http://www.tildeslash.org/nullidentd.html: null identd
http://www.ajk.tele.fi/~too/sw:
fake identd
http://p8ur.op.het.net/midentd:
midentd
http://www.nyct.net/~defile/programs/ident2: ident2
ftp://junker.org/pub/lidentd:
lidentd
Finger одна из тех вещей, которые многие администраторы отключает и игнорирует. Это полезный инструмент при случае, но если Вы хотите позволить другим администраторам вычислять, который из Ваших пользователей в настоящее время пробует раскалывать их машины, используйте identd. Finger позволяет доступ к большой информации и является любимым инструментом хакеров для начальных исследований. Есть опасность DoS-атаки. Лучше не использовать finger. Многие дистрибутивы поставляются с включенной по умолчанию поддержкой этого сервиса, но вот что написано в inetd.conf из дистрибутива Red Hat:
# Finger, systat и netstat предоставляют много информации о пользователях,
# полезной для "system crackers." Многие сайты выключают некоторые
# или все эти сервисы по соображениям безопасности.
Если Вы все еще имеете убеждение, что Вы абсолютно должны выполнить это, используйте опцию -u для отклонения запросов finger @host, которые часто используются чтобы собрать информацию для будущих нападений. Finger работает на порте 79, а cfingerd на порте 2003, оба используют протокол tcp.
ipfwadm -I -a accept -P tcp -S 10.0.0.0/8 -D 0.0.0.0/0 79
ipfwadm -I -a accept -P tcp -S some.trusted.host -D 0.0.0.0/0 79
ipfwadm -I -a deny -P tcp -S 0.0.0.0/0 -D 0.0.0.0/0 79
или
ipchains -A input -p tcp -j ACCEPT -s 10.0.0.0/8 -d 0.0.0.0/0 79
ipchains -A input -p tcp -j ACCEPT -s some.trusted.host -d 0.0.0.0/0 79
ipchains -A input -p tcp -j DENY -s 0.0.0.0/0 -d 0.0.0.0/0 79
Cfingerd (configurable fingerd) отличная замена для обычного fingerd, он сделан с учетом безопасности, работает обычно как не-root пользователь, и пользователи могут настроить как именно они будут представлены этим сервисом, Cfingerd можно скачать с http://ftp.bitgate.com/cfingerd.
PFinger проще Cfingerd, но тоже безопасная замена обычного fingerd. Вы можете скачать PFinger http://www.xelia.ch/unix/pfinger.
The Finger Server хороший finger-сервер, основанный на web, который дает пользователям возможность модифицировать их finger-информацию самостоятельно. Скачать можно с http://www.glazed.org/finger.
Written by Kurt Seifried |