CodeGym /Kurslar /Docker SELF /Docker şəbəkə təhlükəsizliyinin əsasları

Docker şəbəkə təhlükəsizliyinin əsasları

Docker SELF
Səviyyə , Dərs
Mövcuddur

9.1 Docker Şəbəkələrinin Təhlükəsizliyinin Əsas Aspektləri

Docker şəbəkələrinin təhlükəsizliyi, konteynerləşdirilmiş tətbiqləri potensial təhdidlərdən qorumaq üçün əsas rol oynayır. Bu mühazirədə biz Docker şəbəkələrinin təhlükəsizliyinin əsas aspektlərini, tövsiyələri və konteynerlərinizin və məlumatlarınızın qorunması üçün ən yaxşı təcrübələri nəzərdən keçirəcəyik.

Docker şəbəkələrinin təhlükəsizliyinin əsas aspektləri

  1. Konteynerlərin izolyasiyası
  2. Giriş nəzarəti
  3. Məlumatların şifrələnməsi
  4. Monitorinq və audit
  5. Yeniləmələr və patçlar

9.2 Konteynerlərin izolyasiyası

Konteynerlərin izolyasiyası — Docker şəbəkələrinin təhlükəsizliyini təmin etmək üçün ilk addımdır. Bu, potensial zəifliklərin təsirini minimuma endirməyə və konteynerlər arasında icazəsiz girişin qarşısını almağa kömək edir.

İstifadəçi şəbəkələrindən istifadə

Konteynerləri izolyasiya etmək, onların yalnız lazım olan servislərlə qarşılıqlı əlaqədə olmasını təmin etmək üçün istifadəçi şəbəkələri yaradın.

Terminal


docker network create --driver bridge my_secure_network

Docker Compose-da hər bir servis üçün istifadəçi şəbəkəsini təyin edə bilərsiniz.

Yaml

version: '3.8'

services:
  web:
    image: nginx:latest
    networks:
      - my_secure_network
        
  app:
    image: myapp:latest
    networks:
      - my_secure_network
        
networks:
  my_secure_network:
    driver: bridge

Konteynerlər arası qaydalardan istifadə

Docker şəbəkədə konteynerlər arasındakı qarşılıqlı əlaqəni idarə etmək üçün konteynerlər arası qaydalar təyin etməyə imkan verir.

Terminal

docker network connect --link <source_container<:<alias< <target_network< <container_name< 

Nümunə:

Terminal


docker network connect --link container1:c1 multi-host-network container2

9.3 Girişə nəzarət

Girişə nəzarət, konteynerlərə və şəbəkələrə icazəsiz girişi qarşısını almaq üçün vacibdir.

Portlara girişin məhdudlaşdırılması

IP ünvanlarını və firewall qaydalarını istifadə edərək yayımlanmış portlara girişi məhdudlaşdırın.

Terminal


docker run -d -p 127.0.0.1:8080:80 --name my_secure_container nginx

Rolların və siyasətlərin istifadəsi

İstifadəçilərin konteynerlərə və şəbəkələrə idarəetmə hüquqlarını məhdudlaşdırmaq üçün rolları və giriş siyasətlərini istifadə edin.

Terminal


docker run -d --user <uid>:<gid> my_secure_container 

9.4 Məlumatların şifrələnməsi

Məlumatların şifrələnməsi, məxfi məlumatları həm dayanma vəziyyətində, həm də ötürülmə zamanı qorumağa kömək edir.

Məlumatların dayanma vəziyyətində şifrələnməsi

Konteynerlərin istifadə etdiyi həcm üçün fayl sistemi şifrələməsindən istifadə edin.

Terminal

docker run -d --name my_secure_container --mount 
type=volume,source=my_volume,destination=/data,volume-driver=local,volume-opt=o=bind,volume-
opt=device=/mnt/secure_data nginx

Məlumatların ötürülmə zamanı şifrələnməsi

Konteynerlər və xarici servislər arasında ötürülən məlumatları şifrələmək üçün TLS istifadə edin.

Terminal

docker run -d -p 443:443 --name my_secure_container -v /path/to/cert.pem:/etc/nginx/cert.pem -v 
/path/to/key.pem:/etc/nginx/key.pem nginx

9.5 Monitorinq və audit

Monitorinq və audit konteynerlərin və şəbəkələrin fəaliyyətini izləməyə, potensial təhlükələri müəyyənləşdirməyə və onlara reaksiya verməyə imkan verir.

Loglar və metrikalar

Konteynerlərdən loglar və metrikalar toplayın, analiz və monitorinq üçün istifadə edin.

Terminal

docker logs <container_name>

Konteynerlərin və şəbəkələrin vəziyyətini izləmək üçün Prometheus və Grafana kimi monitorinq vasitələrindən istifadə edin.

Audit

İstifadəçilərin fəaliyyətini və konteynerlərin, şəbəkələrin konfiqurasiyasındakı dəyişiklikləri izləmək üçün auditi aktiv edin.

Terminal


docker events 

9.6 Yeniləmələr və patch-lər

Daimi yeniləmələr və patch-lər konteynerləri və şəbəkələri məlum zəifliklərdən qorumağa kömək edir.

Docker-i yeniləmə

Docker yeniləmələrini izləyin və yeni versiyaları vaxtında quraşdırın.

Terminal

sudo apt-get update

sudo apt-get install docker-ce

İmage-lərin yenilənməsi

Daimi olaraq konteyner image-lərini təhlükəsizlik düzəlişlərini daxil edən sonuncu versiyalara qədər yeniləyin.

Terminal

docker pull nginx:latest 

9.7 Ən yaxşı təcrübələrin nümunələri

Nümunə 1: İzolyasiya olunmuş şəbəkələrin yaradılması

Ərizənizin hər bir komponenti üçün izolyasiya olunmuş şəbəkələr yaradın.

Terminal

docker network create --driver bridge frontend_network

docker network create --driver bridge backend_network 

Konteynerləri uyğun şəbəkələrdə başladın.

Terminal

docker run -d --name frontend --network frontend_network nginx

docker run -d --name backend --network backend_network myapp 

Nümunə 2: Portlara girişin məhdudlaşdırılması

Konteynerlərin portlarına girişi yalnız lazımlı IP ünvanlarına və hostlara məhdudlaşdırın.

Terminal

        
docker run -d -p 192.168.1.100:8080:80 --name restricted_container nginx 

Nümunə 3: Şifrələmə üçün TLS istifadəsi

Konteynerləri məlumatların ötürülməsi zamanı qorunması üçün TLS istifadə etmək üçün sazlayın.

Terminal

docker run -d -p 443:443 --name tls_container -v /path/to/cert.pem:/etc/nginx/cert.pem -v 
/path/to/key.pem:/etc/nginx/key.pem nginx
1
Опрос
Docker Swarm,  18 уровень,  3 лекция
недоступен
Docker Swarm
Docker Swarm
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION