{"id":91364,"date":"2020-08-12T07:42:33","date_gmt":"2020-08-12T05:42:33","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/izuchaem-otsutstvuyushhuyu-bezopasnost-tipichnyh-ustanovok-docker-i-kubernetes"},"modified":"2020-08-12T07:42:33","modified_gmt":"2020-08-12T05:42:33","slug":"izuchaem-otsutstvuyushhuyu-bezopasnost-tipichnyh-ustanovok-docker-i-kubernetes","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/izuchaem-otsutstvuyushhuyu-bezopasnost-tipichnyh-ustanovok-docker-i-kubernetes","title":{"rendered":"Esploriamo la (mancante) sicurezza delle tipiche installazioni di Docker e Kubernetes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Esploriamo la (mancante) sicurezza delle tipiche installazioni di Docker e Kubernetes\" src=\"\/wp-content\/uploads\/2020\/08\/805ed8f509210fcfc4d912092cc540d1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nLavoro nell'IT da oltre 20 anni, ma non mi ero mai occupato di container. In teoria capivo come erano fatti e come funzionavano. Ma dal momento che non avevo mai avuto esperienza pratica con loro, non ero sicuro di come effettivamente girassero i loro ingranaggi sotto il cofano. <\/p>\n<p><\/p>\n<p>Inoltre, non avevo idea di come fosse la loro sicurezza. Ma ancora una volta, la teoria suonava bene, e la vecchia storia \"con l'aumento della sicurezza diminuisce la comodit\u00e0 d'uso\" mi girava in testa. Cos\u00ec ho pensato che, dato che era cos\u00ec facile lavorare con i container, la sicurezza fosse molto bassa. Come si \u00e8 rivelato, avevo ragione.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Per un avvio rapido mi sono iscritto a un corso <noindex><a rel=\"nofollow\" href=\"https:\/\/www.neowin.net\/news\/tags\/blackhat\">Black Hat<\/a><\/noindex> 2020 intitolato \"<noindex><a rel=\"nofollow\" href=\"https:\/\/www.blackhat.com\/us-20\/training\/schedule\/listing.html#from-zero-to-hero---pentesting-and-securing-docker-swarm--kubernetes-environments-19045\">Dalla miseria alla ricchezza: penetrazione e protezione degli ambienti Docker Swarm e Kubernetes<\/a><\/noindex>\u00bb. <\/p>\n<p><\/p>\n<p>Il corso tenuto da Sheila A. Berta e Sol Ozzan \u00e8 cominciato con una descrizione del funzionamento dei container Docker e del percorso che seguono durante il deployment in Kubernetes. \u00c8 stata un'attivit\u00e0 completamente pratica: gli studenti dovevano installare Docker e microk8s sui propri computer prima delle lezioni, un ottimo modo per vedere l'interazione degli strumenti, identificare eventuali vulnerabilit\u00e0 e, cosa pi\u00f9 importante, provare a risolverle.<\/p>\n<p><\/p>\n<p>Purtroppo, anche se i corsi promettevano di diventare il \"principe\" dopo due giorni, sentivo che era solo l'inizio e che avevo ancora molto da imparare.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Esploriamo la (mancante) sicurezza delle tipiche installazioni di Docker e Kubernetes\" src=\"\/wp-content\/uploads\/2020\/08\/e7afd728bb757ac1e0c14d06c5e03806.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Prima di immergerti nelle mie osservazioni elevate, \u00e8 importante spiegare cosa sia un container. Nel mondo dello sviluppo, \u00e8 normale che il codice scritto sulla tua macchina personale funzioni alla perfezione, ma che, tentando di eseguirlo su un server, non funzioni affatto. I container cercano di superare questo problema fornendo macchine autonome che puoi facilmente trasferire da un server all'altro, sapendo che funzioneranno sempre. Come suggerisce il nome, contengono codice, librerie e altro software necessario per operare. Kubernetes, d'altra parte, \u00e8 <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\/docs\/concepts\/overview\/what-is-kubernetes\/\">una piattaforma di orchestrazione per i container<\/a><\/noindex>. In sostanza, con esso puoi gestire senza interruzioni centinaia o migliaia di diversi container.<\/p>\n<p><\/p>\n<p>Di seguito sono riportate alcune delle mie considerazioni dalla prospettiva della squadra rossa e della squadra blu.<\/p>\n<p><\/p>\n<h2 id=\"krasnaya-komanda\">Squadra rossa<\/h2>\n<p><\/p>\n<p><strong>La maggior parte del contenuto dei container viene eseguito come root<\/strong>: questo significa che se comprometti un container, ottieni accesso completo al container. Ci\u00f2 rende i passaggi successivi significativamente pi\u00f9 facili.<\/p>\n<p><\/p>\n<p><strong>Montare docker.sock all'interno del container \u00e8 pericoloso<\/strong>: se hai ottenuto l'accesso root all'interno del contenitore e hai anche installato Docker all'interno di un contenitore con socket Docker (\/var\/run\/docker.sock), hai la possibilit\u00e0 potenziale di esplorare l'intero cluster, inclusa la possibilit\u00e0 di accedere a qualsiasi altro contenitore. Tale accesso non pu\u00f2 essere prevenuto n\u00e9 mediante isolamento di rete n\u00e9 con altri metodi.<\/p>\n<p><\/p>\n<p><strong>Le variabili di ambiente contengono spesso dati sensibili<\/strong>: nella maggior parte dei casi, le persone inviano password al contenitore utilizzando normali variabili di ambiente. Pertanto, se hai accesso all'account, puoi visualizzare queste variabili di ambiente per poi espandere le tue autorizzazioni.<\/p>\n<p><\/p>\n<p><strong>Docker API pu\u00f2 fornire una grande quantit\u00e0 di informazioni<\/strong>: Docker API, quando configurato per impostazione predefinita, funziona senza autorizzazione e pu\u00f2 fornire una grande quantit\u00e0 di informazioni. Utilizzando Shodan, \u00e8 facile trovare un elenco di porte aperte, ottenere informazioni dettagliate sul cluster e passare al suo completo controllo. TrendMicro ha scritto un <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.trendmicro.com\/trendlabs-security-intelligence\/exposed-docker-control-api-and-community-image-abused-to-deliver-cryptocurrency-mining-malware\/\">articolo molto interessante<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h2 id=\"sinyaya-komanda\">Team blu<\/h2>\n<p><\/p>\n<p><strong>Non eseguire il contenuto dei contenitori come root<\/strong>: nonostante sia pi\u00f9 semplice eseguire come root, non dovresti farlo. Invece, esegui le applicazioni con i privilegi ridotti specificando uid, sia utilizzando il parametro \u2014user quando lavori con la CLI, sia indicando USER nel Dockerfile.<\/p>\n<p><\/p>\n<p><strong>Non consentire l'installazione di programmi nei contenitori<\/strong>: quasi ogni attacco inizia con l'installazione di qualcosa. Dall\u2019nmap a ifconfig e lo stesso Docker (all'interno del contenitore), installare qualcosa in un contenitore \u00e8 stato comune. Per questo motivo, \u00e8 sempre necessario bloccare tutte le porte non utilizzate. Questo aiuta anche a prevenire l'invio di comandi di controllo in caso di infezione della tua macchina. Oltre a prevenire l'installazione di programmi, \u00e8 importante assicurarsi che all'interno del contenitore ci siano solo le applicazioni minime necessarie per completare il compito.<\/p>\n<p><\/p>\n<p><strong>Proteggi docker.sock<\/strong>: deve essere protetto poich\u00e9 attraverso questa socket avviene la comunicazione tra il contenitore e il cluster. Poich\u00e9 non voglio entrare nei dettagli in questo articolo, leggi <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/engine\/security\/https\/\">la nota di Docker<\/a><\/noindex>, cosa pu\u00f2 succedere e come bloccare tutto ci\u00f2.<\/p>\n<p><\/p>\n<p><strong>Utilizza i segreti di Docker invece delle variabili d'ambiente<\/strong>: I segreti esistono <noindex><a rel=\"nofollow\" href=\"https:\/\/www.docker.com\/blog\/docker-secrets-management\/\">circa dal 2017<\/a><\/noindex>. Anche se non \u00e8 sicuro, \u00e8 comunque meglio rispetto all'utilizzo delle variabili d'ambiente per trasmettere dati sensibili nei container.<\/p>\n<p><\/p>\n<p>Se l'articolo ha suscitato il tuo interesse per i container, puoi facilmente installare Docker o microk8s (una versione leggera di Kubernetes). <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/engine\/install\/\">Qui<\/a><\/noindex> ci sono istruzioni per l'installazione di Docker per Linux e MacOS, e <noindex><a rel=\"nofollow\" href=\"https:\/\/microk8s.io\/\">qui<\/a><\/noindex> \u2014 istruzioni per l'installazione di microk8s per Windows, Linux e MacOS.<\/p>\n<p><\/p>\n<p>Dopo l'installazione, puoi seguire <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.docker.com\/get-started\/\">questo guida al rapido avvio<\/a><\/noindex> di Docker, che \u00e8 simile anche <noindex><a rel=\"nofollow\" href=\"https:\/\/microk8s.io\/docs\">si propone<\/a><\/noindex> per microk8s.<\/p>\n<p><\/p>\n<p>Se hai voglia o necessit\u00e0 di seguire un corso completo su Docker, in cui relatori pratici analizzano tutti i suoi strumenti: dalle astrazioni di base alle opzioni di rete, ai dettagli sul funzionamento con vari sistemi operativi e linguaggi di programmazione, prova \"<noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/t2D-uA\">Corso video su Docker<\/a><\/noindex>\". Ti familiarizzerai con la tecnologia e capirai dove e come utilizzare al meglio Docker. Inoltre, riceverai casi di best practice: \u00e8 meglio imparare in sicurezza e con il supporto di praticanti attraverso storie sugli errori piuttosto che affrontare i propri errori personalmente.<\/p>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/514528\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0432 IT \u0431\u043e\u043b\u044c\u0448\u0435 20 \u043b\u0435\u0442, \u043d\u043e \u043a\u0430\u043a-\u0442\u043e \u0440\u0443\u043a\u0438 \u043d\u0435 \u0434\u043e\u0445\u043e\u0434\u0438\u043b\u0438 \u0434\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432. \u0412 \u0442\u0435\u043e\u0440\u0438\u0438 \u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043b, \u043a\u0430\u043a \u043e\u043d\u0438 \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0438 \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442. \u041d\u043e \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044f \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u0441 \u043d\u0438\u043c\u0438 \u043d\u0435 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0441\u044f \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u2014 \u044f \u043d\u0435 \u0431\u044b\u043b \u0443\u0432\u0435\u0440\u0435\u043d \u0432 \u0442\u043e\u043c, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u043a\u0440\u0443\u0442\u044f\u0442\u0441\u044f-\u0432\u0435\u0440\u0442\u044f\u0442\u0441\u044f \u0443 \u043d\u0438\u0445 \u0448\u0435\u0441\u0442\u0435\u0440\u0451\u043d\u043a\u0438 \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u044f \u0431\u044b\u043b \u0431\u0435\u0437 \u043f\u043e\u043d\u044f\u0442\u0438\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":91365,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-91364","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0432 IT.\" \/>\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\/it\/blog\/administrirovanie\/izuchaem-otsutstvuyushhuyu-bezopasnost-tipichnyh-ustanovok-docker-i-kubernetes\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\u0418\u0437\u0443\u0447\u0430\u0435\u043c (\u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e) \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u043a Docker \u0438 Kubernetes | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0432 IT.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/izuchaem-otsutstvuyushhuyu-bezopasnost-tipichnyh-ustanovok-docker-i-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=\"2020-08-12T05:42:33+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-08-12T05:42:33+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\udd47Esploriamo la (mancante) sicurezza delle installazioni tipiche di Docker e Kubernetes | ProHoster","description":"Lavoro nel settore IT.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/izuchaem-otsutstvuyushhuyu-bezopasnost-tipichnyh-ustanovok-docker-i-kubernetes","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\u0418\u0437\u0443\u0447\u0430\u0435\u043c (\u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0443\u044e) \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u043a Docker \u0438 Kubernetes | ProHoster","og:description":"\u042f \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0432 IT.","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/izuchaem-otsutstvuyushhuyu-bezopasnost-tipichnyh-ustanovok-docker-i-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":"2020-08-12T05:42:33+00:00","article:modified_time":"2020-08-12T05:42:33+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"91364","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":null,"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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:29:22","updated":"2022-09-28 18:39:15","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/91364","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=91364"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/91364\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/91365"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=91364"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=91364"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=91364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}