Аутентифікація pap і chap
Аутентифікація PAP і CHAP
Оскільки при аутентифікації через CHAP ми повинні висилати віддаленої стороні випадковий ключ і ім'я нашої системи, це ім'я необхідно задати за допомогою параметра name. наприклад, у файлі / etc / ppp / options.
Якщо ми не вкажемо ім'я нашої системи, pppd використовуватиме в цій якості повне доменне ім'я комп'ютера, на якому його запустили, в нашому випадку, dial.fast.ru. Іноді в рекомендаціях по налаштуванню pppd для чогось використовують параметр domain. Я не знаю, яка мета при цьому переслідується, але цей параметр впливає тільки на ім'я нашої системи. Якщо ми вкажемо параметр domain fast.ru. то ім'я нашої системи стане dial.fast.ru.fast.ru. Не знаю, як Вам, але мені це абсолютно не потрібно. Що стосується PAP, то для нього ім'я нашої системи необов'язково, але не завадить.
У файлі / etc / ppp / pap-secrets пароль клієнта може зберігається не відкритим текстом, а у вигляді результату функції crypt. наприклад, ось так: При аутентифікації PAP pppd спочатку намагається порівняти присланий пароль з наявним і, якщо вони не збігаються, pppd пропускає його через crypt і намагається порівняти знову.
Якщо всі перевірки пройдуть вдало, pppd запише час роботи цього користувача в файлі / var / log / wtmp. При використанні параметра login пароль клієнта може взагалі не зберігатися в / etc / ppp / pap-secrets. Треба зауважити, що зберігати пароль в зашифрованому вигляді або у вигляді "" можна тільки при аутентифікації PAP. Використовуючи CHAP, ми змушені зберігати пароль відкритим текстом.
Чи може pppd використовувати для аутентифікації одних клієнтів PAP, а для інших # 151; CHAP. У загальному випадку # 151; немає. Справа в тому, що про спосіб аутентифікації pppd домовляється з віддаленої стороною ще до того, як ця віддалена сторона повідомить своє ім'я. В результаті може виникнути наступна ситуація. Перед тим, як визначити спосіб аутентифікації, pppd заглядає в файл / etc / ppp / chap-secrets і, якщо він знаходить там хоча б один рядок, у якій друге поле одно "*" або збігається з ім'ям нашої локальної системи, то він пропонує віддаленої системі аутентифікацію через CHAP. Якщо віддалена сторона погодиться і потім з найкращими намірами передасть нам своє ім'я, а цього імені в файлі / etc / ppp / chap-secrets не виявиться, то аутентифікація не вдасться. Якщо на віддаленій стороні користуються pppd і точно знають, що аутентифікація через CHAP їм не світить, вони можуть вказати йому параметр refuse-chap і віддалений pppd відповість відмовою, після чого аутентифікація буде проводитися через PAP. Якщо ж на віддаленій стороні використовується Windows, то справа тухляк. У Windows можна відмовитися від PAP, але ніяк не від CHAP.
Ми забороняємо CHAP, вимагаємо PAP, використовуємо для аутентифікації /etc/master.passwd. і, крім того, записуємо час роботи в файл / var / log / wtmp.