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ş
UFW statusunu yoxlayın. Quraşdırılmayıb? Quraşdıraq!
# UFW yoxlanışı sudo ufw status
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
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
Əgər komanda "Firewall söndürülüb" deyirsə, bunu düzəltmək lazımdır.
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
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.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
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.
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
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 - user1
və user2
- giriş hüquqları ilə düzəldək.
Qovluq yaradırıq:
sudo mkdir /project_dir
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
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--
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ı
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.
SELinux:
- SELinux-un girişə düzgün məhdudiyyət qoyduğuna əmin olmaq üçün fayl kontekstlərini yoxlayın.
ACL:
user1
vəuser2
istifadəçiləri ilə daxil olun və/project_dir
kataloqunda fayl oxumağa və yazmağa çalışın.
Praktiki tapşırıqlar
- Yalnız SSH və HTTP girişlərinə icazə verən firewall quraşdırın.
- SELinux-u
enforcing
rejimində aktivləşdirin və veb serverin düzgün işlədiyinə əmin olun. /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.- 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!
GO TO FULL VERSION