CentOS/RHEL 7'de Sabit ve Sembolik Bağlantılar Nasıl Korunur?


Linux'ta hard ve soft linkler çok önemli olan dosyalara referans verirler, eğer çok iyi korunmazlarsa içlerindeki herhangi bir açık, kötü niyetli sistem kullanıcıları veya saldırganlar tarafından istismar edilebilir.

Yaygın bir güvenlik açığı sembolik bağlantı yarışı'dır. Bir programın güvenli olmayan bir şekilde dosya (özellikle geçici dosyalar) oluşturması ve kötü niyetli bir sistem kullanıcısının bu tür bir dosyaya sembolik (soft) bir bağlantı oluşturması durumunda ortaya çıkan, yazılımdaki bir güvenlik açığıdır.

Ayrıca Okuyun: Linux'ta Sabit ve Sembolik Bağlantı Nasıl Oluşturulur

Bu pratikte oluyor; program geçici dosyanın var olup olmadığını kontrol eder, yoksa dosyayı oluşturur. Ancak dosyayı kontrol etme ve oluşturma arasındaki kısa sürede, saldırganın dosyaya sembolik bir bağlantı oluşturması muhtemeldir ve bu bağlantıya erişmesine izin verilmez.

Dolayısıyla, program geçerli ayrıcalıklarla çalıştığında, saldırgan tarafından oluşturulan dosyayla aynı adı taşıyan dosyayı oluşturur, kelimenin tam anlamıyla saldırganın erişmeyi amaçladığı hedef (bağlantılı) dosyayı oluşturur. Dolayısıyla bu, saldırgana kök hesaptan hassas bilgileri çalması veya sistemde kötü amaçlı bir program çalıştırması için bir yol sağlayabilir.

Bu nedenle bu makalede, CentOS/RHEL 7 dağıtımlarındaki sabit ve sembolik bağlantıların kötü niyetli kullanıcılardan veya bilgisayar korsanlarından nasıl korunacağını göstereceğiz.

CentOS/RHEL 7'de, yalnızca aşağıda açıklanan bazı koşulların yerine getirilmesi durumunda bağlantıların oluşturulmasına veya programlar tarafından takip edilmesine izin veren hayati bir güvenlik özelliği bulunmaktadır.

Sabit Bağlantılar İçin

Sistem kullanıcısının link oluşturabilmesi için aşağıdaki şartlardan birinin gerçekleşmesi gerekmektedir.

  • kullanıcı yalnızca sahip olduğu dosyalara bağlantı verebilir.
  • Kullanıcının öncelikle bağlanmak istediği dosyaya okuma ve yazma erişiminin olması gerekir.

Sembolik Bağlantılar İçin

İşlemlerin yalnızca yapışkan bitlere sahip, herkes tarafından yazılabilir (diğer kullanıcıların yazmasına izin verilir) dizinlerin dışındaki bağlantıları izlemesine izin verilir veya aşağıdakilerden birinin doğru olması gerekir.

  • sembolik bağı takip eden süreç sembolik bağın sahibidir.
  • dizinin sahibi aynı zamanda sembolik bağlantının da sahibidir.

Sabit ve Sembolik Bağlantılarda Korumayı Etkinleştirme veya Devre Dışı Bırakma

Daha da önemlisi, bu özellik varsayılan olarak /usr/lib/sysctl.d/50-default.conf dosyasındaki çekirdek parametreleri kullanılarak etkinleştirilir (1 değeri etkinleştirme anlamına gelir) ).

fs.protected_hardlinks = 1
fs.protected_symlinks = 1

Ancak herhangi bir nedenle bu güvenlik özelliğini devre dışı bırakmak isterseniz; Aşağıdaki çekirdek seçenekleriyle /etc/sysctl.d/51-no-protect-links.conf adında bir dosya oluşturun (0 değeri devre dışı bırakmak anlamına gelir).

Dosya adındaki (51-no-protect-links.conf) 51'e dikkat edin; varsayılan ayarları geçersiz kılmak için varsayılan dosyadan sonra okunması gerekir.

fs.protected_hardlinks = 0
fs.protected_symlinks = 0

Dosyayı kaydedip kapatın. Daha sonra yukarıdaki değişiklikleri gerçekleştirmek için aşağıdaki komutu kullanın (bu komut aslında her bir sistem yapılandırma dosyasındaki ayarları yükler).

sysctl --system
OR
sysctl -p  #on older systems

Aşağıdaki makaleleri de okumak isteyebilirsiniz.

  1. Linux'ta Vim Dosyasını Parolayla Koruma
  2. Linux'ta Önemli Dosyaları DEĞİŞTİRİLMEZ (Değiştirilemez) Hale Getirmek için 5 'chattr' Komutu

Bu kadar! Aşağıdaki geri bildirim formunu kullanarak bu konuyla ilgili sorularınızı iletebilir veya düşüncelerinizi paylaşabilirsiniz.