На многих предприятиях остаются всё ещё работать старые версии операционных систем windows, которые не обновляются, или просто не установлены обновления по непонятным причинам. Типичный ответ у нас после обновления отвалились принтеры, и мы отключили их. В результате были использованы эксплойты по типу MS12-020, или другие приватные эксплойты, что повлекло за собой утечку информации, и вывод серверов из строя. Чтобы этого не случилось, я написал инструкцию шаг за шагом, которая позволит это предотвратить, или сузить вектор атаки.
Про IPSec много написано, поэтому здесь только настройки.
В качестве примера я взял rdp (протокол удалённого рабочего стола) и smb (сетевой протокол удалённого доступа к файлам).
Первый компьютер с именем StorageServer и ip адресом 17.17.17.200, данный компьютер находится в домене st.local, на нём находятся копии баз данных. На этом компьютере открыты порты 3389 (rdp) и 445 (smb). Нам нужно защитить этот компьютер, даже если на нём нет обновлений безопасности.
Второй компьютер с именем adminivan и ip адресом 17.17.17.17, данный компьютер находится в домене st.local, c которого администратор подключается с учётной записью storageadmin.
Для получения сертификатов пользователя нужно развернуть центр сертификации. Для этого нужно установить роль сервера, службы сертификатов Active Directory. Есть куча статей как его развернуть и настроить, не будем на этом подробно останавливаться. Имя моего центра сертификации IPSecCA.
Запускаем на StorageServer wf.msc и откроется монитор брандмауэра, переходим на вкладку входящие подключения и смотрим.

Это типичные настройки на многих серверах, соответственно любым сканером можно узнать ip машины c которой подключается администратор, а потом по расписанию использовать эксплойт для удаленного выполнения кода.
Как этого избежать?
Для правил входящих подключений, создаются правила безопасности подключений, и методы проверки подлинности.
Заходим в правила входящих подключений, и выбираем, разрешить только безопасное соединение.

Дальше во вкладке удаленные компьютеры добавляем компьютер админа.

В итоге получилось следующее, появились замки, и разрешенные компьютеры.

Дальше нам нужно создать правила безопасности подключений.

Откроется мастер создания правил безопасности подключений.

Выбираем дополнительно, а потом кнопку настроить.

Первый способ проверки подлинности компьютера — это компьютер (Kerberos V5).
Если компьютера не будет в списке удаленные компьютеры, то в соединении будет отказано.

Второй способ проверки подлинности пользователя — это сертификат пользователя от центра сертификации.

Что это даёт? Если у пользователя не будет сертификата пользователя или он будет отозван, то в соединении будет отказано. Учётная запись storageadmin, должна получить сертификат пользователя, от центра сертификации IPSecCA.

В итоге мы получили две проверки, первая контролирует компьютеры, которым разрешено подключение из списка, а вторая проверка разрешает подключаться учетным записям, у которых есть сертификат пользователя, выданный центром сертификации IPSecCA.
Тоже самое нужно проделать на компьютере, с которого подключается администратор.
Далее переходим на компьютер adminivan, и теперь нужно запросить сертификат для учётной записи storageadmin. Выполняем команду Certmgr.msc.




Сертификат успешно получен.
Теперь попробуем подключится с компьютера adminivan и учетной записью storageadmin на компьютер StorageServer по rdp.

Как видим всё работает, так как сработала первая и вторая проверка. Соответственно теперь способ разрезали кабель, подключились с ноутбуком, просканировали сеть, запустили эксплойт не сработает, по крайней мере в теории. И когда будет разбор инцидента, можно будет сказать, что доступ к серверу был только к тем компьютерам, что в списке, а учётная запись пользователя, должна иметь действующий сертификат пользователя от внутреннего центра сертификации предприятия.