Виталий Лещенко

Windows Server для самых маленьких. Часть 26: Как работают NPS и RADIUS?

RADIUS — протокол между сетевым оборудованием и сервером проверки: точка доступа, коммутатор или VPN-шлюз шлёт по UDP 1812 Access-Request и получает Access-Accept с атрибутами вроде VLAN, Access-Reject или Access-Challenge с очередным шагом EAP, а пакеты защищают общий секрет и атрибут Message-Authenticator. NPS — реализация RADIUS в Windows Server: он принимает запросы только от зарегистрированных клиентов, проверяет учётные данные по каталогу и решает по двум упорядоченным спискам политик, где побеждает первая подходящая, а несовпавшее ограничение означает отказ. Для Wi-Fi доказательство едет как EAP внутри RADIUS, и при PEAP или EAP-TLS сервер обязан предъявить сертификат, который клиент проверяет.

Читать дальше
Виталий Лещенко

Kubernetes для самых маленьких. Часть 21: Как устроены тома и CSI?

Под ссылается на PersistentVolumeClaim, контроллер связывает его с подходящим PersistentVolume, а при динамическом выделении провизионер из StorageClass сам создаёт том и PV pvc-<uid> — с WaitForFirstConsumer только после того, как планировщик выбрал узел. Драйвер CSI — программа с gRPC-сервисами Identity, Controller и Node: sidecar-контейнеры переводят события API в CreateVolume, ControllerExpandVolume и CreateSnapshot, kubelet зовёт NodeStageVolume и NodePublishVolume, и каталог тома из /var/lib/kubelet/pods/ bind-монтируется в контейнер. Права на томе выставляет fsGroup пода, если позволяет fsGroupPolicy драйвера.

Читать дальше
Виталий Лещенко

Windows Server для самых маленьких. Часть 25: Ставим удостоверяющий центр AD CS

Ставится двухуровневая иерархия: автономный корневой центр вне домена, который включают раз в год, и enterprise-центр, выпускающий рабочие сертификаты по шаблонам из каталога. Корень публикуется в CN=Public Key Services, и все члены домена начинают доверять цепочке. Политика автозачисления (AEPolicy = 7) раздаёт компьютерам сертификаты без участия администратора, а контроллеры получают сертификат по шаблону Domain Controller и без неё — и на них начинает работать LDAPS. Главные опасности — истёкший CRL, который ломает проверку отзыва, опубликованные шаблоны с именем из запроса (ESC1) и веб-зачисление по HTTP с NTLM (ESC8).

Читать дальше
Виталий Лещенко

Kubernetes для самых маленьких. Часть 20: Как работает NetworkPolicy?

Пока в неймспейсе нет политик, поды не изолированы; как только под попал под podSelector хотя бы одной NetworkPolicy, он принимает и отправляет только то, что явно разрешено, отдельно для Ingress и Egress. Разрешения складываются, запрещающих правил в стандартном API нет, а Calico сравнивает адреса и порты уже после DNAT — поэтому пишут порт контейнера, а не сервиса. Исполняет политики сетевой плагин: Felix в Calico превращает их в цепочки и наборы адресов nftables на интерфейсе каждого пода, а для кластерных запретов есть GlobalNetworkPolicy и tiers.

Читать дальше
Виталий Лещенко

Windows Server для самых маленьких. Часть 24: Как работают групповые политики?

Объект политики живёт в двух местах: контейнер с версией и списком расширений клиента — в CN=Policies,CN=System каталога, файлы gpt.ini, Registry.pol и GptTmpl.inf — в SYSVOL, и реплицируются они независимо. Политику привязывают атрибутом gPLink к сайту, домену или OU, а клиент применяет их по цепочке LSDOU, где каждая следующая перекрывает предыдущую, если привязка выше не принудительная; в фоне — каждые 90 минут со сдвигом до 30, на контроллерах — каждые 5. Применение сужают права Read и Apply Group Policy и WMI-фильтры, итог показывают gpresult и события GroupPolicy в журнале System.

Читать дальше
Виталий Лещенко

Kubernetes для самых маленьких. Часть 19: Как cert-manager выпускает сертификаты?

Через цепочку объектов: Issuer или ClusterIssuer говорит, кто подписывает, Certificate — какие имена и в какой Secret, а контроллер создаёт CertificateRequest, для ACME — ещё Order и Challenge, и после проверки кладёт сертификат и ключ в Secret типа kubernetes.io/tls. Владение именем доказывается по HTTP-01 — подом-решателем и маршрутом на порту 80 из интернета — или по DNS-01 через TXT-запись у провайдера; wildcard даёт только DNS-01. Продление начинается на двух третях срока, и Traefik подхватывает новый Secret на лету.

Читать дальше
Виталий Лещенко

Windows Server для самых маленьких. Часть 23: Открываем доступ через доверие на практике

Пользователей и глобальные группы чужого леса кладут в доменно-локальную группу своего домена, а права на ресурс выдают ей: глобальная и универсальная группы чужих субъектов не принимают, а встроенные группы контроллеров не принимают доменно-локальных. Членом группы становится объект foreignSecurityPrincipal с именем-SID, который контроллер создаёт сам. Так открывают общую папку, локальных администраторов сервера, RDP и SQL Server, а при выборочной аутентификации добавляют право Allowed to Authenticate на учётной записи сервера.

Читать дальше
Виталий Лещенко

Kubernetes для самых маленьких. Часть 18: Как работают Ingress и Gateway API?

Оба API описывают правила для обратного прокси: запрос с таким именем сайта и путём отправить в такой Service. Сам объект ничего не делает — его читает ingress-контроллер, здесь Traefik, который берёт адреса подов из EndpointSlice и шлёт трафик им напрямую, минуя ClusterIP. Ingress — один объект на всё, с TLS-секретом в неймспейсе приложения и аннотациями контроллера; Gateway API делит роли: GatewayClass, Gateway со слушателями и сертификатами у администратора и HTTPRoute у команды, присоединяемый через parentRefs и allowedRoutes.

Читать дальше
Виталий Лещенко

Windows Server для самых маленьких. Часть 22: Как работает доверие между лесами?

Доверие между лесами создают вручную: доверяющий лес на стороне ресурсов принимает удостоверения пользователей доверенного, а лесное доверие распространяется на все домены обоих лесов. Каждый лес должен находить в DNS контроллеры другого — условным форвардером или stub-зоной; лесное доверие создают методом CreateTrustRelationship класса .NET Forest, потому что New-ADTrust нет, а netdom trust лесное доверие не создаёт. Что чужой лес сможет у нас, определяют фильтрация SID (у лесного доверия она полная, пока не выставлен бит TREAT_AS_EXTERNAL), выборочная аутентификация и делегирование TGT, которое после обновлений 2019 года запрещено, пока его не разрешили явно.

Читать дальше
Виталий Лещенко

Windows Server для самых маленьких. Часть 21: Как устроены несколько доменов и лесов?

Домены одного леса делят схему, конфигурацию, глобальный каталог и группу Enterprise Admins и связаны автоматическим двусторонним транзитивным доверием, по которому Kerberos ходит направляющими билетами. Своё у домена — пользователи, Domain Admins, политики и раздел, который целиком реплицируется только на его контроллеры, а на глобальные каталоги — частичной копией. Граница безопасности — лес, а не домен: контроллер любого домена может изменить общие разделы и выпустить билет с SID администраторов леса. Второй лес нужен, когда чужой администрации не доверяют; дочерний домен создают Install-ADDSDomain.

Читать дальше