Docker ja Kubernetes kehittäjille · Oppitunti

Tietoturva ja tuotannon parhaat käytännöt

Tutustu keskeisiin tietoturvanäkökohtiin ja parhaisiin käytäntöihin Docker-konttien suorittamisessa tuotantoympäristöissä.

Oppitunti 3/411 vaihetta

Tietoturva ja tuotannon parhaat käytännöt on ilmainen Docker ja Kubernetes kehittäjille-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Docker ja Kubernetes kehittäjille-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Docker ja Kubernetes kehittäjille-kurssilla on yhteensä 4 oppituntia.

Dockerin tietoturva: miksi sillä on merkitystä

Docker-säilöjen käyttäminen tuotannossa tarjoaa merkittäviä hyötyjä, mutta tuo mukanaan myös tärkeitä tietoturvanäkökohtia. Yksi haavoittuvuus voi paljastaa koko sovelluksen tai sen tiedot.

Tässä oppitunnissa käsitellään keskeisiä parhaita käytäntöjä Docker-ympäristön suojaamiseksi ja sovellusten turvallisuuden ja luotettavuuden varmistamiseksi tuotantoympäristöissä.

Etsi näköistiedostojen haavoittuvuudet

Ennen käyttöönottoa tarkistakaa aina Docker-näköistiedostot tunnettujen haavoittuvuuksien varalta. Trivy-, Clair- ja Docker Hubin tarjoamien palvelujen kaltaiset työkalut voivat havaita vanhentuneita kirjastoja tai turvattomia määrityksiä.

  • Varhainen havaitseminen: Havaitkaa ongelmat kehityksen aikana.
  • Hyökkäysten estäminen: Välttäkää tunnettujen puutteiden sisältävien näköistiedostojen käyttöönottoa.
  • Vaatimustenmukaisuus: Täyttäkää tietoturvastandardit.

Suorita ei-root-käyttäjänä

Säilöissä prosessit suoritetaan usein sisäisesti root-käyttäjänä. Tämä on riski! Jos säilöön murtaudutaan, hyökkääjä saa säilössä root-käyttöoikeudet ja voi mahdollisesti vaikuttaa isäntään.

Määrittäkää Dockerfile aina suorittamaan sovellukset erillisellä, rajoitetuilla oikeuksilla toimivalla käyttäjällä. Voitte myös määrittää käyttäjän suorituksen aikana.

docker run --rm -u $(id -u):$(id -g) alpine:latest id -un

Rajoita säilöjen resursseja

Rajoittamattomat säilöt voivat kuluttaa liikaa suoritinaikaa tai muistia, mikä aiheuttaa suorituskykyongelmia tai jopa palvelunestohyökkäyksiä (DoS) isännälle tai muille säilöille.

Määrittäkää säilöille aina resurssirajat Dockerin sisäisten asetusten avulla. Näin resurssit jakautuvat oikeudenmukaisesti ja järjestelmä pysyy vakaana.

docker run --rm --cpus=".5" --memory="128m" alpine:latest sh -c "echo 'Limited resources!'"

Suojaa Docker-daemon

Docker-daemon on säilöjä hallinnoiva keskeinen komponentti. Sen ohjelmointirajapinnan paljastaminen tai daemonin suorittaminen turvattomasti voi antaa hyökkääjille täyden hallinnan isäntäjärjestelmään.

  • Käytä TLS:ää: Suojaa etäyhteys daemoniin TLS-varmenteilla.
  • Rajoita käyttöoikeuksia: Rajoita niiden käyttäjien määrää, jotka voivat käyttää daemonin socketia (/var/run/docker.sock).
  • Palomuuri: Määritä isännän palomuurit suojaamaan Dockerin portteja.

Eristä säilöjen verkot

Oletusarvoisesti saman isännän säilöt voivat usein viestiä vapaasti keskenään. Eristäkää tuotannossa palvelut toisistaan mukautettujen Docker-verkkojen avulla.

Tämä pienentää hyökkäyspinta-alaa ja varmistaa, ettei yhden palvelun vaarantuminen heti paljasta muita palveluja. Sallikaa vain välttämätön viestintä.

docker network create my-secure-network
docker run -d --rm --name db --network my-secure-network alpine:latest sleep 3600
docker run -d --rm --name app --network my-secure-network alpine:latest sleep 3600
docker network disconnect my-secure-network db
docker network rm my-secure-network

Käsittele salaisuuksia turvallisesti

Älkää koskaan kirjoittako arkaluonteisia tietoja, kuten API-avaimia, tietokantatunnuksia tai yksityisiä avaimia, suoraan Dockerfile-tiedostoihin tai tallentako niitä lähdekoodin hallintaan.

Käyttäkää Docker Secrets -ominaisuutta (Swarmia varten) tai ulkoisia salaisuuksien hallintatyökaluja, kuten HashiCorp Vaultia, Kubernetes Secretsia tai pilvipalveluntarjoajien salaisuuksien hallintapalveluja (esimerkiksi AWS Secrets Manageria), salaisuuksien turvalliseen lisäämiseen suorituksen aikana.

Käytä vain luku -tiedostojärjestelmiä

Kun säilön tiedostojärjestelmä määritetään vain luku -tilaan, sovellukset eivät voi kirjoittaa tietoja säilön levylle. Tämä parantaa tietoturvaa seuraavasti:

  • Muokkaamisen estäminen: Hyökkääjät eivät voi muuttaa sovellustiedostoja.
  • Haittaohjelmien rajoittaminen: Haittaohjelmat eivät voi helposti säilyä tai levitä.

Käyttäkää taltioita kaikille tiedoille, joita täytyy kirjoittaa tai säilyttää.

docker run --rm --read-only alpine:latest sh -c "echo 'Hello' > /tmp/test.txt || echo 'Error: Read-only filesystem!'"

Toteuta kuntotarkistukset

Dockerin kuntotarkistukset varmistavat, että säilöity sovellus ei ole vain käynnissä, vaan myös vastaa pyyntöihin ja toimii terveesti. Tämä auttaa tuotannossa seuraavasti:

  • Automaattinen palautuminen: Docker voi käynnistää epäterveet säilöt uudelleen.
  • Luotettavuus: Vain terveet instanssit palvelevat liikennettä.
  • Parempi valvonta: Saatte tärkeitä tietoja sovelluksen tilasta.

Tietoturvan tarkistuspiste

Olette ottamassa käyttöön uutta verkkosovellusta. Mikä seuraavista on tärkein tietoturvakäytäntö, jolla estetään hyökkääjää saamasta root-käyttöoikeuksia, jos sovellukseen murtaudutaan?

Kertaus: tuotantoympäristön tietoturva

Tässä oppitunnissa tutustuimme Dockerin tärkeisiin tietoturva- ja tuotantoympäristöjen parhaita käytäntöjä koskeviin periaatteisiin. Muistakaa:

  • Tarkistakaa näköistiedostot haavoittuvuuksien varalta.
  • Suorittakaa säilöt muina kuin root-käyttäjinä.
  • Rajoittakaa säilöjen resursseja.
  • Suojaa Docker-daemon.
  • Eristäkää verkot.
  • Hallinnoikaa salaisuuksia ulkoisesti.
  • Käyttäkää vain luku -tiedostojärjestelmiä.
  • Toteuttakaa kuntotarkistukset.

Näiden käytäntöjen omaksuminen luo Docker-sovelluksille vankemman ja turvallisemman tuotantoympäristön.

Aloita maksutta

Opi Docker ja Kubernetes kehittäjille tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Tietoturva ja tuotannon parhaat käytännöt” ilmainen?

Kyllä – oppitunnin ”Tietoturva ja tuotannon parhaat käytännöt” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Docker ja Kubernetes kehittäjille-kurssin, päivitä CoddyKit PROhon. Docker ja Kubernetes kehittäjille-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Tietoturva ja tuotannon parhaat käytännöt”?

Tutustu keskeisiin tietoturvanäkökohtiin ja parhaisiin käytäntöihin Docker-konttien suorittamisessa tuotantoympäristöissä. Harjoittelet Docker ja Kubernetes kehittäjille-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Docker ja Kubernetes kehittäjille-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Docker ja Kubernetes kehittäjille-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.

Kuinka kauan ”Tietoturva ja tuotannon parhaat käytännöt”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Docker ja Kubernetes kehittäjille-oppitunnilla?

Kyllä. Jokainen Docker ja Kubernetes kehittäjille-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Verkkosovelluksen kontittaminen
  2. Docker-imagejen optimointi
  3. Tietoturva ja tuotannon parhaat käytännöt
  4. Monivaiheiset koonnit kevyitä tuotantovedoksia varten
← Takaisin: Docker ja Kubernetes kehittäjille