WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Если Вы хотите настроить систему для вызова извне, Вы должны разрешить
вход в систему по последовательному порту и настроить некоторые системные
файлы, чтобы обеспечить логины UUCP. Это будет обсуждаться в следующем
разделе. Вы должны установить имена пользователей, которые разрешают удаленной
системе регистрацию в Вашей системе и устанавливают соединение UUCP. Вообще,
необходимо дать отдельное имя каждой системе, которая взаимодействует с
Вами. При установке имени для системы pablo,
Вы (например) можете дать ей имя Upablo, как
имя пользователя. Для систем, которые подключаются через последовательный порт, Вы должны
добавить эти имена в файл паролей системы, /etc/passwd
. Хорошим вкусом считается поместить все имена UUCP в специальную группу
типа uuguest. Домашний каталог такого
пользователя должен находиться в общем каталоге
/var/spool/uucppublic, оболочка входа в систему
uucico. Для обслуживания систем UUCP, которые связываются с Вашим сайтом через
TCP, нужно настроить на их обработку inetd. Он должен
быть нацелен на порт uucp добавлением
следующей строки к файлу /etc/inetd.conf:
С опцией Опция –l uucico
выполняет собственную проверку на вход в систему. Она запросит имя и
пароль также, как и стандартная программа login, но
положится на собственный файл паролей вместо /etc/passwd
. Этот файл паролей называется /etc/uucp/passwd
и содержит пары имен входа в систему и паролей:
Конечно, этот файл должен принадлежать пользователю
uucp и иметь права доступа 600. Если эта база данных так хороша, почему бы не использовать ее на
нормальных последовательных входах в систему? Хорошо, в некоторых случаях Вы
можете это устроить. Сначала Вам понадобится getty,
которой Вы можете сообщить вызвать uucico вместо
обычного /bin/login для Ваших UUCP-пользователей.
Вызов uucico выглядит так:
Для защиты пользователей UUCP от тех, кто мог бы давать неправильное
имя системы и обрушить их почту, Вы должны добавить команду
called-login для каждой системной записи в файле
sys. Это описано ниже. Одна из самых больших проблем UUCP в том, что вызывающая система может
назвать не свое имя; она объявляет имя вызываемой системе после фактического
входа, но сервер не может проверить этого. Таким образом, нападающий может
войти под своим именем UUCP, симулировать, что был кем-то еще, и прочитать
чужую почту. Это особенно опасно, если Вы предлагаете вход в систему через
анонимный UUCP, чей пароль общеизвестен. Вы должны принять меры против самозванцев! Для
этого необходимо потребовать, чтобы каждая система использовала имя входа в
Вашу систему, заданное called-login в
sys. Например:
В результате этого всякий раз, когда система говорит, что она
pablo, uucico
проверит, регистрировалась ли она как Upablo.
Если нет, вызов будет отвергнут, а соединение разорвано. Вы должны сделать
привычкой добавлять команду called-login к каждой
записи системы, которую Вы добавляете к Вашему файлу sys
. Важно, что Вы делаете это для всех систем,
независимо от того, будут ли они когда-либо вызывать Вас или нет. Для тех
машин, которые никогда не вызывают Вас, Вы, возможно, должны установить
called-login на некоторое полностью
поддельное имя пользователя, типа neverlogsin
, дабы никто точно не мог зайти. Другой способ отражать и обнаружить самозванцев состоит в том, чтобы
использовать проверки последовательности обращения. Проверки
последовательности помогают Вам защититься от злоумышленников, которые сумели
выяснить пароль, с которым Вы регистрируетесь в Вашей системе UUCP. При использовании проверок последовательности обращения, обе машины следят
за числом уже установленных соединений. Оно увеличивается с каждым
соединением. После регистрации, вызывающий посылает порядковый номер
обращения, а вызываемый сверяет его со своим. Если они не соответствуют,
попытка соединения будет отклонена. Если начальный номер выбирать
произвольно, нападавшим будет нелегко угадать правильный порядковый номер
обращения. Но проверки последовательности обращения делают для Вас еще больше: даже
если некоторый очень умный человек обнаружит Ваш порядковый номер обращения
также, как Ваш пароль, Вы заметите это. Когда нападавший вызывает Вашу
передачу UUCP и захватывает почту, это увеличит порядковый номер обращения
на один. Когда в следующий раз Вы вызываете Вашу передачу и пробуете
регистрироваться, удаленный uucico откажется от Вас,
потому что числа не соответствуют! Если Вы включили проверки последовательности обращения, Вы должны
регулярно проверять Ваши регистрационные файлы на сообщения об ошибках,
которые намекают на возможные причины. Если Ваша система отклоняет порядковый
номер обращения, который вызывающая система предлагает,
uucico поместит в регистрационный файл сообщение, говорящее что-нибудь
вроде "Out of sequence call rejected". Если Ваша система не
допущена, потому что порядковые номера находятся вне синхронизации, в
регистрационном файле будет примерно следующее "Handshake failed (RBADSEQ)".
Чтобы включить проверку последовательности обращения, Вы должны добавить
следующую команду к записи системы:
Еще Вы должны создать файл, содержащий порядковый номер. Taylor UUCP
хранит порядковый номер в файле .Sequence в
каталоге spool удаленной системы. Он должен
принадлежать uucp и иметь режим доступа 600
(то есть, чтение и запись разрешены только самому
uucp). Самое лучшее инициализировать этот файл произвольным
согласованным начальным значением. Иначе нападающий может подобрать номер,
пробуя все значения меньше, скажем, 60. Простой пример создания файла:
Конечно, удаленная система должна дать возможность проверки
последовательности обращения и использовать то же самое начальное значение,
что и Вы. Если Вы хотите обеспечивать анонимный UUCP-доступ к системе, Вы сначала
должны саздать специальное имя для него (см. выше). Общей практикой является
дать ему имя входа в систему и пароль uucp.
Кроме того, Вы должны установить несколько опций защиты для неизвестных
систем. Например, Вы можете запретить им выполнение любых команд на Вашей
системе. Однако, Вы не можете задать эти параметры в файле
sys, потому что команда требует имени
system, которое Вы не знаете. Taylor UUCP решает эту
проблему через команду unknown. Команда
unknown может использоваться в файле
config, чтобы определить любую команду, которая
может обычно появляться в записи системы:
Это ограничит неизвестные системы скачиванием файлов из подкаталогов
pub и закачиванием файлов в каталог
incoming ниже
/var/spool/uucppublic. Следующая строка говорит
uucico игнорировать любые запросы из удаленной системы, чтобы включить
отладку локально. Последние две строки разрешают неизвестным системам
выполнять rmail, но путь команды разрешает
uucico искать команду rmail в
частном каталоге, с именем anon-bin. Это позволяет
Вам обеспечить некоторый специальный rmail, который,
например, может передавать всю почту суперпользователю для исследования. Это
разрешает анонимным пользователям писать администратору системы, но в то же
время предотвращает отправление любой почты в другие места. Чтобы включить анонимный UUCP, Вы должны определить по крайней мере один
параметр unknown в файле
config. Иначе uucico
отклонит неизвестные системы.
Linux Network Administrators Guide
Назад
Глава 16. Управление Taylor
UUCP
Вперед
Настройка
системы для приема входящих звонков (Dial In)
Предоставление UUCP-доступа
uucp stream tcp nowait root /usr/sbin/tcpd /usr/lib/uucp/uucico -l
Upablo IslaNegra
Ulorca co'rdoba
Опция -u предписывает использовать переданное имя
пользователя, а не запрашивать его.
/usr/lib/uucp/uucico -l -u user
Защита от перехватчиков почты
system pablo
... usual options ...
called-login Upablo
Будьте бдительны:
проверки последовательности обращения
# enable call sequence checks
sequence true
# cd /var/spool/uucp/pablo
# echo 94316 > .Sequence
# chmod 600 .Sequence
# chown uucp.uucp .Sequence
Анонимный UUCP
unknown remote-receive /incoming
unknown remote-send /pub
unknown max-remote-debug none
unknown command-path /usr/lib/uucp/anon-bin
unknown commands rmail
Назад
Глобальное
оглавление
Вперед
Контроль доступа к возможностям
UUCP
Локальное
оглавление
Протоколы низкого уровня UUCP
Найди своих коллег! |