Данный проект помогает реализовать TLS подключение к Docker Remote API с аутентификацией по сертификату с проверкой отзыва клиентского сертификата. Операционной системой на сервере является Windows Server 1803+.
Для нужд удаленного управления Docker'ом, Docker умеет предоставлять веб-API. Это API может как вовсе не требовать аутентификации (что крайне не рекомендуется), так и использовать аутентификация по сертификату. Проблема заключается в том, что родная аутентификация по сертификату не предусматривает проверку отзыва сертификата. А это может стать проблемой.
Для сборки образа нам потребуется публичный сертификат центра сертификации (ca.cer), который будет выдавать сертификаты пользователям. Этот сертификат будет установлен в доверенные корневые центры сертификации контейнера, в котором будет запущен наш прокси. Установка его необходима для процедуры проверки сертификата.
Очень упрощенно говоря, Docker это способ запуска приложения в такой песочнице, в какой приложение думает, что кроме него на компьютере ничего не установлено. Появился Docker в мире Linux, стал популярным и через некоторое время в мире Windows тоже захотели себе такую игрушку. Областью применения является веб и консольные приложения.
Этот пост для тех, кто далек от мира Linux, кому интересен Docker для Windows, и, тех кто по какой-то причине до сих пор не вник в эту тему.
Под управлением Windows Server появился Docker лишь в Windows Server 2016. Появился он в крайне сыром виде. Почти ничего не умел и годился разве что "для посмотреть на чудо заморское". Позже выходили Windows Server version 1709, затем 1803. Все это время Docker рос. Рос-рос и вот, наконец, вышли Windows Server 2019 и Windows Server version 1809. Docker вырос. Конечно, он еще не умеет многого из того, что хотелось бы, но, того, что уже есть, достаточно для готового решения.
Когда вы разрабатываете web-приложение, заранее зная, что оно будет находиться за балансировщиком нагрузки, следует учитывать ряд особенностей. Примером может служить запуск сайта в Docker кластере (например Swarm).
Что меняется?
Если ваше приложение попробует определить:
http
или https
,Чтобы осуществить задуманное, нам нужен вот такой Dockerfile.
FROM microsoft/windowsservercore:1709
LABEL Description="RabbitMQ" Vendor="Pivotal" Version="3.6.12"
...
Redis может быть полезен и для Windows разработчика тоже.
Сейчас я покажу как создать docker
образ для redis
на базе nanoserver-1709
.
Нам понадобится файл redis.windows.conf
В этом посте я хочу рассказать о том, что такое CSRF (Cross-Site Request Forgery) атака и как от нее защититься.
Представим себе сайт интернет банкинга какого-нибудь выдуманного банка. Клиент этого банка вполне легальным образом логинится на сайте, выполняет ряд операций и закрывает страницу не сделав выход. После этой операции в браузере клиента осталась кука.
Клиент обманным путем попадает на сайт мошенников, которые отправляют AJAX запрос на сайт интернет банкинга с запросом о переводе некой суммы денег на счет мошенников. Так как в браузере осталась кука с сайта интернет банкинга, то она любезно прикрепляется браузером к запросу мошенников. Всё.