|
Провайдер в домашних условиях Andrushock Xakep, номер #054, стр. 054-070-2 Работа по протоколу CHAP происходит гораздо интересней: сервер высылает клиенту вместе со своим именем хоста рандомно сгенерированный секретный ключ. Клиент, получив имя и ключ, на их основе создает, в свою очередь, собственный шифр и возвращает его для опознавания серверу, и только после этого происходит вход пользователя в систему. Во время сеанса, через определенные промежутки времени, сервер генерит и посылает клиенту ключики, а затем сверяет полученные хэши, чтобы убедиться в его (клиента) подлинности. Однако в системе пароли пользователей хранятся открытым текстом в файле /etc/ppp/chap-secrets. Все же, несмотря на некоторые преимущества CHAP, подавляющее большинство провайдеров до сих пор используют протокол PAP. Как правило, CHAP чаще применяют для аутентификации клиентов для получения доступа в виртуальные частные сети. <Схватка №3: getty vs mgetty> При загрузке операционной системы одной из главных функций демона init является порождение отдельного процесса специальной программы getty (сокращение от двух слов "get tty" - "получить tty"), которая устанавливает характеристики последовательных устройств, выдает на экран монитора prompt (регистрационное приглашение) и переходит в режим ожидания - пока пользователь не введет имя своей учетной записи и пароль. Затем getty, чтобы пользователь смог получить доступ к командному интерпретатору, запускает программу login, передавая ей в качестве аргумента идентификатор пользователя. Также getty умеет конфигурировать модулятор-демодулятор и ожидать входящие подключения. Параметры getty и типы терминалов демон init берет из системных конфигурационных файлов /etc/{inittab, ttytype, gettydefs} в Linux или /etc/{ttys, gettytab} в BSD. Как видишь, getty выполняет довольно много задач, но, к сожалению, плохо поддерживает модемы. Поэтому Гертом Дорингом была создана программа mgetty - модифицированная версия getty, специально ориентированная на работу с Hayes-совместимыми модемами. К тому же mgetty поддерживает функцию голосовой почты, прекрасно справляется с получением факсов и, по сравнению с getty, легче конфигурируется. Обратной стороной медали в использовании mgetty является безопасность. Команда OpenBSD в своем дереве портов пометила mgetty как BROKEN с не нуждающимся в переводе комментарием: "insecure tempfile handling: can overwrite any file on the system". Стоит отметить, что и getty, и mgetty понимают протоколы PAP и CHAP. Рассмотрев вышеописанные плюсы и минусы, взвесив все за и против, остановимся на следующей конфигурации: будем соединяться по протоколу двухточечного соединения PPP, применять PAP аутентификацию и использовать инсекьюрную mgetty. А в качестве операционки рулить у нас будет пингвинятко Тукс. <Ядерные ингредиенты> Прежде чем разбираться с софтом для настройки сервера dialin, нужно выяснить, скомпилировано ли ядрышко подопытной системы со всеми необходимыми опциями. Кроме того, крайне желательно для гибкости нашей конфигурации и уменьшения размеров ядра включить поддержку PPP в виде модуля. Преимущества такого подхода особенно очевидны на и без того активно swap'ующихся машинах. Модули ядра будут загружаться и выгружаться из драгоценной памятки только при необходимости, освобождая под повседневные задачи хоста максимальное количество оперативки. |