mirror of https://github.com/istio/istio.io.git
206 lines
170 KiB
HTML
206 lines
170 KiB
HTML
<!doctype html><html lang=uk itemscope itemtype=https://schema.org/WebPage><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=theme-color content="#466BB0"><meta name=title content="Поради з безпеки"><meta name=description content="Поради з безпеки для захисту ваших застосунків за допомогою Istio."><meta name=keywords content="microservices,services,mesh"><meta property="og:title" content="Поради з безпеки"><meta property="og:type" content="website"><meta property="og:description" content="Поради з безпеки для захисту ваших застосунків за допомогою Istio."><meta property="og:url" content="/v1.24/uk/docs/ops/best-practices/security/"><meta property="og:image" content="https://raw.githubusercontent.com/istio/istio.io/master/static/img/istio-social.png"><meta property="og:image:alt" content="The Istio sailboat logo"><meta property="og:image:width" content="4096"><meta property="og:image:height" content="2048"><meta property="og:site_name" content="Istio"><meta name=twitter:card content="summary_large_image"><meta name=twitter:site content="@IstioMesh"><title>Istioldie 1.24 / Поради з безпеки</title>
|
||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-5XBWY4YJ1E"></script><script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag("js",new Date),gtag("config","G-5XBWY4YJ1E")</script><link rel=alternate type=application/rss+xml title="Istio Blog" href=/v1.24/blog/feed.xml><link rel=alternate type=application/rss+xml title="Istio News" href=/v1.24/news/feed.xml><link rel=alternate type=application/rss+xml title="Istio Blog and News" href=/v1.24/feed.xml><link rel="shortcut icon" href=/v1.24/favicons/favicon.ico><link rel=apple-touch-icon href=/v1.24/favicons/apple-touch-icon-180x180.png sizes=180x180><link rel=icon type=image/png href=/v1.24/favicons/favicon-16x16.png sizes=16x16><link rel=icon type=image/png href=/v1.24/favicons/favicon-32x32.png sizes=32x32><link rel=icon type=image/png href=/v1.24/favicons/android-36x36.png sizes=36x36><link rel=icon type=image/png href=/v1.24/favicons/android-48x48.png sizes=48x48><link rel=icon type=image/png href=/v1.24/favicons/android-72x72.png sizes=72x72><link rel=icon type=image/png href=/v1.24/favicons/android-96x96.png sizes=96xW96><link rel=icon type=image/png href=/v1.24/favicons/android-144x144.png sizes=144x144><link rel=icon type=image/png href=/v1.24/favicons/android-192x192.png sizes=192x192><link rel=icon type=image/svg+xml href=/v1.24/favicons/favicon.svg><link rel=icon type=image/png href=/v1.24/favicons/favicon.png><link rel=mask-icon href=/v1.24/favicons/safari-pinned-tab.svg color=#466BB0><link rel=manifest href=/v1.24/manifest.json><meta name=apple-mobile-web-app-title content="Istio"><meta name=application-name content="Istio"><meta name=msapplication-config content="/browserconfig.xml"><meta name=msapplication-TileColor content="#466BB0"><meta name=theme-color content="#466BB0"><link rel=stylesheet href=/v1.24/css/style.min.38f1afbdf6f8efdb4fe991ff2a53ca1c801b5c4602dea2963da44df7ceaacfb8.css integrity="sha256-OPGvvfb479tP6ZH/KlPKHIAbXEYC3qKWPaRN986qz7g=" crossorigin=anonymous><link rel=preconnect href=https://fonts.googleapis.com><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&display=swap"><script src=/v1.24/js/themes_init.min.js></script></head><body class="language-unknown archive-site"><script>const branchName="release-1.24",docTitle="Поради з безпеки",iconFile="/v1.24//img/icons.svg",buttonCopy="Копіювати в буфер обміну",buttonPrint="Друкувати",buttonDownload="Завантажити"</script><script src="https://www.google.com/cse/brand?form=search-form" defer></script><script src=/v1.24/js/all.min.js data-manual defer></script><header class=main-navigation><nav class="main-navigation-wrapper container-l"><div class=main-navigation-header><a id=brand href=/v1.24/uk/ aria-label=logotype><span class=logo><svg width="128" height="60" viewBox="0 0 128 60"><path d="M58.434 48.823A.441.441.0 0158.3 48.497V22.583a.444.444.0 01.134-.326.446.446.0 01.327-.134h3.527a.447.447.0 01.325.134.447.447.0 01.134.326v25.914a.443.443.0 01-.134.326.444.444.0 01-.325.134h-3.527a.444.444.0 01-.327-.134z"/><path d="m70.969 48.477a6.556 6.556.0 01-2.818-1.955 4.338 4.338.0 01-1-2.78v-.345a.443.443.0 01.134-.326.444.444.0 01.326-.135h3.374a.444.444.0 01.326.135.445.445.0 01.134.326v.077a2.014 2.014.0 001.054 1.667 4.672 4.672.0 002.664.709 4.446 4.446.0 002.492-.633 1.862 1.862.0 00.958-1.591 1.426 1.426.0 00-.786-1.322 12.7 12.7.0 00-2.549-.939l-1.457-.46a21.526 21.526.0 01-3.3-1.227 6.57 6.57.0 01-2.262-1.783 4.435 4.435.0 01-.92-2.894 5.081 5.081.0 012.109-4.275 8.993 8.993.0 015.558-1.591 10.445 10.445.0 014.1.748 6.3 6.3.0 012.722 2.07 5 5 0 01.958 3.009.441.441.0 01-.134.326.441.441.0 01-.325.134h-3.258a.441.441.0 01-.326-.134.443.443.0 01-.134-.326 1.974 1.974.0 00-.978-1.667 4.647 4.647.0 00-2.665-.671 4.741 4.741.0 00-2.435.556 1.724 1.724.0 00-.938 1.553 1.512 1.512.0 00.9 1.4 15.875 15.875.0 003.01 1.055l.843.229a27.368 27.368.0 013.412 1.246 6.67 6.67.0 012.338 1.763 4.387 4.387.0 01.958 2.933 4.988 4.988.0 01-2.146 4.275 9.543 9.543.0 01-5.712 1.552 11.626 11.626.0 01-4.227-.709z"/><path d="m97.039 32.837a.443.443.0 01-.326.135h-3.911a.169.169.0 00-.191.192v9.239a2.951 2.951.0 00.632 2.108 2.7 2.7.0 002.013.652h1.15a.444.444.0 01.325.134.441.441.0 01.134.326v2.875a.471.471.0 01-.459.5l-1.994.039a8 8 0 01-4.524-1.035q-1.495-1.035-1.533-3.91V33.166A.17.17.0 0088.164 32.974H85.978A.441.441.0 0185.652 32.839.441.441.0 0185.518 32.513V29.83a.441.441.0 01.134-.326.444.444.0 01.326-.135h2.186a.169.169.0 00.191-.192v-4.485a.438.438.0 01.134-.326.44.44.0 01.325-.134h3.336a.443.443.0 01.325.134.442.442.0 01.135.326v4.485a.169.169.0 00.191.192h3.911a.446.446.0 01.326.135.446.446.0 01.134.326v2.683a.446.446.0 01-.133.324z"/><path d="m101.694 25.917a2.645 2.645.0 01-.767-1.955 2.65 2.65.0 01.767-1.955 2.65 2.65.0 011.955-.767 2.65 2.65.0 011.955.767 2.652 2.652.0 01.767 1.955 2.647 2.647.0 01-.767 1.955 2.646 2.646.0 01-1.955.767 2.645 2.645.0 01-1.955-.767zm-.211 22.906a.441.441.0 01-.134-.326V29.79a.444.444.0 01.134-.326.446.446.0 01.326-.134h3.527a.446.446.0 01.326.134.445.445.0 01.134.326v18.707a.443.443.0 01-.134.326.443.443.0 01-.326.134h-3.527a.443.443.0 01-.326-.134z"/><path d="m114.019 47.734a8.1 8.1.0 01-3.047-4.255 14.439 14.439.0 01-.652-4.37 14.3 14.3.0 01.614-4.371A7.869 7.869.0 01114 30.56a9.072 9.072.0 015.252-1.5 8.543 8.543.0 015.041 1.5 7.985 7.985.0 013.009 4.14 12.439 12.439.0 01.69 4.37 13.793 13.793.0 01-.651 4.37 8.255 8.255.0 01-3.028 4.275 8.475 8.475.0 01-5.1 1.553 8.754 8.754.0 01-5.194-1.534zm7.629-3.1a4.536 4.536.0 001.476-2.262 11.335 11.335.0 00.383-3.221 10.618 10.618.0 00-.383-3.22 4.169 4.169.0 00-1.457-2.243 4.066 4.066.0 00-2.531-.785 3.942 3.942.0 00-2.453.785 4.376 4.376.0 00-1.5 2.243 11.839 11.839.0 00-.383 3.22 11.84 11.84.0 00.383 3.221 4.222 4.222.0 001.476 2.262 4.075 4.075.0 002.549.8 3.8 3.8.0 002.44-.809z"/><path d="m15.105 32.057v15.565a.059.059.0 01-.049.059L.069 50.25A.06.06.0 01.005 50.167l14.987-33.47a.06.06.0 01.114.025z"/><path d="m17.631 23.087v24.6a.06.06.0 00.053.059l22.449 2.507a.06.06.0 00.061-.084L17.745.032a.06.06.0 00-.114.024z"/><path d="m39.961 52.548-24.833 7.45a.062.062.0 01-.043.0L.079 52.548a.059.059.0 01.026-.113h39.839a.06.06.0 01.017.113z"/></svg></span>
|
||
</a><button id=hamburger class=main-navigation-toggle aria-label="Open navigation">
|
||
<svg class="icon menu-hamburger"><use xlink:href="/v1.24/img/icons.svg#menu-hamburger"/></svg>
|
||
</button>
|
||
<button id=menu-close class=main-navigation-toggle aria-label="Close navigation"><svg class="icon menu-close"><use xlink:href="/v1.24/img/icons.svg#menu-close"/></svg></button></div><div id=header-links class=main-navigation-links-wrapper><ul class=main-navigation-links><li class=main-navigation-links-item><a class="main-navigation-links-link has-dropdown"><span>Про</span><svg class="icon dropdown-arrow"><use xlink:href="/v1.24/img/icons.svg#dropdown-arrow"/></svg></a><ul class=main-navigation-links-dropdown><li class=main-navigation-links-dropdown-item><a href=/v1.24/uk/about/service-mesh class=main-navigation-links-link>Сервісна мережа</a></li><li class=main-navigation-links-dropdown-item><a href=/v1.24/uk/about/solutions class=main-navigation-links-link>Рішення</a></li><li class=main-navigation-links-dropdown-item><a href=/v1.24/uk/about/case-studies class=main-navigation-links-link>Використання</a></li><li class=main-navigation-links-dropdown-item><a href=/v1.24/uk/about/ecosystem class=main-navigation-links-link>Екосистема</a></li><li class=main-navigation-links-dropdown-item><a href=/v1.24/uk/about/deployment class=main-navigation-links-link>Розгортання</a></li><li class=main-navigation-links-dropdown-item><a href=/v1.24/uk/about/training class=main-navigation-links-link>Навчання</a></li><li class=main-navigation-links-dropdown-item><a href=/v1.24/uk/about/faq class=main-navigation-links-link>Часті питання</a></li></ul></li><li class=main-navigation-links-item><a href=/v1.24/uk/blog/ class=main-navigation-links-link><span>Блог</span></a></li><li class=main-navigation-links-item><a href=/v1.24/uk/news/ class=main-navigation-links-link><span>Новини</span></a></li><li class=main-navigation-links-item><a href=/v1.24/uk/get-involved/ class=main-navigation-links-link><span>Долучитись</span></a></li><li class=main-navigation-links-item><a href=/v1.24/uk/docs/ class=main-navigation-links-link><span>Документація</span></a></li></ul><div class=main-navigation-footer><button id=search-show class=search-show title='Пошук на сайті' aria-label=Пошук><svg class="icon magnifier"><use xlink:href="/v1.24/img/icons.svg#magnifier"/></svg></button>
|
||
<a href=/v1.24/uk/docs/setup/getting-started class="btn btn--primary" id=try-istio>Спробувати Istio</a></div></div><form id=search-form class=search name=cse role=search><input type=hidden name=cx value=002184991200833970123:iwwf17ikgf4>
|
||
<input type=hidden name=ie value=utf-8>
|
||
<input type=hidden name=hl value=uk>
|
||
<input type=hidden id=search-page-url value=/uk/search>
|
||
<input id=search-textbox class="search-textbox form-control" name=q type=search aria-label='Пошук на сайті' placeholder=Пошук>
|
||
<button id=search-close title='Скасувати пошук' type=reset aria-label='Скасувати пошук'><svg class="icon menu-close"><use xlink:href="/v1.24/img/icons.svg#menu-close"/></svg></button></form></nav></header><main class="primary container has-sidebar has-toc docs"><div id=sidebar-container class=sidebar-container><nav id=sidebar aria-label="Section Navigation"><button id=sidebar-close class="main-navigation-toggle sidebar-close" aria-label="Close sidebar"><svg class="icon menu-close"><use xlink:href="/v1.24/img/icons.svg#menu-close"/></svg></button><div class=sidebar-nav><div class=search><form id=search-docs-form name=cse role=search><input type=hidden name=ie value=utf-8>
|
||
<input type=hidden name=hl value=en>
|
||
<input type=hidden id=search-docs-url value=/v1.24//search>
|
||
<input id=search-docs-textbox class=form-control name=docs-search type=search aria-label='Пошук на сайті' placeholder=Пошук>
|
||
<button id=search-show2 class=search-show title='Пошук на сайті' aria-label=Пошук><svg class="icon magnifier"><use xlink:href="/v1.24/img/icons.svg#magnifier"/></svg></button></form></div><div class=card><div class="body default" aria-labelledby=header0><ul role=tree aria-expanded=true aria-labelledby=header0><li role=treeitem aria-label=Огляд><a class=main title="Вступ до Istio та сервісної мережі." href=/v1.24/uk/docs/overview/>Огляд</a><ul role=group aria-expanded=true class=leaf-section><li role=none><a role=treeitem title="Дізнайтеся, що Istio може зробити для вас." href=/v1.24/uk/docs/overview/what-is-istio/>Що таке Istio?</a></li><li role=none><a role=treeitem title="Порівняйте Istio з іншими рішеннями для сервісних мереж." href=/v1.24/uk/docs/overview/why-choose-istio/>Чому саме Istio?</a></li><li role=none><a role=treeitem title="Дізнайтеся про два режими даних Istio та про те, який з них варто використовувати." href=/v1.24/uk/docs/overview/dataplane-modes/>Sidecar чи Ambient?</a></li></ul></li><li role=treeitem aria-label=Концепції><a class=main title="Дізнайтеся про різні частини системи Istio та абстракції, які вона використовує." href=/v1.24/uk/docs/concepts/>Концепції</a><ul role=group aria-expanded=true class=leaf-section><li role=none><a role=treeitem title="Описує різні функції Istio, орієнтовані на маршрутизацію та контроль трафіку." href=/v1.24/uk/docs/concepts/traffic-management/>Управління трафіком</a></li><li role=none><a role=treeitem title="Описує функціонал авторизації та автентифікації Istio." href=/v1.24/uk/docs/concepts/security/>Безпека</a></li><li role=none><a role=treeitem title="Описує функції телеметрії та моніторингу, які надає Istio." href=/v1.24/uk/docs/concepts/observability/>Спостережуваність</a></li><li role=none><a role=treeitem title="Описує систему втулків WebAssembly від Istio." href=/v1.24/uk/docs/concepts/wasm/>Розширюваність</a></li></ul></li><li role=treeitem aria-label="Режим sidecar"><a class=main title="Інформація про налаштування та експлуатацію Istio в режимі sidecar." href=/v1.24/uk/docs/setup/>Режим sidecar</a><ul role=group aria-expanded=true><li role=none><a role=treeitem title="Спробуйте функції Istio швидко та легко." href=/v1.24/uk/docs/setup/getting-started/>Як розпочати</a></li><li role=treeitem aria-label="Налаштування платформи"><button aria-hidden=true tabindex=-1></button><a title="Як підготувати різні платформи Kubernetes перед встановленням Istio." href=/v1.24/uk/docs/setup/platform-setup/>Налаштування платформи</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Інструкції для налаштування Kubernetes кластера Alibaba Cloud для Istio." href=/v1.24/uk/docs/setup/platform-setup/alicloud/>Alibaba Cloud</a></li><li role=none><a role=treeitem title="Інструкція з налаштування Istio на Amazon EKS у хмарі AWS." href=/v1.24/uk/docs/setup/platform-setup/amazon-eks/>Amazon EKS</a></li><li role=none><a role=treeitem title="Інструкція зі створення кластера Azure для Istio." href=/v1.24/uk/docs/setup/platform-setup/azure/>Azure</a></li><li role=none><a role=treeitem title="Інструкції для налаштування Docker Desktop для Istio." href=/v1.24/uk/docs/setup/platform-setup/docker/>Docker Desktop</a></li><li role=none><a role=treeitem title="Інструкції для налаштування кластера Google Kubernetes Engine для Istio." href=/v1.24/uk/docs/setup/platform-setup/gke/>Google Kubernetes Engine</a></li><li role=none><a role=treeitem title="Інструкції для налаштування кластера Huawei Cloud Kubernetes для Istio." href=/v1.24/uk/docs/setup/platform-setup/huaweicloud/>Huawei Cloud</a></li><li role=none><a role=treeitem title="Інструкції для налаштування кластера IBM Cloud для Istio." href=/v1.24/uk/docs/setup/platform-setup/ibm/>IBM Cloud</a></li><li role=none><a role=treeitem title="Інструкції для налаштування k3d для Istio." href=/v1.24/uk/docs/setup/platform-setup/k3d/>k3d</a></li><li role=none><a role=treeitem title="Інструкції для налаштування kind для Istio." href=/v1.24/uk/docs/setup/platform-setup/kind/>kind</a></li><li role=none><a role=treeitem title="Інструкції для налаштування Kops для використання з Istio." href=/v1.24/uk/docs/setup/platform-setup/kops/>Kops</a></li><li role=none><a role=treeitem title="Інструкції для налаштування кластера Gardener для використання з Istio." href=/v1.24/uk/docs/setup/platform-setup/gardener/>Kubernetes Gardener</a></li><li role=none><a role=treeitem title="Інструкції для налаштування платформи KubeSphere Container для Istio." href=/v1.24/uk/docs/setup/platform-setup/kubesphere/>KubeSphere Container Platform</a></li><li role=none><a role=treeitem title="Інструкції для налаштування MicroK8s для використання з Istio." href=/v1.24/uk/docs/setup/platform-setup/microk8s/>MicroK8s</a></li><li role=none><a role=treeitem title="Інструкції для налаштування minikube для використання з Istio." href=/v1.24/uk/docs/setup/platform-setup/minikube/>Minikube</a></li><li role=none><a role=treeitem title="Інструкції для налаштування кластера OpenShift для використання з Istio." href=/v1.24/uk/docs/setup/platform-setup/openshift/>OpenShift</a></li><li role=none><a role=treeitem title="Інструкції з підготовки кластера для Istio за допомогою Oracle Container Engine for Kubernetes (OKE)." href=/v1.24/uk/docs/setup/platform-setup/oci/>Oracle Cloud Infrastructure</a></li><li role=none><a role=treeitem title="Інструкції для швидкого налаштування Istio в Tencent Cloud." href=/v1.24/uk/docs/setup/platform-setup/tencent-cloud-mesh/>Tencent Cloud</a></li></ul></li><li role=treeitem aria-label=Встановлення><button aria-hidden=true tabindex=-1></button><a title="Виберіть посібник, який найкраще відповідає вашим потребам та платформі." href=/v1.24/uk/docs/setup/install/>Встановлення</a><ul role=group aria-expanded=false><li role=none><a role=treeitem title="Встановіть та налаштуйте будь-який профіль конфігурації Istio для глибокої оцінки або використання в операційному середовищі." href=/v1.24/uk/docs/setup/install/istioctl/>Встановлення за допомогою Istioctl</a></li><li role=none><a role=treeitem title="Інструкція по встановленню та налаштуванню Istio в кластері Kubernetes за допомогою Helm." href=/v1.24/uk/docs/setup/install/helm/>Встановлення за допомогою Helm</a></li><li role=treeitem aria-label="Встановлення мультикластера"><button aria-hidden=true tabindex=-1></button><a title="Встановіть сервісну мережу Istio на декількох кластерах Kubernetes." href=/v1.24/uk/docs/setup/install/multicluster/>Встановлення мультикластера</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Початкові кроки перед встановленням Istio на декількох кластерах." href=/v1.24/uk/docs/setup/install/multicluster/before-you-begin/>Перш ніж почати</a></li><li role=none><a role=treeitem title="Встановлення мережі Istio на кілька основних кластерів." href=/v1.24/uk/docs/setup/install/multicluster/multi-primary/>Встановлення Multi-Primary</a></li><li role=none><a role=treeitem title="Встановлення мережі Istio на основний та віддалений кластери." href=/v1.24/uk/docs/setup/install/multicluster/primary-remote/>Встановлення Primary-Remote</a></li><li role=none><a role=treeitem title="Встановлення Istio mesh для кількох primary кластерів в різних мережах." href=/v1.24/uk/docs/setup/install/multicluster/multi-primary_multi-network/>Встановлення Multi-Primary в різних мережах</a></li><li role=none><a role=treeitem title="Встановіть Istio mesh на основний та віддалений кластери в різних мережах." href=/v1.24/uk/docs/setup/install/multicluster/primary-remote_multi-network/>Встановлення Primary-Remote в різних мережах</a></li><li role=none><a role=treeitem title="Переконайтеся, що Istio правильно встановлено на декількох кластерах." href=/v1.24/uk/docs/setup/install/multicluster/verify/>Перевірка встановлення</a></li></ul></li><li role=none><a role=treeitem title="Встановіть Istio із зовнішньою панеллю управління та віддаленою панеллю даних кластера." href=/v1.24/uk/docs/setup/install/external-controlplane/>Встановлення Istio із зовнішньою панеллю управління</a></li><li role=none><a role=treeitem title="Встановлення декілька панелей управління Istio в одному кластері за допомогою revisions і discoverySelectors." href=/v1.24/uk/docs/setup/install/multiple-controlplanes/>Встановлення декількох панелей управління Istio в одному кластері</a></li><li role=none><a role=treeitem title="Розгорніть Istio та підключіть до нього робоче навантаження, що працює у віртуальній машині." href=/v1.24/uk/docs/setup/install/virtual-machine/>Встановлення віртуальної машини</a></li></ul></li><li role=treeitem aria-label=Оновлення><button aria-hidden=true tabindex=-1></button><a title="Оновлюйте, знижуйте версію та керуйте Istio в різних версіях панелі управління." href=/v1.24/uk/docs/setup/upgrade/>Оновлення</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Оновлення Istio шляхом запуску канаркового розгортання нової панелі управління." href=/v1.24/uk/docs/setup/upgrade/canary/>Канаркові оновлення</a></li><li role=none><a role=treeitem title="Оновлення або пониження версії Istio на місці." href=/v1.24/uk/docs/setup/upgrade/in-place/>Оновлення на місці</a></li><li role=none><a role=treeitem title="Інструкція з оновлення Istio за допомогою Helm." href=/v1.24/uk/docs/setup/upgrade/helm/>Оновлення з Helm</a></li></ul></li><li role=treeitem aria-label="Додаткові посібники"><button aria-hidden=true tabindex=-1></button><a title="Більше інформації про додаткові завдання з налаштування." href=/v1.24/uk/docs/setup/additional-setup/>Додаткові посібники</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Отримайте файли, необхідні для встановлення та вивчення Istio." href=/v1.24/uk/docs/setup/additional-setup/download-istio-release/>Завантаження випуску Istio</a></li><li role=none><a role=treeitem title="Описує вбудовані конфігураційні профілі для встановлення Istio." href=/v1.24/uk/docs/setup/additional-setup/config-profiles/>Конфігураційні профілі встановлення</a></li><li role=none><a role=treeitem title='Як налаштувати "сумісність версій", щоб відокремити зміни в поведінці від випусків.' href=/v1.24/uk/docs/setup/additional-setup/compatibility-versions/>Сумісність версій</a></li><li role=none><a role=treeitem title="Встановлюйте та налаштовуйте шлюзи Istio." href=/v1.24/uk/docs/setup/additional-setup/gateway/>Встановлення Gateways</a></li><li role=none><a role=treeitem title="Встановіть sidecar Istio в podʼи застосунків автоматично за допомогою вебхуку інжектора sidecar або вручну за допомогою istioctl CLI." href=/v1.24/uk/docs/setup/additional-setup/sidecar-injection/>Встановлення Sidecar</a></li><li role=none><a role=treeitem title="Описує, як налаштувати параметри конфігурації встановлення." href=/v1.24/uk/docs/setup/additional-setup/customize-installation/>Налаштування конфігурації встановлення</a></li><li role=none><a role=treeitem title="Описує, як налаштувати параметри конфігурації установки при встановленні з helm." href=/v1.24/uk/docs/setup/additional-setup/customize-installation-helm/>Розширене налаштування Helm Chart</a></li><li role=none><a role=treeitem title="Встановіть та використовуйте Istio у двостековому режимі на двостековому кластері Kubernetes." href=/v1.24/uk/docs/setup/additional-setup/dual-stack/>Встановлення Istio у двостековому режимі</a></li><li role=none><a role=treeitem title="Встановлення та використання Istio з контролером допуску Pod Security Admission." href=/v1.24/uk/docs/setup/additional-setup/pod-security-admission/>Встановлення Istio з Pod Security Admission</a></li><li role=none><a role=treeitem title="Встановіть і використовуйте Istio CNI агента вузла, що дозволяє операторам розгортати робочі навантаження з меншими привілеями." href=/v1.24/uk/docs/setup/additional-setup/cni/>Встановлення Istio CNI агента вузла</a></li><li role=none><a role=treeitem title="Спробуйте можливості Istio за допомогою застарілих API Istio." href=/v1.24/uk/docs/setup/additional-setup/getting-started-istio-apis/>Початок роботи без API Gateway</a></li></ul></li></ul></li><li role=treeitem aria-label="Режим ambient"><a class=main title="Інформація для налаштування та експлуатації Istio з підтримкою режиму оточення (ambient mode)." href=/v1.24/uk/docs/ambient/>Режим ambient</a><ul role=group aria-expanded=true><li role=none><a role=treeitem title="Огляд режиму оточення (ambient mode) панелі даних." href=/v1.24/uk/docs/ambient/overview/>Огляд</a></li><li role=treeitem aria-label="Як розпочати"><button aria-hidden=true tabindex=-1></button><a title="Як розгорнути та встановити Istio в режимі оточення." href=/v1.24/uk/docs/ambient/getting-started/>Як розпочати</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Розротання демонстраційного застосунку Bookinfo." href=/v1.24/uk/docs/ambient/getting-started/deploy-sample-app/>Розгортання демонстраційного застосунку</a></li><li role=none><a role=treeitem title="Увімкніть режим оточення та захистіть звʼязок між застосунками." href=/v1.24/uk/docs/ambient/getting-started/secure-and-visualize/>Захист та візуалізація роботи застосунку</a></li><li role=none><a role=treeitem title="Застосовуйте політики авторизації рівнів 4 і 7 у сервісній мережі з режимом оточення." href=/v1.24/uk/docs/ambient/getting-started/enforce-auth-policies/>Забезпечення політики авторизації</a></li><li role=none><a role=treeitem title="Керуйте трафіком між сервісами в режимі оточення." href=/v1.24/uk/docs/ambient/getting-started/manage-traffic/>Керування трафіком</a></li><li role=none><a role=treeitem title="Видаліть Istio та повʼязані з ним ресурси." href=/v1.24/uk/docs/ambient/getting-started/cleanup/>Очищення</a></li></ul></li><li role=treeitem aria-label=Встановлення><button aria-hidden=true tabindex=-1></button><a title="Посібник зі встановлення Istio в режимі оточення." href=/v1.24/uk/docs/ambient/install/>Встановлення</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Передумови для встановлення Istio в режимі навколишнього середовища, специфічні для конкретної платформи." href=/v1.24/uk/docs/ambient/install/platform-prerequisites/>Передумови, специфічні для певних платформ</a></li><li role=none><a role=treeitem title="Встановіть Istio з підтримкою режиму оточення за допомогою Helm." href=/v1.24/uk/docs/ambient/install/helm/>Встановлення за допомогою Helm</a></li><li role=none><a role=treeitem title="Встановіть Istio з підтримкою режиму оточення за допомогою інструмента командного рядка istioctl." href=/v1.24/uk/docs/ambient/install/istioctl/>Встановлення за допомогою istioctl</a></li></ul></li><li role=treeitem aria-label=Оновлення><button aria-hidden=true tabindex=-1></button><a title="Посібники з оновлення для Istio в режимі оточення." href=/v1.24/uk/docs/ambient/upgrade/>Оновлення</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Модернізація встановлення в режимі оточення за допомогою Helm." href=/v1.24/uk/docs/ambient/upgrade/helm/>Оновлення за допомогою Helm</a></li></ul></li><li role=treeitem aria-label="Посібники користувача"><button aria-hidden=true tabindex=-1></button><a title="Як налаштувати сервісну мережу для використання переваг режиму оточення." href=/v1.24/uk/docs/ambient/usage/>Посібники користувача</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Дізнайтесь як додавати робочі наватаження до ambient mesh." href=/v1.24/uk/docs/ambient/usage/add-workloads/>Додавання робочих навантажень до сервісної мережі</a></li><li role=none><a role=treeitem title="Дізнайтеся, як перевірити, чи ввімкнено mTLS в робочих навантаженях в ambient mesh." href=/v1.24/uk/docs/ambient/usage/verify-mtls-enabled/>Переконайтеся, що mTLS увімкнено</a></li><li role=none><a role=treeitem title="Розуміння того, як мережева політика L4 Kubernetes NetworkPolicy з підтримкою CNI взаємодіє з режимом оточення Istio." href=/v1.24/uk/docs/ambient/usage/networkpolicy/>Ambient та Kubernetes NetworkPolicy</a></li><li role=none><a role=treeitem title="Підтримуються функції безпеки, коли використовується лише захищений L4 overlay." href=/v1.24/uk/docs/ambient/usage/l4-policy/>Використання політики безпеки 4-го рівня</a></li><li role=none><a role=treeitem title="Отримайте повний набір функцій Istio з додатковими проксі 7-го рівня." href=/v1.24/uk/docs/ambient/usage/waypoint/>Налаштування waypoint-проксі</a></li><li role=none><a role=treeitem title="Підтримувані функції при використанні L7 waypoint-проксі." href=/v1.24/uk/docs/ambient/usage/l7-features/>Використання функцій 7-го рівня</a></li><li role=none><a role=treeitem title="Описує, як зробити віддалені модулі WebAssembly доступними для режиму оточення (Alpha)" href=/v1.24/uk/docs/ambient/usage/extend-waypoint-wasm/>Розширюйте waypoint з втулками WebAssembly *</a></li><li role=none><a role=treeitem title="Як перевірити, що проксі вузла мають правильну конфігурацію." href=/v1.24/uk/docs/ambient/usage/troubleshoot-ztunnel/>Виправлення проблем зі зʼєднанням за допомогою ztunnel</a></li><li role=none><a role=treeitem title="Як дослідити проблеми маршрутизації через waypoint-проксі." href=/v1.24/uk/docs/ambient/usage/troubleshoot-waypoint/>Виправлення проблем за допомогою waypoints</a></li></ul></li><li role=treeitem aria-label=Архітектура><button aria-hidden=true tabindex=-1></button><a title="Докладний огляд архітектури режиму оточення." href=/v1.24/uk/docs/ambient/architecture/>Архітектура</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Зрозумійте, як ambient взаємодіє з панеллю управління Istio." href=/v1.24/uk/docs/ambient/architecture/control-plane/>Ambient та панель управліня Istio</a></li><li role=none><a role=treeitem title="Дізнайтеся, як панель даних ambient спрямовує трафік між робочими навантаженнями в сервісній мережі." href=/v1.24/uk/docs/ambient/architecture/data-plane/>Панель даних ambient</a></li><li role=none><a role=treeitem title="Розуміння протоколу безпечного тунелювання Istio." href=/v1.24/uk/docs/ambient/architecture/hbone/>HBONE</a></li><li role=none><a role=treeitem title="Зрозумійте, як трафік перенаправляється між podʼами і проксі-вузлом ztunnel." href=/v1.24/uk/docs/ambient/architecture/traffic-redirection/>Перенаправлення трафіку в Ztunnel</a></li></ul></li></ul></li><li role=treeitem aria-label=Завдання><a class=main title="Як виконувати окремі конкретні дії за допомогою системи Istio." href=/v1.24/uk/docs/tasks/>Завдання</a><ul role=group aria-expanded=true><li role=treeitem aria-label="Керування трафіком"><button aria-hidden=true tabindex=-1></button><a title="Завдання, які демонструють можливості маршрутизації трафіку в Istio." href=/v1.24/uk/docs/tasks/traffic-management/>Керування трафіком</a><ul role=group aria-expanded=false><li role=none><a role=treeitem title="Це завдання показує, як налаштувати динамічну маршрутизацію запитів до декількох версій мікросервісу." href=/v1.24/uk/docs/tasks/traffic-management/request-routing/>Маршрутизація запитів</a></li><li role=none><a role=treeitem title="Це завдання показує, як ініціювати збої для перевірки стійкості вашого застосунку." href=/v1.24/uk/docs/tasks/traffic-management/fault-injection/>Інʼєкція збоїв</a></li><li role=none><a role=treeitem title="Показує, як перенести трафік зі старої версії сервісу на нову." href=/v1.24/uk/docs/tasks/traffic-management/traffic-shifting/>Перемикання трафіку</a></li><li role=none><a role=treeitem title="Показує, як перенести TCP-трафік зі старої на нову версію TCP-сервісу." href=/v1.24/uk/docs/tasks/traffic-management/tcp-traffic-shifting/>Перемикання трафіку TCP</a></li><li role=none><a role=treeitem title="У цьому завданні показано, як налаштувати таймаути запитів в Envoy за допомогою Istio." href=/v1.24/uk/docs/tasks/traffic-management/request-timeouts/>Тайм-аути запитів</a></li><li role=none><a role=treeitem title="У цьому завданні показано, як налаштувати розмикання ланцюга (запобіжника) для зʼєднань, запитів і виявлення відхилень." href=/v1.24/uk/docs/tasks/traffic-management/circuit-breaking/>Розмикання ланцюга</a></li><li role=none><a role=treeitem title="Це завдання демонструє можливості дзеркалювання/відтінювання трафіку в Istio." href=/v1.24/uk/docs/tasks/traffic-management/mirroring/>Дзеркалювання</a></li><li role=treeitem aria-label="Балансування навантаження за локацією"><button aria-hidden=true tabindex=-1></button><a title="Ця серія завдань демонструє, як налаштувати балансування навантаження за їх місцем знаходження в Istio." href=/v1.24/uk/docs/tasks/traffic-management/locality-load-balancing/>Балансування навантаження за локацією</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Початкові кроки перед налаштуванням балансування навантаження за локалізацією." href=/v1.24/uk/docs/tasks/traffic-management/locality-load-balancing/before-you-begin/>Перш ніж розпочати</a></li><li role=none><a role=treeitem title="Це завдання демонструє, як налаштувати вашу мережу для аварійного перемикання локацій." href=/v1.24/uk/docs/tasks/traffic-management/locality-load-balancing/failover/>Аварійне перемикання локацій</a></li><li role=none><a role=treeitem title="Цей посібник демонструє, як налаштувати розподіл локацій за коефіціентами." href=/v1.24/uk/docs/tasks/traffic-management/locality-load-balancing/distribute/>Розподіл за коефіцієнтами локацій</a></li><li role=none><a role=treeitem title="Етапи очищення для балансування навантаження по локаціях." href=/v1.24/uk/docs/tasks/traffic-management/locality-load-balancing/cleanup/>Очищення</a></li></ul></li><li role=treeitem aria-label=Ingress><button aria-hidden=true tabindex=-1></button><a title="Контроль вхідного трафіку сервісної мережі Istio." href=/v1.24/uk/docs/tasks/traffic-management/ingress/>Ingress</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Описує, як налаштувати шлюз Istio для експонування сервісу поза межами сервісної мережі." href=/v1.24/uk/docs/tasks/traffic-management/ingress/ingress-control/>Ingress Gateways</a></li><li role=none><a role=treeitem title="Експонування сервісу поза межами сервісної мережі через TLS або mTLS." href=/v1.24/uk/docs/tasks/traffic-management/ingress/secure-ingress/>Захист Gateways</a></li><li role=none><a role=treeitem title="Описує, як налаштувати пропуск SNI для ingress gateway." href=/v1.24/uk/docs/tasks/traffic-management/ingress/ingress-sni-passthrough/>Ingress Gateway без термінації TLS</a></li><li role=none><a role=treeitem title="Описує, як термінувати TLS-трафік на додатковому пристрої без використання Ingress Gateway." href=/v1.24/uk/docs/tasks/traffic-management/ingress/ingress-sidecar-tls-termination/>Ingress Sidecar термінація TLS</a></li><li role=none><a role=treeitem title="Описує, як налаштувати об'єкт Kubernetes Ingress для експонування сервісу за межами сервісної мережі." href=/v1.24/uk/docs/tasks/traffic-management/ingress/kubernetes-ingress/>Kubernetes Ingress</a></li><li role=none><a role=treeitem title="Описує, як налаштувати Kubernetes Gateway AP з Istio." href=/v1.24/uk/docs/tasks/traffic-management/ingress/gateway-api/>Kubernetes Gateway API</a></li></ul></li><li role=treeitem aria-label=Egress><button aria-hidden=true tabindex=-1></button><a title="Керування вихідним трафіком сервісної мережі Istio." href=/v1.24/uk/docs/tasks/traffic-management/egress/>Egress</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Описує, як налаштувати Istio для маршрутизації трафіку з сервісів в mesh до зовнішніх сервісів." href=/v1.24/uk/docs/tasks/traffic-management/egress/egress-control/>Доступ до зовнішніх сервісів</a></li><li role=none><a role=treeitem title="Описує, як налаштувати Istio на створення TLS для трафіку до зовнішніх сервісів." href=/v1.24/uk/docs/tasks/traffic-management/egress/egress-tls-origination/>Створення TLS для вихідного трафіку</a></li><li role=none><a role=treeitem title="Описує, як налаштувати Istio для перенаправлення трафіку на зовнішні сервіси через виділений шлюз." href=/v1.24/uk/docs/tasks/traffic-management/egress/egress-gateway/>Egress Gateways</a></li><li role=none><a role=treeitem title="Описує, як налаштувати вихідний шлюз для створення TLS для зовнішніх служб." href=/v1.24/uk/docs/tasks/traffic-management/egress/egress-gateway-tls-origination/>Egress Gateways зі створенням TLS</a></li><li role=none><a role=treeitem title="Описує, як увімкнути вихідний трафік для набору хостів у спільному домені, замість того, щоб налаштовувати кожен хост окремо." href=/v1.24/uk/docs/tasks/traffic-management/egress/wildcard-egress-hosts/>Egress з використанням шаблонів хостів</a></li><li role=none><a role=treeitem title="Показує, як налаштувати Istio для зовнішніх служб Kubernetes." href=/v1.24/uk/docs/tasks/traffic-management/egress/egress-kubernetes-services/>Kubernetes Services для вихідного трафіку</a></li><li role=none><a role=treeitem title="Описує, як налаштувати Istio, щоб дозволити застосункам використовувати зовнішній HTTPS проксі." href=/v1.24/uk/docs/tasks/traffic-management/egress/http-proxy/>Використання зовнішнього HTTPS-проксі</a></li></ul></li></ul></li><li role=treeitem aria-label=Безпека><button aria-hidden=true tabindex=-1></button><a title="Демонструє як убезпечити мережу." href=/v1.24/uk/docs/tasks/security/>Безпека</a><ul role=group aria-expanded=false><li role=treeitem aria-label="Управління сертифікатами"><button aria-hidden=true tabindex=-1></button><a title="Управління сертифікатами в Istio." href=/v1.24/uk/docs/tasks/security/cert-management/>Управління сертифікатами</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Демонструє, як системні адміністратори можуть налаштувати центр сертифікації Istio з кореневим сертифікатом, сертифікатом підпису та ключем." href=/v1.24/uk/docs/tasks/security/cert-management/plugin-ca-cert/>Підключення сертифікатів ЦС</a></li><li role=none><a role=treeitem title="Показує, як використовувати власний центр сертифікації (який інтегрується з Kubernetes CSR API) для надання сертифікатів робочого навантаження Istio (Experimental)" href=/v1.24/uk/docs/tasks/security/cert-management/custom-ca-k8s/>Інтеграція з власним ЦС за допомогою Kubernetes CSR *</a></li></ul></li><li role=treeitem aria-label=Автентифікація><button aria-hidden=true tabindex=-1></button><a title="Контроль взаємної TLS та автентифікації кінцевих користувачів для mesh-сервісів." href=/v1.24/uk/docs/tasks/security/authentication/>Автентифікація</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Показує, як використовувати політику автентифікації Istio для налаштування взаємної TLS і базової автентифікації кінцевого користувача." href=/v1.24/uk/docs/tasks/security/authentication/authn-policy/>Політика автентифікації</a></li><li role=none><a role=treeitem title="Показує, як використовувати політику автентифікації Istio для маршрутизації запитів на основі заявок JWT (Alpha)" href=/v1.24/uk/docs/tasks/security/authentication/jwt-route/>Маршрутизація на основі вимог JWT *</a></li><li role=none><a role=treeitem title="Показує, як користувачі можуть копіювати свої JWT-заявки до заголовків HTTP (Experimental)" href=/v1.24/uk/docs/tasks/security/authentication/claim-to-header/>Копіювання JWT-заявок до заголовків HTTP *</a></li><li role=none><a role=treeitem title="Показує, як поетапно мігрувати ваші сервіси Istio на взаємний TLS." href=/v1.24/uk/docs/tasks/security/authentication/mtls-migration/>Міграція взаємних TLS</a></li></ul></li><li role=treeitem aria-label=Авторизація><button aria-hidden=true tabindex=-1></button><a title="Показує, як контролювати доступ до сервісів Istio." href=/v1.24/uk/docs/tasks/security/authorization/>Авторизація</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Показує, як налаштувати контроль доступу для HTTP-трафіку." href=/v1.24/uk/docs/tasks/security/authorization/authz-http/>Трафік HTTP</a></li><li role=none><a role=treeitem title="Показує, як налаштувати контроль доступу для TCP-трафіку." href=/v1.24/uk/docs/tasks/security/authorization/authz-tcp/>Трафік TCP</a></li><li role=none><a role=treeitem title="Показує, як налаштувати контроль доступу для токена JWT." href=/v1.24/uk/docs/tasks/security/authorization/authz-jwt/>Токени JWT</a></li><li role=none><a role=treeitem title="Показує, як інтегрувати та делегувати контроль доступу до зовнішньої системи авторизації." href=/v1.24/uk/docs/tasks/security/authorization/authz-custom/>Зовнішня авторизація</a></li><li role=none><a role=treeitem title="Показує, як налаштувати контроль доступу для явної заборони трафіку." href=/v1.24/uk/docs/tasks/security/authorization/authz-deny/>Пряма заборона</a></li><li role=none><a role=treeitem title="Показує, як налаштувати контроль доступу на вхідному шлюзі." href=/v1.24/uk/docs/tasks/security/authorization/authz-ingress/>Контроль доступу на вході</a></li><li role=none><a role=treeitem title="Показує, як мігрувати з одного домену довіри в інший без зміни політики авторизації." href=/v1.24/uk/docs/tasks/security/authorization/authz-td-migration/>Міграція домену довіри</a></li><li role=none><a role=treeitem title="Показує, як виконати симуляцію використання політики авторизації без її застосування (Alpha)" href=/v1.24/uk/docs/tasks/security/authorization/authz-dry-run/>Симуляція дій *</a></li></ul></li><li role=treeitem aria-label="Конфігурація TLS"><button aria-hidden=true tabindex=-1></button><a title="Налаштування TLS в Istio." href=/v1.24/uk/docs/tasks/security/tls-configuration/>Конфігурація TLS</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Показує, як налаштувати мінімальну версію TLS для робочих навантажень Istio." href=/v1.24/uk/docs/tasks/security/tls-configuration/workload-min-tls-version/>Конфігурація мінімальної версії TLS для робочих навантажень Istio</a></li></ul></li></ul></li><li role=treeitem aria-label="Забезпечення дотримання політики"><button aria-hidden=true tabindex=-1></button><a title="Демонструє особливості застосування політики." href=/v1.24/uk/docs/tasks/policy-enforcement/>Забезпечення дотримання політики</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Ця задача показує, як налаштувати Istio для динамічного обмеження трафіку до сервісу." href=/v1.24/uk/docs/tasks/policy-enforcement/rate-limit/>Увімкнення обмеження швидкості за допомогою Envoy</a></li></ul></li><li role=treeitem aria-label=Спостережуваність><button aria-hidden=true tabindex=-1></button><a title="Демонструє, як збирати телеметричну інформацію з mesh." href=/v1.24/uk/docs/tasks/observability/>Спостережуваність</a><ul role=group aria-expanded=false><li role=none><a role=treeitem title="Це завдання показує, як налаштувати Telemetry API." href=/v1.24/uk/docs/tasks/observability/telemetry/>Telemetry API</a></li><li role=treeitem aria-label=Метрики><button aria-hidden=true tabindex=-1></button><a title="Демонструє збір та отримання метрик в Istio." href=/v1.24/uk/docs/tasks/observability/metrics/>Метрики</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Це завдання показує, як налаштувати метрики Istio за допомогою Telemetry API." href=/v1.24/uk/docs/tasks/observability/metrics/telemetry-api/>Налаштування метрик Istio за допомогою Telemetry API</a></li><li role=none><a role=treeitem title="Це завдання показує, як налаштувати Istio для збору метрик для TCP-сервісів." href=/v1.24/uk/docs/tasks/observability/metrics/tcp-metrics/>Збір метрик для TCP-сервісів</a></li><li role=none><a role=treeitem title="Це завдання показує, як налаштувати метрики Istio." href=/v1.24/uk/docs/tasks/observability/metrics/customize-metrics/>Налаштування метрик Istio</a></li><li role=none><a role=treeitem title="Це завдання показує, як покращити телеметрію, групуючи запити та відповіді за їхніми типами." href=/v1.24/uk/docs/tasks/observability/metrics/classify-metrics/>Класифікація метрик на основі запиту або відповіді</a></li><li role=none><a role=treeitem title="Це завдання показує, як запитувати метрики Istio за допомогою Prometheus." href=/v1.24/uk/docs/tasks/observability/metrics/querying-metrics/>Отримання метрик в Prometheus</a></li><li role=none><a role=treeitem title="Це завдання показує, як налаштувати та використовувати Istio Dashboard для моніторингу трафіку мережі." href=/v1.24/uk/docs/tasks/observability/metrics/using-istio-dashboard/>Візуалізація метрик за допомогою Grafana</a></li></ul></li><li role=treeitem aria-label=Логи><button aria-hidden=true tabindex=-1></button><a title="Демонструє збір логів в Istio." href=/v1.24/uk/docs/tasks/observability/logs/>Логи</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Це завдання показує, як налаштувати проксі Envoy для надсилання журналів доступу за допомогою Telemetry API." href=/v1.24/uk/docs/tasks/observability/logs/telemetry-api/>Налаштування журналів доступу з Telemetry API</a></li><li role=none><a role=treeitem title="Це завдання показує, як налаштувати проксі Envoy для виведення логів доступу на стандартний вихід." href=/v1.24/uk/docs/tasks/observability/logs/access-log/>Логи доступу Envoy</a></li><li role=none><a role=treeitem title="Це завдання показує, як налаштувати проксі Envoy для надсилання логів доступу з використанням OpenTelemetry collector." href=/v1.24/uk/docs/tasks/observability/logs/otel-provider/>OpenTelemetry</a></li></ul></li><li role=treeitem aria-label="Розподілений трейсинг"><button aria-hidden=true tabindex=-1></button><a title="У цьому завданні показано, як налаштувати програми з підтримкою Istio для збору відрізків трейсів." href=/v1.24/uk/docs/tasks/observability/distributed-tracing/>Розподілений трейсинг</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Огляд розподіленого трейсингу в Istio." href=/v1.24/uk/docs/tasks/observability/distributed-tracing/overview/>Огляд</a></li><li role=none><a role=treeitem title="Як налаштувати параметри трейсингу за допомогою Telemetry API." href=/v1.24/uk/docs/tasks/observability/distributed-tracing/telemetry-api/>Налаштування трейсингу за допомогою Telemetry API</a></li><li role=none><a role=treeitem title="Як налаштувати параметри трейсингу за допомогою MeshConfig та анотацій Pod." href=/v1.24/uk/docs/tasks/observability/distributed-tracing/mesh-and-proxy-config/>Налаштування трейсингу за допомогою MeshConfig та анотацій Pod</a></li><li role=none><a role=treeitem title="Досліджуйте різні підходи до налаштування вибірки трейсів на проксі." href=/v1.24/uk/docs/tasks/observability/distributed-tracing/sampling/>Налаштування вибірки трейсів</a></li><li role=none><a role=treeitem title="Дізнайтеся, як налаштувати проксі для надсилання трейсів у форматі OpenTelemetry." href=/v1.24/uk/docs/tasks/observability/distributed-tracing/opentelemetry/>OpenTelemetry</a></li><li role=none><a role=treeitem title="Дізнайтеся, як налаштувати проксі для відправки запитів трейсингу до Jaeger." href=/v1.24/uk/docs/tasks/observability/distributed-tracing/jaeger/>Jaeger</a></li><li role=none><a role=treeitem title="Дізнайтеся, як налаштувати проксі-сервери для надсилання запитів на трейсинг до Zipkin." href=/v1.24/uk/docs/tasks/observability/distributed-tracing/zipkin/>Zipkin</a></li><li role=none><a role=treeitem title="Дізнайтеся, як налаштувати проксі для надсилання запитів трейсингу до Apache SkyWalking." href=/v1.24/uk/docs/tasks/observability/distributed-tracing/skywalking/>Apache SkyWalking</a></li></ul></li><li role=none><a role=treeitem title="Це завдання показує, як візуалізувати ваші сервіси в мережі Istio." href=/v1.24/uk/docs/tasks/observability/kiali/>Візуалізація вашої Mesh-мережі</a></li><li role=none><a role=treeitem title="Це завдання показує, як налаштувати зовнішній доступ до набору надбудов телеметрії Istio." href=/v1.24/uk/docs/tasks/observability/gateways/>Віддалений доступ до надбудов телеметрії.</a></li></ul></li><li role=treeitem aria-label=Розширюваність><button aria-hidden=true tabindex=-1></button><a title="Демонструє, як розширити поведінку сервісної мережі." href=/v1.24/uk/docs/tasks/extensibility/>Розширюваність</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Описує, як зробити віддалені WebAssembly модулі доступними в мещі (Alpha)" href=/v1.24/uk/docs/tasks/extensibility/wasm-module-distribution/>Розподіл WebAssembly модулів *</a></li></ul></li></ul></li><li role=treeitem aria-label=Приклади><a class=main title="Різноманітні повністю робочі приклади використання Istio, з якими ви можете експериментувати." href=/v1.24/uk/docs/examples/>Приклади</a><ul role=group aria-expanded=true><li role=none><a role=treeitem title="Розгортає демонстраційних застосунок, що складається з чотирьох окремих мікросервісів, які використовуються для демонстрації різних можливостей Istio." href=/v1.24/uk/docs/examples/bookinfo/>Застосунок Bookinfo</a></li><li role=none><a role=treeitem title="Запустіть застосунок Bookinfo з сервісом MySQL, що працює у віртуальній машині в межах вашої мережі." href=/v1.24/uk/docs/examples/virtual-machines/>Bookinfo у віртуальній машині</a></li><li role=treeitem aria-label="Вивчення мікросервісів за допомогою Kubernetes та Istio"><button aria-hidden=true tabindex=-1></button><a title="Цей посібник надає новим користувачам, крок за кроком, практичний досвід використання Istio для типових сценаріїв використання мікросервісів." href=/v1.24/uk/docs/examples/microservices-istio/>Вивчення мікросервісів за допомогою Kubernetes та Istio</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title href=/v1.24/uk/docs/examples/microservices-istio/prereq/>Попередні вимоги</a></li><li role=none><a role=treeitem title href=/v1.24/uk/docs/examples/microservices-istio/setup-kubernetes-cluster/>Налаштування кластера Kubernetes</a></li><li role=none><a role=treeitem title href=/v1.24/uk/docs/examples/microservices-istio/setup-local-computer/>Налаштування локального компʼютера</a></li><li role=none><a role=treeitem title href=/v1.24/uk/docs/examples/microservices-istio/single/>Запуск мікросервісу локально</a></li><li role=none><a role=treeitem title href=/v1.24/uk/docs/examples/microservices-istio/package-service/>Запуск ratings у Docker</a></li><li role=none><a role=treeitem title href=/v1.24/uk/docs/examples/microservices-istio/bookinfo-kubernetes/>Запуск Bookinfo з Kubernetes</a></li><li role=none><a role=treeitem title href=/v1.24/uk/docs/examples/microservices-istio/production-testing/>Тестування у промисловому середовищі</a></li><li role=none><a role=treeitem title href=/v1.24/uk/docs/examples/microservices-istio/add-new-microservice-version/>Додавання нової версії відгуків</a></li><li role=none><a role=treeitem title href=/v1.24/uk/docs/examples/microservices-istio/add-istio/>Увімкнення Istio на productpage</a></li><li role=none><a role=treeitem title href=/v1.24/uk/docs/examples/microservices-istio/enable-istio-all-microservices/>Увімкнення Istio на всіх мікросервісах</a></li><li role=none><a role=treeitem title href=/v1.24/uk/docs/examples/microservices-istio/istio-ingress-gateway/>Налаштування Istio Ingress Gateway</a></li><li role=none><a role=treeitem title href=/v1.24/uk/docs/examples/microservices-istio/logs-istio/>Моніторинг з Istio</a></li></ul></li></ul></li><li role=treeitem aria-label="Операційна діяльність"><a class=main title="Концепції, інструменти та методи розгортання та управління сервісною мережею Istio." href=/v1.24/uk/docs/ops/>Операційна діяльність</a><ul role=group aria-expanded=true><li role=treeitem aria-label=Розгортання><button aria-hidden=true tabindex=-1></button><a title="Вимоги, концепції та міркування щодо налаштування розгортання Istio." href=/v1.24/uk/docs/ops/deployment/>Розгортання</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Вимоги до платформи для Istio." href=/v1.24/uk/docs/ops/deployment/platform-requirements/>Вимоги до платформи</a></li><li role=none><a role=treeitem title="Описує архітектуру Istio на загальному та цілі проєктування." href=/v1.24/uk/docs/ops/deployment/architecture/>Архітектура</a></li><li role=none><a role=treeitem title="Описує модель безпеки Istio." href=/v1.24/uk/docs/ops/deployment/security-model/>Модель безпеки</a></li><li role=none><a role=treeitem title="Описує опції та міркування при налаштуванні розгортання Istio." href=/v1.24/uk/docs/ops/deployment/deployment-models/>Моделі розгортання</a></li><li role=none><a role=treeitem title="Описує архітектуру Istio для віртуальних машин." href=/v1.24/uk/docs/ops/deployment/vm-architecture/>Архітектура віртуальних машин</a></li><li role=none><a role=treeitem title="Огляд продуктивності та масштабованості Istio." href=/v1.24/uk/docs/ops/deployment/performance-and-scalability/>Продуктивність та масштабованість</a></li><li role=none><a role=treeitem title="Вимоги до застосунків, розгорнутих у кластері з підтримкою Istio." href=/v1.24/uk/docs/ops/deployment/application-requirements/>Вимоги до застосунку</a></li></ul></li><li role=treeitem aria-label=Конфігурація><button aria-hidden=true tabindex=-1></button><a title="Розширені концепції та функції для налаштування працюючої mesh-мережі Istio." href=/v1.24/uk/docs/ops/configuration/>Конфігурація</a><ul role=group aria-expanded=false><li role=treeitem aria-label="Конфігурація Mesh"><button aria-hidden=true tabindex=-1></button><a title="Допомагає вам управляти глобальною конфігурацією mesh." href=/v1.24/uk/docs/ops/configuration/mesh/>Конфігурація Mesh</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Надає загальний огляд використання Istio вебхуків Kubernetes та повʼязаних з цим проблем." href=/v1.24/uk/docs/ops/configuration/mesh/webhook/>Огляд динамічних вебхуків допуску</a></li><li role=none><a role=treeitem title="Показує, як здійснювати перевірку справності для сервісів Istio." href=/v1.24/uk/docs/ops/configuration/mesh/app-health-check/>Перевірка справності сервісів Istio</a></li><li role=none><a role=treeitem title="Показує, як налагодити конфігурацію в Istio, щоб отримати переваги в роботі та продуктивності." href=/v1.24/uk/docs/ops/configuration/mesh/configuration-scoping/>Область дії конфігурації</a></li></ul></li><li role=treeitem aria-label="Управління трафіком"><button aria-hidden=true tabindex=-1></button><a title="Допомагає керувати мережевими аспектами мережі, що працює." href=/v1.24/uk/docs/ops/configuration/traffic-management/>Управління трафіком</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Інформація про те, як вказати протоколи." href=/v1.24/uk/docs/ops/configuration/traffic-management/protocol-selection/>Вибір протоколу</a></li><li role=none><a role=treeitem title="Як налаштувати сертифікати всередині вашого Mesh." href=/v1.24/uk/docs/ops/configuration/traffic-management/manage-mesh-certificates/>Керування сертифікатами всередині Mesh</a></li><li role=none><a role=treeitem title="Як налаштувати параметри TLS для захисту мережевого трафіку." href=/v1.24/uk/docs/ops/configuration/traffic-management/tls-configuration/>Налаштування TLS</a></li><li role=none><a role=treeitem title="Як Istio маршрутизує трафік через mesh." href=/v1.24/uk/docs/ops/configuration/traffic-management/traffic-routing/>Маршрутизація трафіку</a></li><li role=none><a role=treeitem title="Як DNS взаємодіє з Istio." href=/v1.24/uk/docs/ops/configuration/traffic-management/dns/>DNS</a></li><li role=none><a role=treeitem title="Як налаштувати топологію мережі шлюзу (Alpha)" href=/v1.24/uk/docs/ops/configuration/traffic-management/network-topologies/>Налаштування топології мережі шлюзу *</a></li><li role=none><a role=treeitem title="Як налаштувати проксіювання DNS." href=/v1.24/uk/docs/ops/configuration/traffic-management/dns-proxy/>Проксіювання DNS</a></li><li role=none><a role=treeitem title="Як налаштувати розподіл трафіку між кластерами в мережі." href=/v1.24/uk/docs/ops/configuration/traffic-management/multicluster/>Керування трафіком у мультикластерній мережі</a></li></ul></li><li role=treeitem aria-label=Безпека><button aria-hidden=true tabindex=-1></button><a title="Допомагає керувати аспектами безпеки запущеної мережі." href=/v1.24/uk/docs/ops/configuration/security/>Безпека</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Демонструє поширені приклади використання політик безпеки Istio." href=/v1.24/uk/docs/ops/configuration/security/security-policy-examples/>Приклади політик безпеки</a></li><li role=none><a role=treeitem title="Використовуйте зміцнені образи контейнерів, щоб зменшити поверхню атаки Istio." href=/v1.24/uk/docs/ops/configuration/security/harden-docker-images/>Зміцнення образів контейнерів Docker</a></li></ul></li><li role=treeitem aria-label=Спостережуваність><button aria-hidden=true tabindex=-1></button><a title="Допомагає керувати збором телеметрії та візуалізацією в мережі." href=/v1.24/uk/docs/ops/configuration/telemetry/>Спостережуваність</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Тонке управління статистикою Envoy." href=/v1.24/uk/docs/ops/configuration/telemetry/envoy-stats/>Статистика Envoy</a></li><li role=none><a role=treeitem title="Налаштування Prometheus для моніторингу мультикластера Istio." href=/v1.24/uk/docs/ops/configuration/telemetry/monitoring-multicluster-prometheus/>Моніторинг мультикластера Istio з Prometheus</a></li></ul></li><li role=treeitem aria-label=Розширюваність><button aria-hidden=true tabindex=-1></button><a title="Допомагає керувати розширеннями серверної мережі." href=/v1.24/uk/docs/ops/configuration/extensibility/>Розширюваність</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Описує, як Istio визначає, чи слід витягувати модулі Wasm або використовувати кешовані версії (Alpha)" href=/v1.24/uk/docs/ops/configuration/extensibility/wasm-pull-policy/>Політика витягування для модулів WebAssembly *</a></li></ul></li></ul></li><li role=treeitem aria-label=Поради><button class=show aria-hidden=true tabindex=-1></button><a title="Поради щодо налаштування та управління сервісною мережею Istio." href=/v1.24/uk/docs/ops/best-practices/>Поради</a><ul role=group aria-expanded=true class=leaf-section><li role=none><a role=treeitem title="Загальні поради з налаштування сервісної мережі Istio." href=/v1.24/uk/docs/ops/best-practices/deployment/>Поради щодо розгортання</a></li><li role=none><a role=treeitem title="Поради з конфігурації для уникнення проблем з мережею чи управлінням трафіком." href=/v1.24/uk/docs/ops/best-practices/traffic-management/>Поради з управління трафіком</a></li><li role=none><a role=treeitem title="Поради з безпеки для захисту ваших застосунків за допомогою Istio." href=/v1.24/uk/docs/ops/best-practices/security/>Поради з безпеки</a></li><li role=none><a role=treeitem title="Описує, як використовувати підписи образів для перевірки походження образів Istio." href=/v1.24/uk/docs/ops/best-practices/image-signing-validation/>Підписування та валідація образів</a></li><li role=none><a role=treeitem title="Поради щодо спостереження за застосунками за допомогою Istio." href=/v1.24/uk/docs/ops/best-practices/observability/>Поради щодо спостережуваності</a></li></ul></li><li role=treeitem aria-label="Поширені проблеми"><button aria-hidden=true tabindex=-1></button><a title="Описує, як виявити та вирішити поширені проблеми в Istio." href=/v1.24/uk/docs/ops/common-problems/>Поширені проблеми</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Техніки для вирішення поширених проблем з управлінням трафіком та мережевих проблем в Istio." href=/v1.24/uk/docs/ops/common-problems/network-issues/>Проблеми з управлінням трафіком</a></li><li role=none><a role=treeitem title="Техніки для вирішення поширених проблем з аутентифікацією, авторизацією та загальною безпекою в Istio." href=/v1.24/uk/docs/ops/common-problems/security-issues/>Проблеми безпеки</a></li><li role=none><a role=treeitem title="Вирішення проблем зі збором телеметрії." href=/v1.24/uk/docs/ops/common-problems/observability-issues/>Проблеми з спостереженням</a></li><li role=none><a role=treeitem title="Вирішення загальних проблем із використанням вебхуків Kubernetes для автоматичної інʼєкції sidecar у Istio." href=/v1.24/uk/docs/ops/common-problems/injection/>Проблеми з інʼєкцією Sidecar</a></li><li role=none><a role=treeitem title="Описує, як вирішити проблеми з валідацією конфігурації." href=/v1.24/uk/docs/ops/common-problems/validation/>Проблеми з валідацією конфігурації</a></li><li role=none><a role=treeitem title="Вирішення поширених проблем з оновленнями Istio." href=/v1.24/uk/docs/ops/common-problems/upgrade-issues/>Проблеми з оновленням</a></li></ul></li><li role=treeitem aria-label="Інструменти діагностики"><button aria-hidden=true tabindex=-1></button><a title="Інструменти та методи для усунення несправностей в сервісній мережі Istio." href=/v1.24/uk/docs/ops/diagnostic-tools/>Інструменти діагностики</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Istio включає додатковий інструмент, що надає можливості для налагодження та діагностики розгортання сервісної мережі Istio." href=/v1.24/uk/docs/ops/diagnostic-tools/istioctl/>Використання інструменту командного рядка Istioctl</a></li><li role=none><a role=treeitem title="Описує інструменти та методи діагностики проблем із конфігурацією Envoy, повʼязаних з управлінням трафіком." href=/v1.24/uk/docs/ops/diagnostic-tools/proxy-cmd/>Налагодження Envoy і Istiod</a></li><li role=none><a role=treeitem title="Показує, як використовувати istioctl describe для перевірки конфігурацій podʼа у вашій mesh мережі." href=/v1.24/uk/docs/ops/diagnostic-tools/istioctl-describe/>Зрозумійте свою Mesh мережу за допомогою Istioctl Describe</a></li><li role=none><a role=treeitem title="Показує, як використовувати `istioctl analyze` для виявлення потенційних проблем у вашій конфігурації." href=/v1.24/uk/docs/ops/diagnostic-tools/istioctl-analyze/>Діагностика вашої конфігурації з Istioctl Analyze</a></li><li role=none><a role=treeitem title="Дізнайтеся, як використовувати istioctl check-inject, щоб перевірити, чи належним чином увімкнено інʼєкцію sidecar Istio у ваших розгортаннях." href=/v1.24/uk/docs/ops/diagnostic-tools/check-inject/>Перевірка інʼєкції Sidecar Istio за допомогою Istioctl Check-Inject</a></li><li role=none><a role=treeitem title="Описує, як використовувати ControlZ для отримання інформації про працюючий компонент istiod." href=/v1.24/uk/docs/ops/diagnostic-tools/controlz/>Інтроспекція Istiod</a></li><li role=none><a role=treeitem title="Описує, як використовувати логування на рівні компонентів для отримання інформації про поведінку працюючих компонентів." href=/v1.24/uk/docs/ops/diagnostic-tools/component-logging/>Логування компонентів</a></li><li role=none><a role=treeitem title="Описує інструменти та техніки для діагностики проблем з віртуальними машинами." href=/v1.24/uk/docs/ops/diagnostic-tools/virtual-machines/>Налагодження віртуальних машин</a></li><li role=none><a role=treeitem title="Описує інструменти та техніки для діагностики проблем з мультикластерними та мультимережевими установками." href=/v1.24/uk/docs/ops/diagnostic-tools/multicluster/>Усунення проблем з мультикластерами</a></li><li role=none><a role=treeitem title="Описує інструменти та техніки для діагностики проблем за допомогою Istio з втулком CNI." href=/v1.24/uk/docs/ops/diagnostic-tools/cni/>Усунення неполадок втулка Istio CNI</a></li></ul></li><li role=treeitem aria-label=Інтеграція><button aria-hidden=true tabindex=-1></button><a title="Інше програмне забезпечення, з яким Istio може інтегруватися для забезпечення додаткової функціональності." href=/v1.24/uk/docs/ops/integrations/>Інтеграція</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Інформація про інтеграцію з cert-manager." href=/v1.24/uk/docs/ops/integrations/certmanager/>cert-manager</a></li><li role=none><a role=treeitem title="Інформація про інтеграцію з Grafana для налаштування інформаційних панелей Istio." href=/v1.24/uk/docs/ops/integrations/grafana/>Grafana</a></li><li role=none><a role=treeitem title="Як інтегруватися з Jaeger." href=/v1.24/uk/docs/ops/integrations/jaeger/>Jaeger</a></li><li role=none><a role=treeitem title="Інформація про інтеграцію з Kiali." href=/v1.24/uk/docs/ops/integrations/kiali/>Kiali</a></li><li role=none><a role=treeitem title="Як інтегрувати Prometheus." href=/v1.24/uk/docs/ops/integrations/prometheus/>Prometheus</a></li><li role=none><a role=treeitem title="Як налаштувати Istio для інтеграції з SPIRE, щоб отримувати криптографічні ідентифікатори через SDS API Envoy." href=/v1.24/uk/docs/ops/integrations/spire/>SPIRE</a></li><li role=none><a role=treeitem title="Як інтегрувати з Apache SkyWalking." href=/v1.24/uk/docs/ops/integrations/skywalking/>Apache SkyWalking</a></li><li role=none><a role=treeitem title="Як інтегрувати з Zipkin." href=/v1.24/uk/docs/ops/integrations/zipkin/>Zipkin</a></li><li role=none><a role=treeitem title="Як інтегрувати Istio зі сторонніми балансувальниками навантаження." href=/v1.24/uk/docs/ops/integrations/loadbalancers/>Сторонні балансувальники навантаження</a></li></ul></li></ul></li><li role=treeitem aria-label=Випуски><a class=main title="Інформація, що стосується релізів Istio." href=/v1.24/uk/docs/releases/>Випуски</a><ul role=group aria-expanded=true><li role=none><a role=treeitem title="Перелік функцій та етапи їх випуску." href=/v1.24/uk/docs/releases/feature-stages/>Стан функцій</a></li><li role=none><a role=treeitem title="Що робити, якщо ви знайшли помилку." href=/v1.24/uk/docs/releases/bugs/>Повідомлення про помилки</a></li><li role=none><a role=treeitem title="Як ми обробляємо вразливості безпеки." href=/v1.24/uk/docs/releases/security-vulnerabilities/>Вразливості безпеки</a></li><li role=none><a role=treeitem title="Поточні підтримувані релізи Istio." href=/v1.24/uk/docs/releases/supported-releases/>Підтримувані релізи</a></li><li role=treeitem aria-label="Внесок у документацію"><button aria-hidden=true tabindex=-1></button><a title="Деталі щодо створення та підтримки сторінок документації Istio." href=/v1.24/uk/docs/releases/contribute/>Внесок у документацію</a><ul role=group aria-expanded=false class=leaf-section><li role=none><a role=treeitem title="Показує, як використовувати GitHub для внесення змін до документації Istio." href=/v1.24/uk/docs/releases/contribute/github/>Робота з GitHub</a></li><li role=none><a role=treeitem title="Деталі про те, як додати нову документацію в Istio." href=/v1.24/uk/docs/releases/contribute/add-content/>Додавання нової документації</a></li><li role=none><a role=treeitem title="Деталі про те, як видалити застарілу документацію з Istio." href=/v1.24/uk/docs/releases/contribute/remove-content/>Видалення застарілої документації</a></li><li role=none><a role=treeitem title="Пояснює, як локально побудувати, протестувати, обслуговувати та переглядати сайт." href=/v1.24/uk/docs/releases/contribute/build/>Збирання та локальна робота з сайтом</a></li><li role=none><a role=treeitem title="Пояснює front matter, що використовується у нашій документації, і доступні поля." href=/v1.24/uk/docs/releases/contribute/front-matter/>Front Matter</a></li><li role=none><a role=treeitem title="Показує, як зміни до документації та вебсайту Istio перевіряються та затверджуються." href=/v1.24/uk/docs/releases/contribute/review/>Процес рецензування документації</a></li><li role=none><a role=treeitem title="Пояснює, як включати код у вашу документацію." href=/v1.24/uk/docs/releases/contribute/code-blocks/>Додавання блоків коду</a></li><li role=none><a role=treeitem title="Пояснює доступні шорткоди та як їх використовувати." href=/v1.24/uk/docs/releases/contribute/shortcodes/>Використання шорткодів</a></li><li role=none><a role=treeitem title="Пояснює стандартну розмітку, що використовується для форматування документації Istio." href=/v1.24/uk/docs/releases/contribute/formatting/>Дотримання стандартів форматування</a></li><li role=none><a role=treeitem title="Пояснює стилістичні конвенції, що використовуються в документації Istio." href=/v1.24/uk/docs/releases/contribute/style-guide/>Посібник по стилю</a></li><li role=none><a role=treeitem title="Пояснює стандарти термінології, що використовуються в документації Istio." href=/v1.24/uk/docs/releases/contribute/terminology/>Стандарти термінології</a></li><li role=none><a role=treeitem title="Надає ресурси та інструкції для створення діаграм для документації Istio." href=/v1.24/uk/docs/releases/contribute/diagrams/>Інструкції зі створення діаграм</a></li></ul></li><li role=none><a role=treeitem title="Список останніх змін на цьому вебсайті." href=/v1.24/uk/docs/releases/log/>Зміни в контенті вебсайту</a></li></ul></li><li role=treeitem aria-label=Довідка><a class=main title="Деталізовані авторитетні довідкові матеріали, такі як параметри командного рядка, параметри конфігурації та параметри виклику API." href=/v1.24/uk/docs/reference/>Довідка</a><ul role=group aria-expanded=true class=leaf-section><li role=none><a role=treeitem title="Глосарій поширених термінів Istio." href=/v1.24/uk/docs/reference/glossary/>Глосарій</a></li></ul></li></ul></div></div></div></nav></div><div class=article-container><button id=sidebar-toggle class=main-navigation-toggle aria-label="Open sidebar">
|
||
<svg class="icon hamburger-sidebar"><use xlink:href="/v1.24/img/icons.svg#hamburger-sidebar"/></svg>
|
||
Вміст</button><article aria-labelledby=title><nav aria-label=Breadcrumb><ol><li><a href=/v1.24/uk/docs/ title="Дізнайтеся, як розгортати, використовувати та керувати Istio.">Документація</a><svg class="icon breadcrumb-arrow"><use xlink:href="/v1.24/img/icons.svg#breadcrumb-arrow"/></svg></li><li><a href=/v1.24/uk/docs/ops/ title="Концепції, інструменти та методи розгортання та управління сервісною мережею Istio.">Операційна діяльність</a><svg class="icon breadcrumb-arrow"><use xlink:href="/v1.24/img/icons.svg#breadcrumb-arrow"/></svg></li><li><a href=/v1.24/uk/docs/ops/best-practices/ title="Поради щодо налаштування та управління сервісною мережею Istio.">Поради</a><svg class="icon breadcrumb-arrow"><use xlink:href="/v1.24/img/icons.svg#breadcrumb-arrow"/></svg></li><li>Поради з безпеки</li></ol></nav><div class=title-area><div style=width:100%><h1 id=title>Поради з безпеки</h1><p class=byline><span class=reading-time title="3921 слово(ів)"><svg class="icon clock"><use xlink:href="/v1.24/img/icons.svg#clock"/></svg><span> </span>19 хвилин(и)</span>
|
||
<span> </span>
|
||
<span></span></p></div></div><nav class="toc-inlined toc-forced" aria-label="Table of Contents"><div><hr><ol><li role=none aria-label="Взаємне TLS шифрування"><a href=#mutual-tls>Взаємне TLS шифрування</a><li role=none aria-label="Політики авторизації"><a href=#authorization-policies>Політики авторизації</a><ol><li role=none aria-label="Моделі безпечної політики авторизації"><a href=#safer-authorization-policy-patterns>Моделі безпечної політики авторизації</a><ol><li role=none aria-label="Використовуйте піхід “стандартно заборонено”"><a href=#use-default-deny-patterns>Використовуйте піхід “стандартно заборонено”</a><li role=none aria-label="Використовуйте підхід ALLOW-with-positive-matching і DENY-with-negative-match"><a href=#use-allow-with-positive-matching-and-deny-with-negative-match-patterns>Використовуйте підхід <code>ALLOW-with-positive-matching</code> і <code>DENY-with-negative-match</code></a></ol></li><li role=none aria-label="Нормалізація шляху в політиці авторизації"><a href=#understand-path-normalization-in-authorization-policy>Нормалізація шляху в політиці авторизації</a><li role=none aria-label="Рекомендації щодо налаштування опції нормалізації шляху"><a href=#guideline-on-configuring-the-path-normalization-option>Рекомендації щодо налаштування опції нормалізації шляху</a><ol><li role=none aria-label="Випадок 1: Вам не потрібна нормалізація взагалі"><a href=#case-1-you-do-not-need-normalization-at-all>Випадок 1: Вам не потрібна нормалізація взагалі</a><li role=none aria-label="Випадок 2: Вам потрібна нормалізація, але ви не знаєте, яку опцію вибрати"><a href=#case-2-you-need-normalization-but-not-sure-which-normalization-option-to-use>Випадок 2: Вам потрібна нормалізація, але ви не знаєте, яку опцію вибрати</a><li role=none aria-label="Випадок 3: Вам потрібна непідтримувана опція нормалізації"><a href=#case-3-you-need-an-unsupported-normalization-option>Випадок 3: Вам потрібна непідтримувана опція нормалізації</a></ol></li><li role=none aria-label="Налаштування системи щодо нормалізації шляху"><a href=#customize-your-system-on-path-normalization>Налаштування системи щодо нормалізації шляху</a><ol><li role=none aria-label="Приклади конфігурації"><a href=#examples-of-configuration>Приклади конфігурації</a><li role=none aria-label="Як налаштувати"><a href=#how-to-configure>Як налаштувати</a></ol></li><li role=none aria-label="Помʼякшення наслідків непідтримуваної нормалізації"><a href=#mitigation-for-unsupported-normalization>Помʼякшення наслідків непідтримуваної нормалізації</a><ol><li role=none aria-label="Логіка користувацької нормалізації"><a href=#custom-normalization-logic>Логіка користувацької нормалізації</a><ol><li role=none aria-label="Приклад користувацької нормалізації (нормалізація регістру)"><a href=#example-custom-normalization-case-normalization>Приклад користувацької нормалізації (нормалізація регістру)</a></ol></li><li role=none aria-label="Написання політик відповідності хостів"><a href=#writing-host-match-policies>Написання політик відповідності хостів</a><li role=none aria-label="Спеціалізований брандмауер вебзастосунків (WAF)"><a href=#specialized-web-application-firewall-waf>Спеціалізований брандмауер вебзастосунків (WAF)</a><li role=none aria-label="Запит нової функції для Istio"><a href=#feature-request-to-istio>Запит нової функції для Istio</a></ol></li><li role=none aria-label="Відомі обмеження"><a href=#known-limitations>Відомі обмеження</a><ol><li role=none aria-label="TCP протоколи server-first не підтримуються"><a href=#server-first-tcp-protocols-are-not-supported>TCP протоколи server-first не підтримуються</a></ol></li></ol></li><li role=none aria-label="Розуміння обмежень захоплення трафіку"><a href=#understand-traffic-capture-limitations>Розуміння обмежень захоплення трафіку</a><ol><li role=none aria-label="Багаторівневий захист за допомогою NetworkPolicy"><a href=#defense-in-depth-with-networkpolicy>Багаторівневий захист за допомогою <code>NetworkPolicy</code></a><li role=none aria-label="Захист вихідного трафіку"><a href=#securing-egress-traffic>Захист вихідного трафіку</a></ol></li><li role=none aria-label="Налаштування перевірки TLS у Destination Rule при використанні TLS origination"><a href=#configure-tls-verification-in-destination-rule-when-using-tls-origination>Налаштування перевірки TLS у Destination Rule при використанні TLS origination</a><li role=none aria-label=Gateways><a href=#gateways>Gateways</a><ol><li role=none aria-label="Обмеження прав на створення Gateway"><a href=#restrict-gateway-creation-priveleges>Обмеження прав на створення <code>Gateway</code></a><li role=none aria-label="Уникайте занадто загальних конфігурацій hosts"><a href=#avoid-overly-broad-hosts-configurations>Уникайте занадто загальних конфігурацій <code>hosts</code></a><li role=none aria-label="Ізолюйте чутливі сервіси"><a href=#isolate-sensitive-services>Ізолюйте чутливі сервіси</a><li role=none aria-label="Явно вимкніть усі чутливі http-хости при послабленому зіставленні SNI-хостів"><a href=#explicitly-disable-all-the-sensitive-http-host-under-relaxed-sni-host-matching>Явно вимкніть усі чутливі http-хости при послабленому зіставленні SNI-хостів</a></ol></li><li role=none aria-label="Виявлення протоколу"><a href=#protocol-detection>Виявлення протоколу</a><li role=none aria-label=CNI><a href=#cni>CNI</a><li role=none aria-label="Використання захищених Docker образів"><a href=#use-hardened-docker-images>Використання захищених Docker образів</a><li role=none aria-label="Політика випуску та безпеки"><a href=#release-and-security-policy>Політика випуску та безпеки</a><li role=none aria-label="Виявлення хибних конфігурацій"><a href=#detect-invalid-configurations>Виявлення хибних конфігурацій</a><li role=none aria-label="Уникайте альфа та експериментальних функцій"><a href=#avoid-alpha-and-experimental-features>Уникайте альфа та експериментальних функцій</a><li role=none aria-label="Закриття портів"><a href=#lock-down-ports>Закриття портів</a><ol><li role=none aria-label="Панель управління"><a href=#control-plane>Панель управління</a><li role=none aria-label="Панель даних"><a href=#data-plane>Панель даних</a></ol></li><li role=none aria-label="Налаштування токенів сторонніх службових облікових записів"><a href=#configure-third-party-service-account-tokens>Налаштування токенів сторонніх службових облікових записів</a><li role=none aria-label="Налаштування обмежень на кількість downstream-з’єднань"><a href=#configure-a-limit-on-downstream-connections>Налаштування обмежень на кількість downstream-з’єднань</a><ol><li role=none aria-label="Налаштуйте значення global_downstream_max_connections"><a href=#configure-global_downstream_max_connections-value>Налаштуйте значення <code>global_downstream_max_connections</code></a></ol></li></ol><hr></div></nav><p>Особливості безпеки Istio забезпечують надійну ідентифікацію, потужну політику, прозоре шифрування TLS і інструменти автентифікації, авторизації та аудиту (AAA) для захисту ваших сервісів та даних. Однак, щоб повною мірою використовувати ці функції безпечно, слід дотримуватися найкращих практик. Рекомендується переглянути розділ <a href=/v1.24/uk/docs/concepts/security/>Огляд безпеки</a> перед тим, як продовжити.</p><h2 id=mutual-tls>Взаємне TLS шифрування</h2><p>Istio <a href=/v1.24/uk/docs/ops/configuration/traffic-management/tls-configuration/#auto-mtls>автоматично</a> шифрує трафік за допомогою <a href=/v1.24/uk/docs/concepts/security/#mutual-tls-authentication>взаємного TLS</a> за можливості. Однак, стандартно проксі налаштовані в <a href=/v1.24/uk/docs/concepts/security/#permissive-mode>дозвільному режимі</a>, що означає прийняття як взаємного TLS, так і незашифрованого трафіку.</p><p>Хоча це необхідно для поступового впровадження або дозволу трафіку від клієнтів без sidecar Istio, це також послаблює рівень безпеки. Рекомендується <a href=/v1.24/uk/docs/tasks/security/authentication/mtls-migration/>мігрувати до суворого режиму</a> за можливості, щоб забезпечити використання взаємного TLS шифрування.</p><p>Однак взаємне TLS шифрування саме по собі не завжди достатньо для повного захисту трафіку, оскільки воно забезпечує лише автентифікацію, але не авторизацію. Це означає, що будь-хто з дійсним сертифікатом все ще може отримати доступ до сервісу.</p><p>Для повного захисту трафіку рекомендується налаштувати <a href=/v1.24/uk/docs/tasks/security/authorization/>політики авторизації</a>. Це дозволяє створювати політики з детальними умовами, які дозволяють або забороняють трафік. Наприклад, ви можете дозволити лише запити з простору імен <code>app</code> для доступу до сервісу <code>hello-world</code>.</p><h2 id=authorization-policies>Політики авторизації</h2><p><a href=/v1.24/uk/docs/concepts/security/#authorization>Авторизація</a> в відіграє важливу роль у безпеці Istio. Потрібно докласти зусиль для налаштування правильних політик авторизації для найкращого захисту кластерів. Важливо розуміти наслідки цих конфігурацій, оскільки Istio не може визначити правильну авторизацію для всіх користувачів. Будь ласка, дотримуйтесь цієї частини документації повністю.</p><h3 id=safer-authorization-policy-patterns>Моделі безпечної політики авторизації</h3><h4 id=use-default-deny-patterns>Використовуйте піхід “стандартно заборонено”</h4><p>Рекомендується визначати політики авторизації Istio, використовуючи підхід “стандартно заборонено” для підвищення рівня безпеки вашого кластера. Підхід “стандартно заборонено” означає, що система стандартно забороняє всі запити, а ви визначаєте умови, за яких запити дозволені. Якщо ви пропустите деякі умови, трафік буде несподівано заборонений, замість того, щоб бути несподівано дозволеним. Останнє, як правило, є інцидентом безпеки, в той час як перше може призвести до погіршення взаємодії з користувачем, перебоїв у наданні послуг або не відповідатиме вашому SLO/SLA.</p><p>Наприклад, у <a href=/v1.24/uk/docs/tasks/security/authorization/authz-http/>завданні авторизації для HTTP-трафіку</a>, політика авторизації з назвою <code>allow-nothing</code> гарантує, що весь трафік стандартно заборонено. Від цього моменту ви можете налаштовувати інші політики авторизації, які дозволяють трафік на основі конкретних умов.</p><h4 id=use-allow-with-positive-matching-and-deny-with-negative-match-patterns>Використовуйте підхід <code>ALLOW-with-positive-matching</code> і <code>DENY-with-negative-match</code></h4><p>Використовуйте підходи <code>ALLOW-with-positive-matching</code> або <code>DENY-with-negative-match</code> за можливості. Ці політики авторизації є безпечнішими, оскільки найгірший результат у разі помилки політики — це несподіване відмова від обслуговування (помилка 403), а не обхід політики авторизації.</p><p>Шаблон <code>ALLOW-with-positive-matching</code> передбачає використання дії <code>ALLOW</code> лише з <strong>позитивними</strong> полями збігу (наприклад, <code>paths</code>, <code>values</code>) і уникнення використання будь-яких <strong>негативних</strong> полів збігу (наприклад, <code>notPaths</code>, <code>notValues</code>).</p><p>Шаблон <code>DENY-with-negative-match</code> передбачає використання дії <code>DENY</code> лише з <strong>негативними</strong> полями збігу (наприклад, <code>notPaths</code>, <code>notValues</code>) і уникнення використання будь-яких <strong>позитивних</strong> полів збігу (наприклад, <code>paths</code>, <code>values</code>).</p><p>Наприклад, наведена нижче політика авторизації використовує шаблон <code>ALLOW-with-positive-matching</code>, щоб дозволити запити до шляху <code>/public</code>:</p><pre><code class=language-yaml data-expandlinks=true data-repo=istio>apiVersion: security.istio.io/v1
|
||
kind: AuthorizationPolicy
|
||
metadata:
|
||
name: foo
|
||
spec:
|
||
action: ALLOW
|
||
rules:
|
||
- to:
|
||
- operation:
|
||
paths: ["/public"]</code></pre><p>Ця політика явно вказує дозволений шлях (<code>/public</code>). Це означає, що шлях запиту має бути точно таким, як <code>/public</code>, щоб запит був дозволений. Будь-які інші запити будуть стандартно відхилені, що усуває ризик невідомої поведінки нормалізації, яка може призвести до обходу політики.</p><p>Нижче наведено приклад використання шаблону <code>DENY-with-negative-match</code> для досягнення такого ж результату:</p><pre><code class=language-yaml data-expandlinks=true data-repo=istio>apiVersion: security.istio.io/v1
|
||
kind: AuthorizationPolicy
|
||
metadata:
|
||
name: foo
|
||
spec:
|
||
action: DENY
|
||
rules:
|
||
- to:
|
||
- operation:
|
||
notPaths: ["/public"]</code></pre><h3 id=understand-path-normalization-in-authorization-policy>Нормалізація шляху в політиці авторизації</h3><p>Точка примусового застосування політик авторизації — це проксі Envoy, а не звичайна точка доступу до ресурсів у бекенд-застосунку. Відповідність політики порушується, коли проксі Envoy і бекенд-застосунок інтерпретують запит по-різному.</p><p>Ця невідповідність може призвести до несподіваного відхилення або обходу політики. Останнє зазвичай є інцидентом безпеки, який потрібно негайно виправити, і це також є причиною, чому необхідна нормалізація шляху в політиці авторизації.</p><p>Наприклад, розгляньте політику авторизації для відхилення запитів із шляхом <code>/data/secret</code>. Запит із шляхом <code>/data//secret</code> не буде відхилений, оскільки він не відповідає шляху, визначеному в політиці авторизації, через зайву косу риску <code>/</code> в шляху.</p><p>Запит пройде, і згодом бекенд-застосунок поверне таку ж відповідь, яку він повертає для шляху <code>/data/secret</code>, оскільки бекенд-застосунок нормалізує шлях <code>/data//secret</code> до <code>/data/secret</code>, вважаючи подвійну косу риску <code>//</code> еквівалентною одній косій рисці <code>/</code>.</p><p>У цьому прикладі точка примусового застосування політики (проксі Envoy) мала інше розуміння шляху, ніж точка доступу до ресурсу (бекенд-застосунок). Ця різниця в розумінні спричинила невідповідність і, зрештою, обхід політики авторизації.</p><p>Ця проблема ускладнюється через такі фактори:</p><ul><li>Відсутність чіткого стандарту для нормалізації.</li><li>Бекенди та фреймворки на різних рівнях мають свою специфічну нормалізацію.</li><li>Застосунки можуть мати навіть довільну нормалізацію для власних випадків використання.</li></ul><p>Політика авторизації Istio має вбудовану підтримку різних базових варіантів нормалізації, щоб допомогти вам краще вирішити цю проблему:</p><ul><li><p>Зверніться до <a href=/v1.24/uk/docs/ops/best-practices/security/#guideline-on-configuring-the-path-normalization-option>Рекомендацій з налаштування опції нормалізації шляху</a>, щоб зрозуміти, які опції нормалізації ви можете використовувати.</p></li><li><p>Зверніться до <a href=/v1.24/uk/docs/ops/best-practices/security/#customize-your-system-on-path-normalization>Налаштування вашої системи щодо нормалізації шляху</a>, щоб зрозуміти деталі кожної опції нормалізації.</p></li><li><p>Зверніться до <a href=/v1.24/uk/docs/ops/best-practices/security/#mitigation-for-unsupported-normalization>Помʼякшення наслідків непідтримуваної нормалізації</a> для альтернативних рішень у випадку, якщо вам потрібні непідтримувані варіанти нормалізації.</p></li></ul><h3 id=guideline-on-configuring-the-path-normalization-option>Рекомендації щодо налаштування опції нормалізації шляху</h3><h4 id=case-1-you-do-not-need-normalization-at-all>Випадок 1: Вам не потрібна нормалізація взагалі</h4><p>Перед тим, як налаштовувати нормалізацію, переконайтеся, що вона взагалі потрібна.</p><p>Вам не потрібна нормалізація, якщо ви не використовуєте політики авторизації або якщо ваші політики авторизації не використовують поля <code>path</code>.</p><p>Можливо, вам не потрібна нормалізація, якщо всі ваші політики авторизації відповідають <a href=/v1.24/uk/docs/ops/best-practices/security/#safer-authorization-policy-patterns>захищеному шаблону політики авторизації</a>, що у найгіршому випадку призводить до несподіваного відхилення замість обходу політики.</p><h4 id=case-2-you-need-normalization-but-not-sure-which-normalization-option-to-use>Випадок 2: Вам потрібна нормалізація, але ви не знаєте, яку опцію вибрати</h4><p>Якщо вам потрібна нормалізація, але ви не впевнені, яку опцію вибрати, найбезпечніший варіант — це найсуворіша опція нормалізації, яка забезпечує максимальний рівень нормалізації в політиці авторизації.</p><p>Це часто необхідно через складні багатошарові системи, де практично неможливо визначити, яка нормалізація насправді відбувається із запитом після точки примусового застосування.</p><p>Ви можете використовувати менш сувору опцію нормалізації, якщо вона вже задовольняє ваші вимоги, і ви впевнені в її наслідках.</p><p>Незалежно від вибору, переконайтеся, що ви написали як позитивні, так і негативні тести відповідно до ваших вимог, щоб перевірити, чи працює нормалізація як очікувалося. Ці тести корисні для виявлення можливих проблем обходу, викликаних неправильним розумінням або неповним знанням про нормалізацію, що відбувається із вашим запитом.</p><p>Зверніться до <a href=/v1.24/uk/docs/ops/best-practices/security/#customize-your-system-on-path-normalization>Налаштування системи щодо нормалізації шляху</a> для детальнішої інформації про налаштування опцій нормалізації.</p><h4 id=case-3-you-need-an-unsupported-normalization-option>Випадок 3: Вам потрібна непідтримувана опція нормалізації</h4><p>Якщо вам потрібна певна опція нормалізації, яка ще не підтримується Istio, зверніться до <a href=/v1.24/uk/docs/ops/best-practices/security/#mitigation-for-unsupported-normalization>Помʼякшення наслідків непідтримуваної нормалізації</a> для налаштування підтримки або створіть запит на додавання функції до спільноти Istio.</p><h3 id=customize-your-system-on-path-normalization>Налаштування системи щодо нормалізації шляху</h3><p>Політики авторизації Istio можуть базуватися на URL-шляху в HTTP-запитах.
|
||
<a href=https://en.wikipedia.org/wiki/URI_normalization>Нормалізація шляху (або URI-нормалізація)</a> модифікує та стандартизує шляхи вхідних запитів, щоб обробляти їх у стандартний спосіб. Синтаксично різні шляхи можуть бути еквівалентні після нормалізації.</p><p>Istio підтримує такі схеми нормалізації шляхів перед перевіркою запиту щодо політик авторизації та маршрутизацією запиту:</p><table><thead><tr><th>Опція</th><th>Опис</th><th>Приклад</th></tr></thead><tbody><tr><td><code>NONE</code></td><td>Нормалізація не проводиться. Все, що отримує Envoy, передається в бекенд-сервіс як є.</td><td><code>../%2Fa../b</code> оцінюється політиками авторизації і передається у ваш сервіс.</td></tr><tr><td><code>BASE</code></td><td>Це поточна опція, яка використовується в <em>типовій</em> установці Istio. Вона застосовує опцію <a href=https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-normalize-path><code>normalize_path</code></a> на проксі Envoy, яка відповідає <a href=https://tools.ietf.org/html/rfc3986>RFC 3986</a> з додатковою нормалізацією для перетворення зворотних слешів у косі риски.</td><td><code>/a/../b</code> нормалізується до <code>/b</code>. <code>\da</code> нормалізується до <code>/da</code>.</td></tr><tr><td><code>MERGE_SLASHES</code></td><td>Після <em>BASE</em> нормалізації, косі риски зʼєднуються.</td><td><code>/a//b</code> нормалізується до <code>/a/b</code>.</td></tr><tr><td><code>DECODE_AND_MERGE_SLASHES</code></td><td>Найсуворіше налаштування, яке рекомендується, якщо весь трафік стандартно дозволяється. Цей параметр рекомендується, але слід ретельно тестувати маршрути політик авторизації. <a href=https://tools.ietf.org/html/rfc3986#section-2.1>Процентно-кодовані</a> косі та зворотні слеші (<code>%2F</code>, <code>%2f</code>, <code>%5C</code> та <code>%5c</code>) декодуються до <code>/</code> або <code>\</code>, перед нормалізацією <code>MERGE_SLASHES</code>.</td><td><code>/a%2fb</code> нормалізується до <code>/a/b</code>.</td></tr></tbody></table><div><aside class="callout tip"><div class=type><svg class="large-icon"><use xlink:href="/v1.24/img/icons.svg#callout-tip"/></svg></div><div class=content>Налаштування визначається через поле <a href=/v1.24/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig-ProxyPathNormalization><code>pathNormalization</code></a> у <a href=/v1.24/docs/reference/config/istio.mesh.v1alpha1/>mesh config</a>.</div></aside></div><p>Алгоритми нормалізації виконуються в такому порядку:</p><ol><li>Декодування символів <code>%2F</code>, <code>%2f</code>, <code>%5C</code> та <code>%5c</code>.</li><li>Нормалізація за <a href=https://tools.ietf.org/html/rfc3986>RFC 3986</a> та іншими нормалізаціями, реалізованими через опцію <a href=https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-field-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager-normalize-path><code>normalize_path</code></a> на Envoy.</li><li>Зʼєднання косих рисок</li></ol><div><aside class="callout warning"><div class=type><svg class="large-icon"><use xlink:href="/v1.24/img/icons.svg#callout-warning"/></svg></div><div class=content>Хоча ці опції нормалізації представляють рекомендації згідно з HTTP-стандартами та загальноприйнятими практиками, застосунки можуть інтерпретувати URL на свій розсуд. Використовуючи політики відхилення, переконайтеся, що ви розумієте, як поводиться ваш застосунок.</div></aside></div><p>Для повного списку підтримуваних нормалізацій зверніться до <a href=/v1.24/docs/reference/config/security/normalization/>нормалізації політик авторизації</a>.</p><h4 id=examples-of-configuration>Приклади конфігурації</h4><p>Забезпечення того, що Envoy нормалізує шляхи запитів відповідно до очікувань ваших бекенд-сервісів, є критичним для безпеки вашої системи.
|
||
Наступні приклади можна використовувати як довідник для налаштування вашої системи. Нормалізовані URL-шляхи або оригінальні URL-шляхи (якщо вибрано <em>NONE</em>) будуть:</p><ol><li>Використовуватися для перевірки політик авторизації</li><li>Пересилатися до бекенд-застосунку</li></ol><table><thead><tr><th>Ваш застосунок…</th><th>Оберіть…</th></tr></thead><tbody><tr><td>Покладається на проксі для нормалізації</td><td><code>BASE</code>, <code>MERGE_SLASHES</code> або <code>DECODE_AND_MERGE_SLASHES</code></td></tr><tr><td>Нормалізує шляхи запитів згідно з <a href=https://tools.ietf.org/html/rfc3986>RFC 3986</a> і не зʼєднує косі риски</td><td><code>BASE</code></td></tr><tr><td>Нормалізує шляхи запитів згідно з <a href=https://tools.ietf.org/html/rfc3986>RFC 3986</a>, зʼєднує косі риски, але не декодує <a href=https://tools.ietf.org/html/rfc3986#section-2.1>процентно-кодовані</a> косі риски</td><td><code>MERGE_SLASHES</code></td></tr><tr><td>Нормалізує шляхи запитів згідно з <a href=https://tools.ietf.org/html/rfc3986>RFC 3986</a>, декодує <a href=https://tools.ietf.org/html/rfc3986#section-2.1>процентно-кодовані</a> косі риски і зʼєднує косі риски</td><td><code>DECODE_AND_MERGE_SLASHES</code></td></tr><tr><td>Обробляє шляхи запитів у спосіб, несумісний з <a href=https://tools.ietf.org/html/rfc3986>RFC 3986</a></td><td><code>NONE</code></td></tr></tbody></table><h4 id=how-to-configure>Як налаштувати</h4><p>Ви можете використовувати <code>istioctl</code> для оновлення <a href=/v1.24/docs/reference/config/istio.mesh.v1alpha1/>конфігурації mesh</a>:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ istioctl upgrade --set meshConfig.pathNormalization.normalization=DECODE_AND_MERGE_SLASHES</code></pre><p>або шляхом зміни файлу перевизначень оператора:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ cat <<EOF > iop.yaml
|
||
apiVersion: install.istio.io/v1alpha1
|
||
kind: IstioOperator
|
||
spec:
|
||
meshConfig:
|
||
pathNormalization:
|
||
normalization: DECODE_AND_MERGE_SLASHES
|
||
EOF
|
||
$ istioctl install -f iop.yaml</code></pre><p>Альтернативно, якщо ви хочете безпосередньо редагувати конфігурацію mesh, ви можете додати <a href=/v1.24/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig-ProxyPathNormalization><code>pathNormalization</code></a> до <a href=/v1.24/docs/reference/config/istio.mesh.v1alpha1/>конфігурації mesh</a>, яка є config map <code>istio-<REVISION_ID></code> у просторі імен <code>istio-system</code>. Наприклад, якщо ви виберете опцію <code>DECODE_AND_MERGE_SLASHES</code>, ви зміните конфігурацію mesh таким чином:</p><pre><code class=language-yaml data-expandlinks=true data-repo=istio>apiVersion: v1
|
||
data:
|
||
mesh: |-
|
||
...
|
||
pathNormalization:
|
||
normalization: DECODE_AND_MERGE_SLASHES
|
||
...</code></pre><h3 id=mitigation-for-unsupported-normalization>Помʼякшення наслідків непідтримуваної нормалізації</h3><p>Цей розділ описує різні способи помʼякшення наслідків для непідтримуваної нормалізації. Це може бути корисно, коли вам потрібна певна
|
||
нормалізація, яка не підтримується Istio.</p><p>Будь ласка, переконайтеся, що ви повністю розумієте помʼякшення і використовуєте їх обережно, оскільки деякі з них залежать від речей,
|
||
які виходять за межі Istio і також не підтримуються Istio.</p><h4 id=custom-normalization-logic>Логіка користувацької нормалізації</h4><p>Ви можете застосувати користувацьку логіку нормалізації, використовуючи фільтр WASM або Lua. Рекомендується використовувати фільтр WASM, оскільки він офіційно підтримується та використовується в Istio. Ви можете використовувати фільтр Lua для швидкої демонстрації концепції, але ми не рекомендуємо використовувати фільтр Lua в операційних середовищах, оскільки він не підтримується Istio.</p><h5 id=example-custom-normalization-case-normalization>Приклад користувацької нормалізації (нормалізація регістру)</h5><p>В деяких середовищах може бути корисно порівнювати шляхи в політиках авторизації без урахування регістру. Наприклад, трактуючи <code>https://myurl/get</code> і <code>https://myurl/GeT</code> як еквівалентні.</p><p>У таких випадках можна використовувати <code>EnvoyFilter</code>, показаний нижче, для вставки фільтра Lua для нормалізації шляху до нижнього регістру. Цей фільтр змінить як шлях, що використовується для порівняння, так і шлях, що передається застосунку.</p><pre><code class=language-yaml data-expandlinks=true data-repo=istio>apiVersion: networking.istio.io/v1alpha3
|
||
kind: EnvoyFilter
|
||
metadata:
|
||
name: ingress-case-insensitive
|
||
namespace: istio-system
|
||
spec:
|
||
configPatches:
|
||
- applyTo: HTTP_FILTER
|
||
match:
|
||
context: GATEWAY
|
||
listener:
|
||
filterChain:
|
||
filter:
|
||
name: "envoy.filters.network.http_connection_manager"
|
||
patch:
|
||
operation: INSERT_FIRST
|
||
value:
|
||
name: envoy.lua
|
||
typed_config:
|
||
"@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"
|
||
inlineCode: |
|
||
function envoy_on_request(request_handle)
|
||
local path = request_handle:headers():get(":path")
|
||
request_handle:headers():replace(":path", string.lower(path))
|
||
end</code></pre><h4 id=writing-host-match-policies>Написання політик відповідності хостів</h4><p>Istio генерує імена хостів як для самого хосту, так і для всіх відповідних портів. Наприклад, віртуальний сервіс або Gateway для хосту <code>example.com</code> генерує конфігурацію, що відповідає <code>example.com</code> і <code>example.com:*</code>. Проте, політики авторизації точного відповідності збігаються тільки з точною строкою, наданою для полів <code>hosts</code> або <code>notHosts</code>.</p><p><a href=/v1.24/docs/reference/config/security/authorization-policy/#Rule>Правила політики авторизації</a>, що збігаються з хостами, слід писати з використанням префіксного збігу, а не точного співпадіння. Наприклад, для <code>AuthorizationPolicy</code>, що відповідає конфігурації Envoy, згенерованій для імені хоста <code>example.com</code>, слід використовувати <code>hosts: ["example.com", "example.com:*"]</code>, як показано у нижченаведеній <code>AuthorizationPolicy</code>.</p><pre><code class=language-yaml data-expandlinks=true data-repo=istio>apiVersion: security.istio.io/v1
|
||
kind: AuthorizationPolicy
|
||
metadata:
|
||
name: ingress-host
|
||
namespace: istio-system
|
||
spec:
|
||
selector:
|
||
matchLabels:
|
||
app: istio-ingressgateway
|
||
action: DENY
|
||
rules:
|
||
- to:
|
||
- operation:
|
||
hosts: ["example.com", "example.com:*"]</code></pre><p>Крім того, поля <code>hosts</code> та <code>notHosts</code> зазвичай повинні використовуватися тільки на gateway для зовнішнього трафіку, що входить в mesh, а не на sidecars для трафіку всередині mesh. Це тому, що sidecar на стороні сервера (де застосовується політика авторизації) не використовує заголовок <code>Host</code> при переспрямуванні запиту до застосунку. Це робить поля <code>host</code> і <code>notHost</code> безглуздими в sidecar, оскільки клієнт може звертатися до застосунку, використовуючи явну IP-адресу і довільний заголовок <code>Host</code>, замість імені сервісу.</p><p>Якщо вам дійсно потрібно впровадити контроль доступу на основі заголовка <code>Host</code> в sidecars з будь-якої причини, дотримуйтесь <a href=/v1.24/uk/docs/ops/best-practices/security/#use-default-deny-patterns>підходу стандартно заборонено</a>, який відхиляє запит, якщо клієнт використовує довільний заголовок <code>Host</code>.</p><h4 id=specialized-web-application-firewall-waf>Спеціалізований брандмауер вебзастосунків (WAF)</h4><p>Багато спеціалізованих продуктів Web Application Firewall (WAF) пропонують додаткові параметри нормалізації. Вони можуть бути розгорнуті перед вхідним шлюзом Istio для нормалізації запитів, що входять в mesh. Політика авторизації буде потім застосовуватися до нормалізованих запитів. Будь ласка, зверніться до конкретного продукту WAF для налаштування параметрів нормалізації.</p><h4 id=feature-request-to-istio>Запит нової функції для Istio</h4><p>Якщо ви вважаєте, що Istio повинен офіційно підтримувати певну нормалізацію, ви можете дотримуватися інструкцій на сторінці <a href=/v1.24/uk/docs/releases/security-vulnerabilities/#reporting-a-vulnerability>повідомлення про уразливість</a>, щоб надіслати запит на функції щодо певної нормалізації до робочої групи з безпеки продукту Istio для початкової оцінки.</p><p>Будь ласка, не відкривайте жодних питань публічно, не звернувшись спочатку до робочої групи з безпеки продукту Istio, оскільки питання може бути розцінено як уразливість, що потребує вирішення в приватному порядку.</p><p>Якщо робоча група з безпеки продукту Istio оцінить запит функції як такий, що не є уразливістю, питання буде відкрито публічно для подальшого обговорення запиту функції.</p><h3 id=known-limitations>Відомі обмеження</h3><p>У цьому розділі наведені відомі обмеження політики авторизації.</p><h4 id=server-first-tcp-protocols-are-not-supported>TCP протоколи server-first не підтримуються</h4><p>Протоколи TCP server-first означають, що серверний застосунок надішле перші байти відразу після прийняття TCP-зʼєднання до отримання будь-яких даних від клієнта.</p><p>На даний момент політика авторизації підтримує тільки застосування контролю доступу на вхідний трафік, а не на вихідний.</p><p>Вона також не підтримує протоколи TCP server-first, оскільки перші байти надсилаються серверним застосунком навіть до того, як він отримає будь-які дані від клієнта. У такому випадку початкові перші байти, надіслані сервером, повертаються клієнту без проходження перевірки контролю доступу політики авторизації.</p><p>Вам не слід використовувати політику авторизації, якщо перші байти, надіслані протоколами TCP server-first, містять будь-які конфіденційні
|
||
дані, які потрібно захистити за допомогою належної авторизації.</p><p>Ви все ще можете використовувати політику авторизації в цьому випадку, якщо перші байти не містять конфіденційних даних, наприклад, перші байти використовуються для узгодження зʼєднання з даними, які є публічно доступними для будь-яких клієнтів. Політика авторизації працюватиме, як зазвичай, для наступних запитів, надісланих клієнтом після перших байтів.</p><h2 id=understand-traffic-capture-limitations>Розуміння обмежень захоплення трафіку</h2><p>Sidecar Istio працює, захоплюючи як вхідний, так і вихідний трафік і перенаправляючи його через проксі sidecar.</p><p>Однак не <em>весь</em> трафік захоплюється:</p><ul><li>Перенаправлення працює тільки з TCP-трафіком. Будь-які UDP або ICMP пакети не будуть захоплюватися чи модифікуватися.</li><li>Захоплення вхідного трафіку вимкнене для багатьох <a href=/v1.24/uk/docs/ops/deployment/application-requirements/#ports-used-by-istio>портів, які використовує sidecar</a>, а також для порту 22. Цей список може бути розширений за допомогою таких опцій, як <code>traffic.sidecar.istio.io/excludeInboundPorts</code>.</li><li>Захоплення вихідного трафіку може бути зменшено через налаштування, такі як <code>traffic.sidecar.istio.io/excludeOutboundPorts</code> або інші засоби.</li></ul><p>Загалом, між застосунком і його sidecar проксі існує мінімальна межа безпеки. Налаштування sidecar дозволене на основі кожного podʼа, і обидва працюють в одному мережевому/процесному просторі імен. Таким чином, застосунок може мати можливість видалити правила перенаправлення і видалити, змінити, завершити або замінити проксі sidecar. Це дозволяє podʼу навмисно обійти свій sidecar для вихідного трафіку або навмисно дозволити вхідному трафіку обійти свій sidecar.</p><p>В результаті, не можна покладатися на те, що весь трафік буде безумовно захоплений Istio. Замість цього, межа безпеки полягає в тому, що клієнт не може обійти <em>інший</em> pod sidecar.</p><p>Наприклад, якщо я запускаю застосунок <code>reviews</code> на порту <code>9080</code>, я можу припустити, що весь трафік від застосунку <code>productpage</code> буде захоплений sidecar проксі, де можуть застосовуватися політики автентифікації та авторизації Istio.</p><h3 id=defense-in-depth-with-networkpolicy>Багаторівневий захист за допомогою <code>NetworkPolicy</code></h3><p>Для подальшого захисту трафіку, політики Istio можуть бути поєднані з Kubernetes <a href=https://kubernetes.io/docs/concepts/services-networking/network-policies/>Network Policies</a>. Це забезпечує потужну стратегію <a href=https://en.wikipedia.org/wiki/Defense_in_depth_%28computing%29>багаторівневого захисту</a>, яка може бути використана для посилення безпеки вашої mesh-мережі.</p><p>Наприклад, ви можете дозволити трафік тільки на порт <code>9080</code> для нашого застосунку <code>reviews</code>. У разі компрометації podʼа або вразливості безпеки у кластері, це може обмежити або зупинити просування нападника.</p><p>Залежно від фактичної реалізації, зміни до мережевої політики можуть не вплинути на існуючі зʼєднання в проксі Istio. Можливо, вам доведеться перезапустити проксі Istio після застосування політики, щоб закрити існуючі зʼєднання та підпорядкувати нові зʼєднання новій політиці.</p><h3 id=securing-egress-traffic>Захист вихідного трафіку</h3><p>Поширеною помилкою є думка, що такі опції, як <a href=/v1.24/uk/docs/tasks/traffic-management/egress/egress-control/#envoy-passthrough-to-external-services><code>outboundTrafficPolicy: REGISTRY_ONLY</code></a>, діють як політика безпеки, що запобігає доступу до незадекларованих сервісів. Однак, як зазначалося вище, це не є потужним бар’єром безпеки і повинно вважатися лише намаганнями.</p><p>Хоча це корисно для запобігання випадковим залежностям, якщо ви хочете захистити вихідний трафік і забезпечити проходження всього вихідного трафіку через проксі, вам слід покладатися на <a href=/v1.24/uk/docs/tasks/traffic-management/egress/egress-gateway/>Egress Gateway</a>. У поєднанні з <a href=/v1.24/uk/docs/tasks/traffic-management/egress/egress-gateway/#apply-kubernetes-network-policies>Network Policy</a> ви можете забезпечити проходження всього трафіку, або його підмножини, через egress gateway. Це гарантує, що навіть якщо клієнт випадково або зловмисно обходить свій sidecar, запит буде заблоковано.</p><h2 id=configure-tls-verification-in-destination-rule-when-using-tls-origination>Налаштування перевірки TLS у Destination Rule при використанні TLS origination</h2><p>Istio надає можливість <a href=/v1.24/uk/docs/tasks/traffic-management/egress/egress-tls-origination/>ініціювати TLS</a> через проксі sidecar або gateway. Це дозволяє застосункам, що надсилають трафік HTTP у відкритому вигляді, прозоро “оновлюватися” до HTTPS.</p><p>Слід бути обережними при налаштуванні параметра <code>tls</code> у <code>DestinationRule</code>, щоб вказати поля <code>caCertificates</code>, <code>subjectAltNames</code> і <code>sni</code>. Змінну середовища <code>VERIFY_CERTIFICATE_AT_CLIENT=true</code> на Istiod можна ввімкнути, щоб автоматично встановити <code>caCertificate</code> із сертифікатів системного сховища. Якщо автоматично використовується сертифікат CA операційної системи і він потрібен лише для певних хостів, встановіть змінну середовища <code>VERIFY_CERTIFICATE_AT_CLIENT=false</code> на Istiod, і можна вказати значення <code>system</code> у полі <code>caCertificates</code> в необхідних <code>DestinationRule</code>. Вказання <code>caCertificates</code> у <code>DestinationRule</code> матиме пріоритет, і сертифікат CA ОС не використовуватиметься. Стандартно вихідний трафік не надсилає SNI під час TLS handshake. SNI необхідно вказати у <code>DestinationRule</code>, щоб переконатися, що хост коректно обробить запит.</p><div><aside class="callout warning"><div class=type><svg class="large-icon"><use xlink:href="/v1.24/img/icons.svg#callout-warning"/></svg></div><div class=content><p>Щоб перевірити сертифікат сервера, важливо встановити як <code>caCertificates</code>, так і <code>subjectAltNames</code>.</p><p>Перевірка сертифіката, наданого сервером, у CA є недостатньою, оскільки також потрібно перевірити альтернативні імена суб’єктів.</p><p>Якщо змінна <code>VERIFY_CERTIFICATE_AT_CLIENT</code> встановлена, але поле <code>subjectAltNames</code> не вказане, то ви не перевіряєте всі облікові дані.</p><p>Якщо сертифікат CA не використовується, то поле <code>subjectAltNames</code> не матиме значення, незалежно від того, чи воно встановлене.</p></div></aside></div><p>Наприклад:</p><pre><code class=language-yaml data-expandlinks=true data-repo=istio>apiVersion: networking.istio.io/v1
|
||
kind: DestinationRule
|
||
metadata:
|
||
name: google-tls
|
||
spec:
|
||
host: google.com
|
||
trafficPolicy:
|
||
tls:
|
||
mode: SIMPLE
|
||
caCertificates: /etc/ssl/certs/ca-certificates.crt
|
||
subjectAltNames:
|
||
- "google.com"
|
||
sni: "google.com"</code></pre><h2 id=gateways>Gateways</h2><p>При запуску Istio <a href=/v1.24/uk/docs/tasks/traffic-management/ingress/>gateway</a>, залучено кілька ресурсів:</p><ul><li><code>Gateway</code>, що контролюють порти і налаштування TLS для шлюзу.</li><li><code>VirtualService</code>, які керують логікою маршрутизації. Вони асоціюються зі <code>Gateway</code> через пряме посилання в полі <code>gateways</code> та узгодження полів <code>hosts</code> у <code>Gateway</code> та <code>VirtualService</code>.</li></ul><h3 id=restrict-gateway-creation-priveleges>Обмеження прав на створення <code>Gateway</code></h3><p>Рекомендується обмежити створення ресурсів Gateway лише для довірених адміністраторів кластера. Цього можна досягти за допомогою політик <a href=https://kubernetes.io/docs/reference/access-authn-authz/rbac/>Kubernetes RBAC</a> або таких інструментів, як <a href=https://www.openpolicyagent.org/>Open Policy Agent</a>.</p><h3 id=avoid-overly-broad-hosts-configurations>Уникайте занадто загальних конфігурацій <code>hosts</code></h3><p>Коли можливо, уникайте занадто загальних налаштувань <code>hosts</code> у <code>Gateway</code>.</p><p>Наприклад, така конфігурація дозволить будь-якому <code>VirtualService</code> приєднатися до <code>Gateway</code>, що може відкрити неочікувані домени:</p><pre><code class=language-yaml data-expandlinks=true data-repo=istio>servers:
|
||
- port:
|
||
number: 80
|
||
name: http
|
||
protocol: HTTP
|
||
hosts:
|
||
- "*"</code></pre><p>Це слід обмежити, дозволивши лише певні домени або конкретні простори імен:</p><pre><code class=language-yaml data-expandlinks=true data-repo=istio>servers:
|
||
- port:
|
||
number: 80
|
||
name: http
|
||
protocol: HTTP
|
||
hosts:
|
||
- "foo.example.com" # Дозволити лише VirtualServices для foo.example.com
|
||
- "default/bar.example.com" # Дозволити лише VirtualServices у просторі імен default для bar.example.com
|
||
- "route-namespace/*" # Дозволити лише VirtualServices у просторі імен route-namespace для будь-якого хоста</code></pre><h3 id=isolate-sensitive-services>Ізолюйте чутливі сервіси</h3><p>Можливо, ви захочете забезпечити суворішу фізичну ізоляцію для чутливих сервісів. Наприклад, ви можете запустити <a href=/v1.24/uk/docs/setup/install/istioctl/#configure-gateways>виділений екземпляр шлюзу</a> для чутливого <code>payments.example.com</code>, одночасно використовуючи один спільний екземпляр шлюзу для менш чутливих доменів, таких як <code>blog.example.com</code> та <code>store.example.com</code>. Це може забезпечити сильніший глибокий захист і допомогти виконати певні регуляторні вимоги.</p><h3 id=explicitly-disable-all-the-sensitive-http-host-under-relaxed-sni-host-matching>Явно вимкніть усі чутливі http-хости при послабленому зіставленні SNI-хостів</h3><p>Виправдано використовувати кілька <code>Gateway</code> для визначення взаємного TLS і простого TLS на різних хостах. Наприклад, використовувати взаємний TLS для SNI хоста <code>admin.example.com</code> і простий TLS для SNI хоста <code>*.example.com</code>.</p><pre><code class=language-yaml data-expandlinks=true data-repo=istio>kind: Gateway
|
||
metadata:
|
||
name: guestgateway
|
||
spec:
|
||
selector:
|
||
istio: ingressgateway
|
||
servers:
|
||
- port:
|
||
number: 443
|
||
name: https
|
||
protocol: HTTPS
|
||
hosts:
|
||
- "*.example.com"
|
||
tls:
|
||
mode: SIMPLE
|
||
---
|
||
kind: Gateway
|
||
metadata:
|
||
name: admingateway
|
||
spec:
|
||
selector:
|
||
istio: ingressgateway
|
||
servers:
|
||
- port:
|
||
number: 443
|
||
name: https
|
||
protocol: HTTPS
|
||
hosts:
|
||
- admin.example.com
|
||
tls:
|
||
mode: MUTUAL</code></pre><p>Якщо це необхідно, наполегливо рекомендується явно відключити HTTP хост <code>admin.example.com</code> у <code>VirtualService</code>, який привʼязується до <code>*.example.com</code>. Причина полягає в тому, що на даний момент <a href=https://github.com/envoyproxy/envoy/issues/6767>проксі Envoy не вимагає</a> дотримання заголовків HTTP 1 <code>Host</code> або HTTP 2 псевдо-заголовків <code>:authority</code>, що слідують за обмеженнями SNI. Це означає, що зловмисник може використовувати TLS-зʼєднання з guest-SNI для доступу до адміністрування <code>VirtualService</code>. Код відповіді HTTP 421 призначений для такої невідповідності SNI хостів і може використовуватися для виконання відключення.</p><pre><code class=language-yaml data-expandlinks=true data-repo=istio>apiVersion: networking.istio.io/v1
|
||
kind: VirtualService
|
||
metadata:
|
||
name: disable-sensitive
|
||
spec:
|
||
hosts:
|
||
- "admin.example.com"
|
||
gateways:
|
||
- guestgateway
|
||
http:
|
||
- match:
|
||
- uri:
|
||
prefix: /
|
||
fault:
|
||
abort:
|
||
percentage:
|
||
value: 100
|
||
httpStatus: 421
|
||
route:
|
||
- destination:
|
||
port:
|
||
number: 8000
|
||
host: dest.default.cluster.local</code></pre><h2 id=protocol-detection>Виявлення протоколу</h2><p>Istio <a href=/v1.24/uk/docs/ops/configuration/traffic-management/protocol-selection/#automatic-protocol-selection>автоматично визначає протокол</a> трафіку, який він обробляє. Щоб уникнути випадкових або навмисних помилок в розпізнаванні, що може призвести до несподіваної поведінки трафіку, рекомендується <a href=/v1.24/uk/docs/ops/configuration/traffic-management/protocol-selection/#explicit-protocol-selection>явно вказувати протокол</a>, де це можливо.</p><h2 id=cni>CNI</h2><p>Щоб прозоро перехоплювати весь трафік, Istio покладається на правила <code>iptables</code>, налаштовані через <code>initContainer</code> з назвою <code>istio-init</code>. Це додає <a href=/v1.24/uk/docs/ops/deployment/application-requirements/>вимогу</a> для надання контейнеру <a href=https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-capabilities-for-a-container>можливостей</a> <code>NET_ADMIN</code> і <code>NET_RAW</code>.</p><p>Щоб зменшити привілеї, надані podʼам, Istio пропонує <a href=/v1.24/uk/docs/setup/additional-setup/cni/>CNI втулок</a>, який знімає цю вимогу.</p><h2 id=use-hardened-docker-images>Використання захищених Docker образів</h2><p>Стандартні Docker образи Istio, включаючи ті, що запускаються панеллю управління, шлюзами і sidecar-проксі, базуються на <code>ubuntu</code>. Це надає різні інструменти, такі як <code>bash</code> і <code>curl</code>, що додає зручність, але збільшує потенційну поверхню для атак.</p><p>Istio також пропонує менш громіздкий образ на основі <a href=/v1.24/uk/docs/ops/configuration/security/harden-docker-images/>образів distroless</a>, що зменшує кількість залежностей в образі.</p><div><aside class="callout warning"><div class=type><svg class="large-icon"><use xlink:href="/v1.24/img/icons.svg#callout-warning"/></svg></div><div class=content>Образи Distroless наразі є альфа-функцією.</div></aside></div><h2 id=release-and-security-policy>Політика випуску та безпеки</h2><p>Щоб гарантувати, що ваш кластер має останні патчі безпеки для відомих вразливостей, важливо використовувати останні випуски патчів Istio та забезпечити, що ви використовуєте <a href=/v1.24/uk/docs/releases/supported-releases/>підтримуваний реліз</a>, який отримує оновлення безпеки.</p><h2 id=detect-invalid-configurations>Виявлення хибних конфігурацій</h2><p>Хоча Istio перевіряє ресурси при їх створенні, ці перевірки не можуть виявити всі проблеми, що перешкоджають розповсюдженню конфігурації в мережі. Це може призвести до застосування політики, яку буде проігноровано, викликаючи несподівані результати.</p><ul><li>Запустіть <code>istioctl analyze</code> до або після застосування конфігурації, щоб переконатися у її коректності.</li><li>Моніторте панель управління для виявлення відхилених конфігурацій. Вони показуються через метрику <code>pilot_total_xds_rejects</code>, а також у журналах.</li><li>Тестуйте свою конфігурацію, щоб переконатися, що вона дає очікувані результати. Для політики безпеки корисно проводити позитивні та негативні тести, щоб переконатися, що ви випадково не обмежуєте занадто багато або занадто мало трафіку.</li></ul><h2 id=avoid-alpha-and-experimental-features>Уникайте альфа та експериментальних функцій</h2><p>Усі функції та API Istio мають <a href=/v1.24/uk/docs/releases/feature-stages/>статус</a>, який визначає їхню стабільність, політику видалення та політику безпеки.</p><p>Оскільки альфа та експериментальні функції не мають таких сильних гарантій безпеки, рекомендується уникати їх використання, якщо це можливо. Проблеми безпеки, виявлені в цих функціях, можуть не бути виправлені негайно або можуть не підпадати під стандартний процес <a href=/v1.24/uk/docs/releases/security-vulnerabilities/>виявлення вразливостей</a>.</p><p>Щоб дізнатися статус функцій, які використовуються у вашому кластері, зверніться до списку <a href=/v1.24/uk/docs/releases/feature-stages/#istio-features>функцій Istio</a>.</p><h2 id=lock-down-ports>Закриття портів</h2><p>Istio налаштовує <a href=/v1.24/uk/docs/ops/deployment/application-requirements/#ports-used-by-istio>різноманітні порти</a>, які можна закрити для підвищення безпеки.</p><h3 id=control-plane>Панель управління</h3><p>Istiod стандартно відкриває кілька неавтентифікованих портів відкритим текстом для зручності. Якщо це необхідно, їх можна закрити:</p><ul><li>Порт <code>8080</code> відкриває інтерфейс налагодження, який надає доступ для читання до різних деталей стану кластера. Його можна відключити, встановивши змінну середовища <code>ENABLE_DEBUG_ON_HTTP=false</code> для Istiod. Попередження: багато команд <code>istioctl</code> залежать від цього інтерфейсу та не будуть працювати, якщо його вимкнено.</li><li>Порт <code>15010</code> відкриває службу XDS у відкритому тексті. Його можна відключити, додавши прапорець <code>--grpcAddr=""</code> до розгортання Istiod. Примітка: дуже чутливі сервіси, такі як сервіси підпису та розповсюдження сертифікатів, ніколи не обслуговуються у відкритому тексті.</li></ul><h3 id=data-plane>Панель даних</h3><p>Проксі відкриває різні порти. Зовні доступні порти <code>15090</code> (телеметрія) та <code>15021</code> (перевірка стану). Порти <code>15020</code> і <code>15000</code> надають точки налагодження. Вони відкриті лише через <code>localhost</code>. Як результат, застосунки, які працюють в тому ж podʼі, що й проксі, мають до них доступ; немає межі довіри між sidecar-проксі та застосунком.</p><h2 id=configure-third-party-service-account-tokens>Налаштування токенів сторонніх службових облікових записів</h2><p>Для автентифікації з панеллю управління Istio проксі Istio використовуватиме токен службового облікового запису. Kubernetes підтримує дві форми цих токенів:</p><ul><li>Токени третіх сторін, які мають обмежену аудиторію та термін дії.</li><li>Токени першої сторони, які не мають терміну придатності та встановлюються в усі podʼи.</li></ul><p>Оскільки властивості токена прошої сторони є менш захищеними, стандартно Istio використовуватиме токени сторонніх сервісів. Однак ця функція не ввімкнена на всіх платформах Kubernetes.</p><p>Якщо ви використовуєте <code>istioctl</code> для інсталяції, підтримка буде автоматично виявлена. Це також можна зробити вручну, налаштувавши параметр <code>--set values.global.jwtPolicy=third-party-jwt</code> або <code>--set values.global.jwtPolicy=first-party-jwt</code>.</p><p>Щоб визначити, чи підтримує ваш кластер токени сторонніх сервісів, перевірте наявність API <code>TokenRequest</code>. Якщо немає відповіді, то ця функція не підтримується:</p><pre><code class=language-bash data-expandlinks=true data-repo=istio>$ kubectl get --raw /api/v1 | jq '.resources[] | select(.name | index("serviceaccounts/token"))'
|
||
{
|
||
"name": "serviceaccounts/token",
|
||
"singularName": "",
|
||
"namespaced": true,
|
||
"group": "authentication.k8s.io",
|
||
"version": "v1",
|
||
"kind": "TokenRequest",
|
||
"verbs": [
|
||
"create"
|
||
]
|
||
}</code></pre><p>Більшість хмарних провайдерів вже підтримують цю функцію, однак багато інструментів локальної розробки та власних інсталяцій можуть не підтримувати її до Kubernetes 1.20. Щоб увімкнути цю функцію, зверніться до <a href=https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#service-account-token-volume-projection>документації Kubernetes</a>.</p><h2 id=configure-a-limit-on-downstream-connections>Налаштування обмежень на кількість downstream-з’єднань</h2><p>Стандартно Istio (і Envoy) не обмежує кількість низхідних зʼєднань. Це може бути використано зловмисником (див. <a href=/v1.24/news/security/istio-security-2020-007/>бюлетень безпеки 2020-007</a>). Щоб вирішити цю проблему, необхідно налаштувати відповідне обмеження зʼєднань для вашого середовища.</p><h3 id=configure-global_downstream_max_connections-value>Налаштуйте значення <code>global_downstream_max_connections</code></h3><p>Наступну конфігурацію можна вказати під час встановлення:</p><pre><code class=language-yaml data-expandlinks=true data-repo=istio>meshConfig:
|
||
defaultConfig:
|
||
runtimeValues:
|
||
"overload.global_downstream_max_connections": "100000"</code></pre></article><nav class=pagenav><div class=left><a title="Поради з конфігурації для уникнення проблем з мережею чи управлінням трафіком." href=/v1.24/uk/docs/ops/best-practices/traffic-management/ class=next-link><svg class="icon left-arrow"><use xlink:href="/v1.24/img/icons.svg#left-arrow"/></svg>Поради з управління трафіком</a></div><div class=right><a title="Описує, як використовувати підписи образів для перевірки походження образів Istio." href=/v1.24/uk/docs/ops/best-practices/image-signing-validation/ class=next-link>Підписування та валідація образів<svg class="icon right-arrow"><use xlink:href="/v1.24/img/icons.svg#right-arrow"/></svg></a></div></nav><div id=feedback><div id=feedback-initial>Чи була ця інформація корисною?<br><button class="btn feedback" onclick='sendFeedback("uk",1)'>Так</button>
|
||
<button class="btn feedback" onclick='sendFeedback("uk",0)'>Ні</button></div><div id=feedback-comment>Чи є у вас пропозиції щодо покращення?<br><br><input id=feedback-textbox type=text placeholder='Допоможіть нам покращити...' data-lang=uk></div><div id=feedback-thankyou>Дякуємо за ваш відгук!</div></div><div id=endnotes-container aria-hidden=true><h2>Посилання</h2><ol id=endnotes></ol></div></div></main><footer class=footer><div class="footer-wrapper container-l"><div class="user-links footer-links"><a class=channel title='GitHub - це місце, де відбувається розробка коду Istio' href=https://github.com/istio/community aria-label=GitHub><svg class="icon github"><use xlink:href="/v1.24/img/icons.svg#github"/></svg>
|
||
</a><a class=channel title='Якщо ви хочете ознайомитися з технічною проєктною документацією Istio, перейдіть до диска нашої команди' href=https://groups.google.com/forum/#!forum/istio-team-drive-access aria-label="team drive"><svg class="icon drive"><use xlink:href="/v1.24/img/icons.svg#drive"/></svg>
|
||
</a><a class=channel title='Обговорюйте проблеми в інтерактивному режимі зі спільнотою Istio у Slack' href=https://slack.istio.io aria-label=slack><svg class="icon slack"><use xlink:href="/v1.24/img/icons.svg#slack"/></svg>
|
||
</a><a class=channel title='Stack Overflow — це місце, де ви можете поставити питання та знайти відповіді на них щодо розгортання, налаштування та використання Istio' href=https://stackoverflow.com/questions/tagged/istio aria-label="Stack Overflow"><svg class="icon stackoverflow"><use xlink:href="/v1.24/img/icons.svg#stackoverflow"/></svg>
|
||
</a><a class=channel title='Follow us on LinkedIn to get the latest news' href=https://www.linkedin.com/company/istio/ aria-label=LinkedIn><svg class="icon linkedin"><use xlink:href="/v1.24/img/icons.svg#linkedin"/></svg>
|
||
</a><a class=channel title='Стежте за нами у Твіттері, щоб бути в курсі останніх новин' href=https://twitter.com/IstioMesh aria-label=Twitter><svg class="icon twitter"><use xlink:href="/v1.24/img/icons.svg#twitter"/></svg>
|
||
</a><a class=channel title='Follow us on Bluesky to get the latest news' href=https://bsky.app/profile/istio.io aria-label=Bluesky><svg class="icon bluesky"><use xlink:href="/v1.24/img/icons.svg#bluesky"/></svg>
|
||
</a><a class=channel title='Follow us on Mastodon to get the latest news' href=https://mastodon.social/@istio aria-label=Mastodon rel=me><svg class="icon mastodon"><use xlink:href="/v1.24/img/icons.svg#mastodon"/></svg></a></div><hr class=footer-separator role=separator><div class="info footer-info"><a class=logo href=/v1.24/uk/ aria-label=logotype><svg width="128" height="60" viewBox="0 0 128 60"><path d="M58.434 48.823A.441.441.0 0158.3 48.497V22.583a.444.444.0 01.134-.326.446.446.0 01.327-.134h3.527a.447.447.0 01.325.134.447.447.0 01.134.326v25.914a.443.443.0 01-.134.326.444.444.0 01-.325.134h-3.527a.444.444.0 01-.327-.134z"/><path d="m70.969 48.477a6.556 6.556.0 01-2.818-1.955 4.338 4.338.0 01-1-2.78v-.345a.443.443.0 01.134-.326.444.444.0 01.326-.135h3.374a.444.444.0 01.326.135.445.445.0 01.134.326v.077a2.014 2.014.0 001.054 1.667 4.672 4.672.0 002.664.709 4.446 4.446.0 002.492-.633 1.862 1.862.0 00.958-1.591 1.426 1.426.0 00-.786-1.322 12.7 12.7.0 00-2.549-.939l-1.457-.46a21.526 21.526.0 01-3.3-1.227 6.57 6.57.0 01-2.262-1.783 4.435 4.435.0 01-.92-2.894 5.081 5.081.0 012.109-4.275 8.993 8.993.0 015.558-1.591 10.445 10.445.0 014.1.748 6.3 6.3.0 012.722 2.07 5 5 0 01.958 3.009.441.441.0 01-.134.326.441.441.0 01-.325.134h-3.258a.441.441.0 01-.326-.134.443.443.0 01-.134-.326 1.974 1.974.0 00-.978-1.667 4.647 4.647.0 00-2.665-.671 4.741 4.741.0 00-2.435.556 1.724 1.724.0 00-.938 1.553 1.512 1.512.0 00.9 1.4 15.875 15.875.0 003.01 1.055l.843.229a27.368 27.368.0 013.412 1.246 6.67 6.67.0 012.338 1.763 4.387 4.387.0 01.958 2.933 4.988 4.988.0 01-2.146 4.275 9.543 9.543.0 01-5.712 1.552 11.626 11.626.0 01-4.227-.709z"/><path d="m97.039 32.837a.443.443.0 01-.326.135h-3.911a.169.169.0 00-.191.192v9.239a2.951 2.951.0 00.632 2.108 2.7 2.7.0 002.013.652h1.15a.444.444.0 01.325.134.441.441.0 01.134.326v2.875a.471.471.0 01-.459.5l-1.994.039a8 8 0 01-4.524-1.035q-1.495-1.035-1.533-3.91V33.166A.17.17.0 0088.164 32.974H85.978A.441.441.0 0185.652 32.839.441.441.0 0185.518 32.513V29.83a.441.441.0 01.134-.326.444.444.0 01.326-.135h2.186a.169.169.0 00.191-.192v-4.485a.438.438.0 01.134-.326.44.44.0 01.325-.134h3.336a.443.443.0 01.325.134.442.442.0 01.135.326v4.485a.169.169.0 00.191.192h3.911a.446.446.0 01.326.135.446.446.0 01.134.326v2.683a.446.446.0 01-.133.324z"/><path d="m101.694 25.917a2.645 2.645.0 01-.767-1.955 2.65 2.65.0 01.767-1.955 2.65 2.65.0 011.955-.767 2.65 2.65.0 011.955.767 2.652 2.652.0 01.767 1.955 2.647 2.647.0 01-.767 1.955 2.646 2.646.0 01-1.955.767 2.645 2.645.0 01-1.955-.767zm-.211 22.906a.441.441.0 01-.134-.326V29.79a.444.444.0 01.134-.326.446.446.0 01.326-.134h3.527a.446.446.0 01.326.134.445.445.0 01.134.326v18.707a.443.443.0 01-.134.326.443.443.0 01-.326.134h-3.527a.443.443.0 01-.326-.134z"/><path d="m114.019 47.734a8.1 8.1.0 01-3.047-4.255 14.439 14.439.0 01-.652-4.37 14.3 14.3.0 01.614-4.371A7.869 7.869.0 01114 30.56a9.072 9.072.0 015.252-1.5 8.543 8.543.0 015.041 1.5 7.985 7.985.0 013.009 4.14 12.439 12.439.0 01.69 4.37 13.793 13.793.0 01-.651 4.37 8.255 8.255.0 01-3.028 4.275 8.475 8.475.0 01-5.1 1.553 8.754 8.754.0 01-5.194-1.534zm7.629-3.1a4.536 4.536.0 001.476-2.262 11.335 11.335.0 00.383-3.221 10.618 10.618.0 00-.383-3.22 4.169 4.169.0 00-1.457-2.243 4.066 4.066.0 00-2.531-.785 3.942 3.942.0 00-2.453.785 4.376 4.376.0 00-1.5 2.243 11.839 11.839.0 00-.383 3.22 11.84 11.84.0 00.383 3.221 4.222 4.222.0 001.476 2.262 4.075 4.075.0 002.549.8 3.8 3.8.0 002.44-.809z"/><path d="m15.105 32.057v15.565a.059.059.0 01-.049.059L.069 50.25A.06.06.0 01.005 50.167l14.987-33.47a.06.06.0 01.114.025z"/><path d="m17.631 23.087v24.6a.06.06.0 00.053.059l22.449 2.507a.06.06.0 00.061-.084L17.745.032a.06.06.0 00-.114.024z"/><path d="m39.961 52.548-24.833 7.45a.062.062.0 01-.043.0L.079 52.548a.059.059.0 01.026-.113h39.839a.06.06.0 01.017.113z"/></svg></a><div class=footer-languages><a tabindex=-1 lang=en id=switch-lang-en class=footer-languages-item>English
|
||
</a><a tabindex=-1 lang=zh id=switch-lang-zh class=footer-languages-item>中文
|
||
</a><a tabindex=-1 lang=uk id=switch-lang-uk class="footer-languages-item active"><svg class="icon tick"><use xlink:href="/v1.24/img/icons.svg#tick"/></svg>
|
||
Українська</a></div></div><ul class=footer-policies><li class=footer-policies-item><a class=footer-policies-link href=https://www.linuxfoundation.org/legal/terms>Умови та положення
|
||
</a>|
|
||
<a class=footer-policies-link href=https://www.linuxfoundation.org/legal/privacy-policy>Про конфіденційність
|
||
</a>|
|
||
<a class=footer-policies-link href=https://www.linuxfoundation.org/legal/trademark-usage>Торгові марки
|
||
</a>|
|
||
<a class=footer-policies-link href=https://github.com/istio/istio.io/edit/release-1.24/content/en/docs/ops/best-practices/security/index.md>Змінити цю сторінку на GitHub</a></li></ul><div class=footer-base><span class=footer-base-copyright>© 2024 the Istio Authors.</span>
|
||
<span class=footer-base-version>Версія
|
||
Архів
|
||
1.24.3</span><ul class=footer-base-releases><li class=footer-base-releases-item><a tabindex=-1 class=footer-base-releases-link onclick='return navigateToUrlOrRoot("https://istio.io/docs/ops/best-practices/security/"),!1'>поточний випуск</a></li><li class=footer-base-releases-item><a tabindex=-1 class=footer-base-releases-link onclick='return navigateToUrlOrRoot("https://preliminary.istio.io/docs/ops/best-practices/security/"),!1'>наступний випуск</a></li><li class=footer-base-releases-item><a tabindex=-1 class=footer-base-releases-link href=https://istio.io/archive>старі випуски</a></li></ul></div></div></footer><div id=scroll-to-top-container aria-hidden=true><button id=scroll-to-top title=Нагору tabindex=-1><svg class="icon top"><use xlink:href="/v1.24/img/icons.svg#top"/></svg></button></div></body></html> |