CodeGym /Kurslar /Docker SELF /Firewall, SELinux və ACL əsas qaydalarının qurulması

Firewall, SELinux və ACL əsas qaydalarının qurulması

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

Firewall, SELinux və ACL əsas qaydalarının qurulması

1. Addım 1: Firewall quraşdırılması və konfiqurasiyası

Salam! Bugün biz real praktika ilə məşğul olacağıq və Linux təhlükəsizliyi haqqında öyrəndiyiniz hər şeyi tətbiq edəcəyik. Firewall-u sazlayacağıq, SELinux-un işini qiymətləndirəcəyik və fayllara girişin idarə olunması üçün ACL istifadəsini araşdıracağıq. Bu mühazirə sizin "təlim meydançanızdır". Gəlin bizim admin "təhlükəsizlik çiyin nişanlarımızı" taxaq və işə başlayaq!

Artıq bilirsiniz ki, yaxşı Firewall girişdə gözətçiyə bənzəyir. Kimi buraxacağına və kimə "Yox!" deyəcəyinə qərar verir. Başlamaq üçün sistemimizi yalnız SSH və HTTP xidmətlərinə girişlə məhdudlaşdıraraq qoruyacağıq.

UFW ilə iş

  1. UFW statusunu yoxlayın. Quraşdırılmayıb? Quraşdıraq!

    # UFW yoxlanışı
    sudo ufw status
  2. Əgər komanda "Firewall söndürülüb" deyirsə, bunu düzəltmək lazımdır.

  3. UFW quraşdırılması və işə salınması.

    # Quraşdırma (əgər lazımdırsa)
    sudo apt install ufw
    
    # Firewall-u aktivləşdiririk
        sudo ufw enable
  4. Daxili girişin sazlanması. Biz yalnız SSH (port 22) və HTTP (port 80) üçün icazə istəyirik, qalan hər şeyi blok edirik. Məntiq aydındır: server hamı üçün üç ulduzlu otel deyil.

    # SSH icazəsi
    sudo ufw allow 22
    
    # HTTP icazəsi

2. Addım 2: SELinux ilə iş

SELinux — sizin serverinizdə fayllar və istifadəçilərin davranışlarını izləyən ciddi bir müəllimdir. Onun devizi: "Etibar et, amma yoxla". Gəlin SELinux-u aktivləşdirək və onun işləməsini yoxlayaq.

SELinux-un aktivləşdirilməsi

  1. Cari statusun yoxlanılması:

    # SELinux-un aktiv olub-olmadığını öyrənirik
    sestatus

    Əgər rejim disabled göstərirsə, onu konfiqurasiya faylı vasitəsilə aktivləşdirmək lazımdır.

  2. Konfiqurasiya vasitəsilə SELinux-un aktivləşdirilməsi:

    SELinux-un tənzimləmə faylı /etc/selinux/config yolunda yerləşir. Onu mətn redaktoru (məsələn, nano) ilə açın.

    sudo nano /etc/selinux/config
    

    Sətiri tapın:

    SELINUX=disabled
    

    Aşağıdaki ilə dəyişdirin:

    SELINUX=enforcing
    

    Dəyişiklikləri saxlayın və sistemin yenidən yüklənməsi üçün reboot edin:

    sudo reboot
    
  3. Rebootdən sonra yoxlama.

    Server yükləndikdən sonra SELinux statusuna yenidən baxın:

    getenforce
    

    Əgər sistem Enforcing cavabını verərsə, təbriklər, siz təhlükəsizlik müdafiəsində dayanmısınız!


SELinux və web-serverlə nümunə

Təsəvvür edək ki, sizdə /var/www/html kataloqunda faylları saxlayan bir web-server var. SELinux-un onu necə qoruduğunu yoxlayaq.

  1. Fayl kontekstinə baxış: SELinux kontekstlərdən istifadə edərək girişi idarə edir. Gəlin /var/www/html kataloqunun hansı kontekstə malik olduğunu yoxlayaq.

    ls -Z /var/www/html
    

    Nümunə çıxış:

    drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html
    

    Əgər nəsə doğru deyilsə, konteksti müvəqqəti dəyişə bilərsiniz:

    sudo chcon -t httpd_sys_content_t /var/www/html
    
  2. Web-serverin işləməsi üçün yoxlama: Kontekst tənzimləməsindən sonra serverinizin işləyib-işləmədiyini və giriş səhvlərinin olub-olmadığını yoxlayın.


3. Addım 3: ACL vasitəsilə hüquqların idarəsi

ACL (Access Control List) — bu, sanki giriş üçün "əlavə açardır". Standart rwx hüquqları məhdudlaşdırdıqda, ACL sizə konkret istifadəçilər üçün daha dəqiq giriş idarəsi təyin etməyə imkan verir.

Test üçün qovluq yaradın

Gəlin project_dir qovluğunu yaradıb, onu iki istifadəçi üçün - user1user2 - giriş hüquqları ilə düzəldək.

  1. Qovluq yaradırıq:

    sudo mkdir /project_dir
    
  2. Giriş hüquqlarını təyin edirik:

    Gəlin user1-ə tam giriş hüququ, user2-yə isə yalnız oxuma hüququ verək:

    # user1 üçün tam giriş hüququ
    sudo setfacl -m u:user1:rwx /project_dir
    
    # user2 üçün yalnız oxuma hüququ
    sudo setfacl -m u:user2:r-- /project_dir
  3. ACL-i yoxlayaq:

    # Cari hüquqları yoxlamaq
    getfacl /project_dir

    Nəticə sizin təyinatlarınızı göstərməlidir:

    # fayl: /project_dir
    user::rwx
    user:user1:rwx
    user:user2:r--
  4. Varsayılan hüquqların təyin olunması:

    Qovluqda yaradılan yeni faylların avtomatik olaraq ACL hüquqlarını miras alması üçün varsayılan hüquqları təyin edək:

    sudo setfacl -d -m u:user1:rwx /project_dir
    sudo setfacl -d -m u:user2:r-- /project_dir
    

4. Yekun konfiqurasiyanın yoxlanması

  1. Firewall:

    • SSH və HTTP portlarının açıq olduğuna, digər portların isə bağlı olduğuna əmin olun. Serverə SSH vasitəsilə qoşulmağa və brauzer vasitəsilə veb səhifəni açmağa çalışın.
  2. SELinux:

    • SELinux-un girişə düzgün məhdudiyyət qoyduğuna əmin olmaq üçün fayl kontekstlərini yoxlayın.
  3. ACL:

    • user1user2 istifadəçiləri ilə daxil olun və /project_dir kataloqunda fayl oxumağa və yazmağa çalışın.

Praktiki tapşırıqlar

  1. Yalnız SSH və HTTP girişlərinə icazə verən firewall quraşdırın.
  2. SELinux-u enforcing rejimində aktivləşdirin və veb serverin düzgün işlədiyinə əmin olun.
  3. /project_dir kataloqu üçün ACL quraşdırın ki, user1 tam hüquqlu daxil ola bilsin, user2 isə yalnız oxuma hüququna malik olsun.
  4. Sistemdəki aktiv istifadəçiləri who komandasından istifadə edərək yoxlayın.

Bu tapşırıqlar sizə biliklərinizi möhkəmləndirməkdə və onları praktikada necə tətbiq edəcəyinizi anlamaq üçün kömək edəcək. Və unutmayın: Linux-da təhlükəsizlik yalnız konfiqurasiyalardan ibarət deyil, həm də daim detallara diqqət yetirməkdir. Uğurlar!

1
Опрос
Linux-da istifadəçilərlə iş,  5 уровень,  5 лекция
недоступен
Linux-da istifadəçilərlə iş
Linux-da istifadəçilərlə iş
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION