Действительно ли нужен пользователь Windows для авторизации сертификата клиента IIS, если да, то как установить права этого пользователя?

Изначально я разместил этот вопрос в securitystackexchange, но я не получил ответа, которого ожидал, и я вижу, что эта тема также может уместиться здесь.

Мне нужно соединить два сервера в разных местах, чтобы один из них (стек Linux) отправлял периодические HTTP-запросы другому (стек Windows) - Windows Server 2008 R2 - с использованием заданий на основе cron.

В Windows машине, я собираюсь настроить IIS с самозаверяющим сертификатом для аутентификации клиента (путем закрепления сертификата) и для шифрования соединения через SSL.

Я также собираюсь настроить IIS для запроса сертификата клиента для аутентифицировать сервер Linux. Я прошел через руководство по настройке аутентификации сертификата, которое включает сопоставление сертификата с учетной записью пользователя.

Мне не нравится идея создания учетной записи пользователя для удаленного сервера, потому что я бы не хотел, чтобы кто-либо входил в систему. сервер (Windows) с этой учетной записью.

Имея это в виду:

1) Действительно ли мне нужно создать пользователя на сервере Windows, чтобы разрешить авторизацию сертификата клиента?

2) Если мне действительно нужно создать учетную запись на машине Windows, что мне нужно настроить для этого пользователя не иметь возможности войти на сервер Windows или делать что-либо еще, кроме аутентификации в IIS?

Примечание. Тег active-directory был добавлен @Lex Li. Я оставлю это, но я понимаю (и могу ошибаться), что наличие активного каталога на серверах, выходящих в Интернет, вызывает опасения по поводу безопасности.

-1
задан 21 September 2018 в 18:17
1 ответ

Я предполагаю, что нет другого способа, кроме использования http для вашей конкретной задачи, потому что я не знаю, какова цель этих запросов https (в противном случае приятно знать, что Windows 10 и Server 2016 наконец-то получили поддержку SSH).

Я не знаю, какую версию IIS / Windows вы используете, поэтому дам вам общее описание:

1) Да, и это причина:

Сертификаты клиентов предназначены для аутентификации , а не для авторизации , не путайте эти два. Авторизация - это то, что вы делаете с ролями / правилами / разрешениями и т. Д., Аутентификация позволяет серверу узнать, кто вы, и подтвердить свою личность (клиентский сертификат похож на идентификатор).

Также ответ - да, сертификат всегда привязан к какой-либо учетной записи. Это не отличается от подхода Linux. Сразу после завершения аутентификации может применяться авторизация. Или в общих чертах: То, что я знаю, кто ты, не означает, что я позволю тебе пройти в мою спальню. Это зависит от того, являетесь ли вы коллегой или членом семьи.

Если запрос к IIS представляет собой какую-либо проблему безопасности (что, как я предполагаю), также должны быть установлены правила брандмауэра, VPN и т. Д., А также вы не должны Не хочу, чтобы неаутентифицированный пользователь вызвал какой-то ответ на вашем сервере.

2) Не разрешайте доступ к серверу извне.

Если у вас есть Windows Server в Интернете, вы обязательно должны убедиться, что никто из вас не хочу иметь к нему доступ, брандмауэр обязательно! Так что ваш вопрос о невозможности «войти на сервер Windows» вводит в заблуждение. IIS является частью сервера Windows и использует свою систему пользователей / групп / разрешений. Например. если вы посмотрите на группу Windows «Пользователи», вы увидите, что

Вы хотите сделать следующее:

Создайте пользователя для этой задачи и удалите ВСЕ группы / роли пользователей. Тогда у пользователя нет абсолютно никаких разрешений. Затем в IIS предоставьте ему доступ на чтение к каталогу, к которому вы хотите, чтобы он имел доступ только. Думаю, ваше руководство должно охватить эту часть.

Примечание: AD и IIS могут обрабатывать сертификаты клиентов. Если вы используете автономный IIS, ваш подход является правильным: в среде AD вы должны настраивать сертификаты клиентов в AD, а не в IIS.

2
ответ дан 5 December 2019 в 19:21

Теги

Похожие вопросы