Я использую WPA2 Enterprise для беспроводного доступа и выполнил инструкции в /etc/raddb/certs/README
и Howto сайта freeRadius. Я также читал инструкции в сайт privacywonk.
Вопрос в том, что инструкции FreeRadius и сайт, кажется, предлагают использовать только один (самоподписанный) сертификат для всех соискателей, тогда как сайт privacywonk предлагает использовать отдельные сертификаты для каждого соискателя.
Есть ли преимущество одного перед другим?
Одно из преимуществ, о котором я могу думать, - это возможность отозвать конкретную учетную запись пользователя (что вы можете сделать, когда у вас есть несколько сертификатов, по одному для каждого соискателя). Любые другие?
Также как связать специально созданный сертификат с конкретным пользователем в users
файл?
Совместное использование сертификатов аналогично обмену паролями. Если один сертификат скомпрометирован, вам нужно пойти и перенастроить всех клиентов, чтобы изменить сертификат, тогда как если у вас есть сертификат для каждого клиента, вы можете просто отозвать скомпрометированный сертификат. Кроме того, общий сертификат может означать, что клиенты могут расшифровывать трафик, отправляемый другим клиентам и от них, тогда как отдельные сертификаты означают, что клиенты могут расшифровывать только свой собственный трафик. Если вы собираетесь настроить WPA2 с сертификатами, я предлагаю вам сделать это правильно и сгенерировать сертификаты для каждого клиента.
Я предполагаю, что вы используете здесь EAP-TLS, и в этом случае вы специально не настраиваете пользователей в users
файл. Тот факт, что у клиента есть сертификат и ключ, подписанные ЦС (т.е. CA_file
параметр) и отсутствует в CRL означает, что он имеет доступ.
С EAP-TLS пользователь предоставляет имя пользователя, сертификат и закрытый ключ (возможно, защищенный паролем). Обратите внимание, что не существует пароля, с помощью которого можно аутентифицировать имя пользователя (т.е.пользователи могут вводить любое имя пользователя по своему усмотрению). Если вы хотите использовать имя пользователя для принятия решений в отношении политики, вам необходимо убедиться, что имя пользователя, указанное пользователем, является правильным. Я думаю, что это делается путем установки имени пользователя, которое вы хотите использовать в качестве общего имени в сертификате при его создании, и включения check_cert_cn
параметр. Это приведет к тому, что сервер отклонит запрос, если общее имя в сертификате, предоставленном пользователем, не совпадает с предоставленным им именем пользователя. Затем вы можете добавить записи в users
сопоставление файлов User-Name
чтобы определить вашу политику.