0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Теги: host, level security, безопасность в kubernetes, hardened operation system, readonly root file system, fedora atomic host, bastion nodes</p>
1
<p>Теги: host, level security, безопасность в kubernetes, hardened operation system, readonly root file system, fedora atomic host, bastion nodes</p>
2
<p>Продолжаем обзор<a>выступления Дмитрия Лазаренко</a>, руководителя PaaS-направления в Mail.Ru Cloud Solutions. В<a>предыдущей статье</a>мы говорили о<strong>Docker Image Security</strong>, сегодня раскроем тему очередного уровня безопасности в Kubernetes -<strong>Host Level Security</strong>.</p>
2
<p>Продолжаем обзор<a>выступления Дмитрия Лазаренко</a>, руководителя PaaS-направления в Mail.Ru Cloud Solutions. В<a>предыдущей статье</a>мы говорили о<strong>Docker Image Security</strong>, сегодня раскроем тему очередного уровня безопасности в Kubernetes -<strong>Host Level Security</strong>.</p>
3
<h2>Особенности безопасности на уровне хоста</h2>
3
<h2>Особенности безопасности на уровне хоста</h2>
4
<p>Можно сказать, что здесь всё более-менее стандартно. Во-первых, банкам и госкомпаниями нужно использовать<strong>Hardened Operation System</strong>- то есть операционные системы, из которых вырезаны все ненужные пакеты, а настройки безопасности включены по максимуму. При этом нужно помнить, что<strong>Kubernetes может обновляться</strong>, а с ним может обновляться и операционная система - следовательно, настройки могут слететь. Также следует учесть, что в облаке можно делать обновления не патчингом операционной системы, а<strong>простой заменой Image</strong>целиком.</p>
4
<p>Можно сказать, что здесь всё более-менее стандартно. Во-первых, банкам и госкомпаниями нужно использовать<strong>Hardened Operation System</strong>- то есть операционные системы, из которых вырезаны все ненужные пакеты, а настройки безопасности включены по максимуму. При этом нужно помнить, что<strong>Kubernetes может обновляться</strong>, а с ним может обновляться и операционная система - следовательно, настройки могут слететь. Также следует учесть, что в облаке можно делать обновления не патчингом операционной системы, а<strong>простой заменой Image</strong>целиком.</p>
5
<p>Во-вторых, существует базовая настройка безопасности<strong>Readonly root file system</strong>, которую мы включаем автоматом (корневая файловая система, исключающая загрузку вредоносных эксплойтов на хост-машину). Она по умолчанию доступна в: -<strong>CoreOS</strong>; -<strong>Google Container Optimized OS</strong>; -<strong>Fedora Atomic Host</strong>.</p>
5
<p>Во-вторых, существует базовая настройка безопасности<strong>Readonly root file system</strong>, которую мы включаем автоматом (корневая файловая система, исключающая загрузку вредоносных эксплойтов на хост-машину). Она по умолчанию доступна в: -<strong>CoreOS</strong>; -<strong>Google Container Optimized OS</strong>; -<strong>Fedora Atomic Host</strong>.</p>
6
<h2>Fedora Atomic Host</h2>
6
<h2>Fedora Atomic Host</h2>
7
<p>Система построена на базе принципов<strong>Git</strong>: - каждое изменение в операционной системе является фактически отдельным коммитом; - любое обновление ОС = новая версия ОС; - в любой момент можно сделать полный транзакционный откат конфигурации; - в Atomic Host реализован механизм<strong>rpm-ostree</strong>.</p>
7
<p>Система построена на базе принципов<strong>Git</strong>: - каждое изменение в операционной системе является фактически отдельным коммитом; - любое обновление ОС = новая версия ОС; - в любой момент можно сделать полный транзакционный откат конфигурации; - в Atomic Host реализован механизм<strong>rpm-ostree</strong>.</p>
8
<h2>No public IP!</h2>
8
<h2>No public IP!</h2>
9
<p>Последний паттерн, который стоит обозначить, особенно, когда речь идёт о публичном облаке, - не "светите" IP-адреса ваших нод-машин (мастера, миньонов). Одно из решений заключается в том, чтобы все машины Kubernetes не содержали внешнего IP, а всегда находились<strong>в выделенной сетке</strong>. Доступ к ним лучше организовать через балансировщик, либо через специальный бастион нодов.<strong>Bastion nodes</strong>- это виртуальная машина, у которой уже есть внешний IP, например она содержит какой-либо<strong>VPN-сервер</strong>. И эта виртуалка находится в сети Kubernetes, а получить доступ к Kubernetes можно только через неё, безопасно авторизовавшись в VPN-сервере.</p>
9
<p>Последний паттерн, который стоит обозначить, особенно, когда речь идёт о публичном облаке, - не "светите" IP-адреса ваших нод-машин (мастера, миньонов). Одно из решений заключается в том, чтобы все машины Kubernetes не содержали внешнего IP, а всегда находились<strong>в выделенной сетке</strong>. Доступ к ним лучше организовать через балансировщик, либо через специальный бастион нодов.<strong>Bastion nodes</strong>- это виртуальная машина, у которой уже есть внешний IP, например она содержит какой-либо<strong>VPN-сервер</strong>. И эта виртуалка находится в сети Kubernetes, а получить доступ к Kubernetes можно только через неё, безопасно авторизовавшись в VPN-сервере.</p>
10
<p>В следующий раз подробно обсудим очередной уровень безопасности -<strong>Container Runtime Security</strong>.</p>
10
<p>В следующий раз подробно обсудим очередной уровень безопасности -<strong>Container Runtime Security</strong>.</p>
11
<p>Читайте также:<a>Безопасность в Kubernetes. Docker Image Security</a></p>
11
<p>Читайте также:<a>Безопасность в Kubernetes. Docker Image Security</a></p>
12
12