{"id":123003,"date":"2025-03-26T10:22:42","date_gmt":"2025-03-26T08:22:42","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/uyazvimosti-v-ingress-nginx-pozvolyayushhie-vypolnit-kod-i-zahvatit-upravlenie-klasterami-kubernetes"},"modified":"2025-03-26T10:22:42","modified_gmt":"2025-03-26T08:22:42","slug":"uyazvimosti-v-ingress-nginx-pozvolyayushhie-vypolnit-kod-i-zahvatit-upravlenie-klasterami-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/uyazvimosti-v-ingress-nginx-pozvolyayushhie-vypolnit-kod-i-zahvatit-upravlenie-klasterami-kubernetes","title":{"rendered":"Vulnerabilit\u0103\u021bi \u00een ingress-nginx, care permit executarea de cod \u0219i preluarea controlului asupra clusterelor Kubernetes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>\u00cen proiectul \u00een dezvoltare Kubernetes ingress-controller ingress-nginx au fost identificate patru vulnerabilit\u0103\u021bi care permit executarea de cod pe serverele sistemelor cloud care utilizeaz\u0103 platforma Kubernetes \u0219i ob\u021binerea unui acces complet privilegiat la clusterul Kubernetes. Aceste probleme au fost clasificate cu un nivel critic de pericol (9.8 din 10). Cercet\u0103torii care au descoperit problemele au atribuit vulnerabilit\u0103\u021bilor numele de cod IngressNightmare \u0219i au subliniat c\u0103 acestea afecteaz\u0103 aproximativ 43% din medii cloud. Vulnerabilit\u0103\u021bile au fost remediate \u00een versiunile ingress-nginx 1.11.5 \u0219i 1.12.1.    <\/p>\n<p>Ingress-controller-ul func\u021bioneaz\u0103 ca un gateway \u0219i este folosit \u00een Kubernetes pentru a organiza accesul din re\u021beaua extern\u0103 la serviciile din interiorul cluster-ului. Controller-ul ingress-nginx este cel mai popular \u0219i utilizeaz\u0103 <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/server\/\"   title=\"serverul\" data-wpil-keyword-link=\"linked\">serverul<\/a> NGINX pentru redirec\u021bionarea apelurilor c\u0103tre cluster, rutarea solicit\u0103rilor externe \u0219i realizarea echilibr\u0103rii \u00eenc\u0103rc\u0103turii. Proiectul Kubernetes ofer\u0103 controlere ingress de baz\u0103 pentru AWS, GCE \u0219i nginx, acesta din urm\u0103 nefiind legat de controller-ul kubernetes-ingress, \u00eentre\u021binerea c\u0103ruia este gestionat\u0103 de compania F5\/NGINX (vulnerabilit\u0103\u021bile men\u021bionate nu afecteaz\u0103 proiectele dezvoltate de dezvoltatorii NGINX, men\u021bionarea nginx \u00een numele ingress-nginx fiind legat\u0103 doar de utilizarea nginx ca proxy).     <\/p>\n<p>Vulnerabilit\u0103\u021bile permit unui atacator neautentificat s\u0103 execute codul s\u0103u \u00een contextul controller-ului ingress-nginx, av\u00e2nd posibilitatea de a trimite o solicitare c\u0103tre procesorul web Admission. \u00cen urma scan\u0103rii re\u021belei, au fost identificate peste 6500 de clustere Kubernetes vulnerabile care folosesc controlere vulnerabile publice cu procesorul Admission deschis pentru solicit\u0103ri externe.    <\/p>\n<p>\u00cen configura\u021bia implicit\u0103, codul lansat de atacatori poate accesa set\u0103rile obiectului Ingress, care, printre altele, con\u021bin \u0219i datele de autentificare pentru a accesa serverele Kubernetes, ceea ce permite ob\u021binerea accesului privilegiat la \u00eentregul cluster. Ca o m\u0103sur\u0103 de protec\u021bie, se recomand\u0103 dezactivarea func\u021biei \u201eValidating Admission Controller\u201d \u00een ingress-nginx.    <\/p>\n<p>Controller-ul Admission ruleaz\u0103 \u00eentr-un mediu pod separat \u0219i efectueaz\u0103 opera\u021biunea de verificare a obiectelor ingress care intr\u0103 \u00eenainte de desf\u0103\u0219urarea lor. \u00cen mod implicit, procesorul web Admission accept\u0103 solicit\u0103ri f\u0103r\u0103 autentificare din re\u021beaua public\u0103. La efectuarea verific\u0103rii, controller-ul Admission creeaz\u0103 o configura\u021bie pentru serverul http nginx pe baza con\u021binutului obiectului ingress primit \u0219i \u00eei verific\u0103 corectitudinea.    <\/p>\n<p>Vulnerabilit\u0103\u021bile identificate permit substituirea propriilor set\u0103ri \u00een nginx prin trimiterea unui obiect ingress special format direct c\u0103tre controlerul Admission. Cercet\u0103torii au descoperit c\u0103 anumite propriet\u0103\u021bi din cererile de validare, plasate \u00een c\u00e2mpul \u201e.request.object.annotations\u201d, sunt direct \u00eencorporate \u00een configura\u021bia nginx. \u00cen acest caz, configura\u021bia generat\u0103 nu este aplicat\u0103, ci doar testat\u0103 prin rularea fi\u0219ierului executabil \u201enginx\u201d cu op\u021biunea \u201e-t\u201d.      <\/p>\n<p>\u00cen special, substituirea datelor externe \u00een configura\u021bie se realizeaz\u0103 pentru parametrii \u201emirror-target\u201d, \u201emirror-host\u201d (CVE-2025-1098), \u201eauth-tls-match-cn\u201d (CVE-2025-1097) \u0219i \u201eauth-url\u201d (CVE-2025-24514). De exemplu, \u00een linia de configura\u021bie \u201eset $target {{ $externalAuth.URL }};\u201d, \u00een loc de \u201e{{ $externalAuth.URL }}\u201d este \u00eenlocuit cu URL-ul specificat \u00een parametrul \u201eauth-url\u201d. Cu toate acestea, corectitudinea URL-ului nu este verificat\u0103. Prin urmare, un atacator poate transmite ca URL o valoare de forma \u201ehttp:\/\/example.com\/#;\nset\u0103ri\u201d \u0219i poate substitui propriile set\u0103ri \u00een fi\u0219ierul de configura\u021bie.          <\/p>\n<p>Pentru a executa cod arbitrar \u00een timpul verific\u0103rii configura\u021biei cu comanda \u201enginx -t\u201d, cercet\u0103torii au profitat de faptul c\u0103, pe l\u00e2ng\u0103 verificarea sintaxei, nginx \u00eencarc\u0103 biblioteci cu module \u0219i deschide fi\u0219ierele men\u021bionate \u00een configura\u021bie pentru a evalua disponibilitatea acestora. Printre altele, \u00een timpul proces\u0103rii directivei ssl_engine are loc \u00eenc\u0103rcarea bibliotecii partajate specificate \u00een directiv\u0103. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/ssl-sertifikat\/\"   title=\"SSL\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2324\">SSL<\/a>-motor.    <\/p>\n<p>Pentru a \u00eenc\u0103rca biblioteca sa pe serverul Kubernetes, cercet\u0103torii au folosit (CVE-2025-1974) faptul c\u0103, \u00een timpul prelucr\u0103rii cererilor mari, nginx salveaz\u0103 corpul cererii \u00eentr-un fi\u0219ier temporar, care este imediat \u0219ters, dar \u00een sistemul de fi\u0219iere \u00ab\/proc\u00bb r\u0103m\u00e2ne un descriptor de fi\u0219ier deschis pentru acest fi\u0219ier. Astfel, este posibil s\u0103 se trimit\u0103 simultan cereri pentru salvarea fi\u0219ierului temporar \u0219i ini\u021bierea verific\u0103rii configura\u021biei, \u00een care \u00een directiva \u00abssl_engine\u00bb este specificat calea c\u0103tre descriptorul din sistemul de fi\u0219iere \u00ab\/proc\u00bb.     <\/p>\n<p>Pentru ca descriptorul de fi\u0219ier s\u0103 r\u0103m\u00e2n\u0103 accesibil o perioad\u0103 lung\u0103 de timp, valoarea \u00abContent-Length\u00bb din cerere poate fi specificat\u0103 ca fiind deliberat mai mare dec\u00e2t datele transmise efectiv (serverul va a\u0219tepta primirea datelor r\u0103mase). O complexitate suplimentar\u0103 este necesitatea de a ghici PID-ul procesului \u0219i num\u0103rul descriptorului de fi\u0219ier asociat cu biblioteca partajat\u0103 \u00eenc\u0103rcat\u0103, dar, deoarece \u00een container de obicei sunt folosite un num\u0103r minim de procese active, valorile necesare sunt ghicite prin \u00eencercare \u0219i eroare. \u00cen caz de succes \u0219i \u00eenc\u0103rcarea bibliotecii partajate furnizate, atacatorul poate ob\u021bine acces la parametrii stoca\u021bi \u00een interiorul mediului pod, suficien\u021bi pentru a controla \u00eentregul cluster.          <center>  <iframe title=\"Ingress NGINX\" src=\"https:\/\/player.vimeo.com\/video\/1068882440?h=99b4db6dd8\" width=\"640\" height=\"360\" frameborder=\"0\" allowfullscreen style =\"max-width: 100%;\" loading=\"lazy\"><\/iframe>  <\/center>            <\/p>\n<p>Pentru a verifica utilizarea ingress-nginx vulnerabil, se poate executa comanda: kubectl get pods \u2014all-namespaces \u2014selector app.kubernetes.io\/name=ingress-nginx<br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62946\">opennet.ro<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c Kubernetes ingress-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 ingress-nginx \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u044b \u0447\u0435\u0442\u044b\u0440\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Kubernetes, \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0443 Kubernetes. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c \u043f\u0440\u0438\u0441\u0432\u043e\u0435\u043d \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 (9.8 \u0438\u0437 10). \u0412\u044b\u044f\u0432\u0438\u0432\u0448\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u043b\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044f\u043c \u043a\u043e\u0434\u043e\u0432\u043e\u0435 \u0438\u043c\u044f IngressNightmare \u0438 \u043e\u0442\u043c\u0435\u0442\u0438\u043b\u0438, \u0447\u0442\u043e \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0437\u0430\u0442\u0440\u0430\u0433\u0438\u0432\u0430\u044e\u0442 \u043e\u043a\u043e\u043b\u043e 43% \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0439. \u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-123003","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c Kubernetes ingress-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 ingress-nginx \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u044b \u0447\u0435\u0442\u044b\u0440\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Kubernetes, \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/news\/uyazvimosti-v-ingress-nginx-pozvolyayushhie-vypolnit-kod-i-zahvatit-upravlenie-klasterami-kubernetes\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 ingress-nginx, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u043e\u0434 \u0438 \u0437\u0430\u0445\u0432\u0430\u0442\u0438\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c Kubernetes ingress-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 ingress-nginx \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u044b \u0447\u0435\u0442\u044b\u0440\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Kubernetes, \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/uyazvimosti-v-ingress-nginx-pozvolyayushhie-vypolnit-kod-i-zahvatit-upravlenie-klasterami-kubernetes\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-03-26T08:22:42+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-03-26T08:22:42+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Vulnerabilit\u0103\u021bi \u00een ingress-nginx care permit executarea codului \u0219i preluarea controlului asupra clusterelor Kubernetes | ProHoster","description":"\u00cen cadrul proiectului \u00een dezvoltare Kubernetes, ingress-controller-ul ingress-nginx a fost descoperit cu patru vulnerabilit\u0103\u021bi care permit executarea codului propriu pe serverele sistemelor cloud care utilizeaz\u0103 platforma Kubernetes \u0219i ob\u021binerea acestuia.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/uyazvimosti-v-ingress-nginx-pozvolyayushhie-vypolnit-kod-i-zahvatit-upravlenie-klasterami-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0423\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 ingress-nginx, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u043e\u0434 \u0438 \u0437\u0430\u0445\u0432\u0430\u0442\u0438\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430\u043c\u0438 Kubernetes | ProHoster","og:description":"\u0412 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u043c Kubernetes ingress-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 ingress-nginx \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u044b \u0447\u0435\u0442\u044b\u0440\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Kubernetes, \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/uyazvimosti-v-ingress-nginx-pozvolyayushhie-vypolnit-kod-i-zahvatit-upravlenie-klasterami-kubernetes","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-03-26T08:22:42+00:00","article:modified_time":"2025-03-26T08:22:42+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"123003","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-09 17:43:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 11:36:20","updated":"2026-02-09 17:43:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/123003","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=123003"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/123003\/revisions"}],"predecessor-version":[{"id":173087,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/123003\/revisions\/173087"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=123003"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=123003"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=123003"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}