Pardus ve Linux Sistemlerde İstenmeyen Web Siteleri Nasıl Engellenir?

Özellikle laboratuvar ortamlarında öğrencilerin dikkatini derse vermesi veya güvenli olmayan içeriklerden uzak durması için bu, temel bir sistem yöneticisi (veya bilişim öğretmeni) becerisidir.


Bilişim sınıflarında veya kurum içi ağlarda, kullanıcıların (öğrencilerin) belirli web sitelerine erişimini kısıtlamak sıkça ihtiyaç duyulan bir önlemdir. Pardus (ve diğer Linux dağıtımlarında), bu işlem için harici bir yazılım kurmaya gerek kalmadan, işletim sisteminin temel ağ dosyalarını kullanarak etkili bir çözüm üretebiliriz.

Burada, en temel ve en kesin yöntem olan Hosts Dosyası Manipülasyonu ile site engellemeyi adım adım inceleyeceğiz.

Mantık Nedir? (DNS ve Hosts Dosyası)

Bilgisayarlar web sitelerine bağlanırken "isimleri" (örn: facebook.com) "IP adreslerine" (örn: 157.240.x.x) çevirmek zorundadır. Bu işleme DNS Çözümleme denir.

İşletim sistemi bir siteye gitmek istediğinde şu sırayı izler:

  1. Önce kendi cebindeki not defterine (/etc/hosts dosyası) bakar.

  2. Eğer orada yoksa, internetteki DNS sunucusuna sorar.

Bizim Yöntemimiz: Biz /etc/hosts dosyasına müdahale ederek, engellemek istediğimiz sitenin adresini yanlış bir yere (bilgisayarın kendisine yani 127.0.0.1 veya 0.0.0.0 adresine) yönlendireceğiz. Böylece siteye gitmeye çalışan tarayıcı, çıkmaz sokağa girecek ve site açılmayacaktır.


Yöntem 1: Terminal (Uçbirim) Kullanarak Site Engelleme

Bu yöntem en hızlı ve en etkili yöntemdir.

1. Uçbirimi Açın ve Yetki Alın

Hosts dosyası sistemin kök dizininde olduğu için yönetici (root) yetkilerine ihtiyacımız var. Uçbirimi açın ve şu komutu girin:

Bash
sudo nano /etc/hosts

(Parola sorduğunda Pardus yöneticisi parolasını girin. Yazarken karakterler görünmeyebilir, bu normaldir.)

2. Engellenecek Adresleri Ekleyin

Dosya açıldığında, mevcut satırların en altına inin. Engellemek istediğiniz siteleri aşağıdaki formatta ekleyin.

Format: 127.0.0.1 [engellenecek_site_adresi]

Örnek bir senaryo (Sosyal medya ve oyun sitelerini engelleme):

Plaintext:
# Ogrenci Engelleme Listesi Baslangici
127.0.0.1 www.facebook.com
127.0.0.1 facebook.com
127.0.0.1 www.instagram.com
127.0.0.1 instagram.com
127.0.0.1 www.roblox.com
127.0.0.1 roblox.com
127.0.0.1 www.youtube.com
127.0.0.1 youtube.com
# Ogrenci Engelleme Listesi Bitis

Önemli İpucu: Sitelerin hem www olan hem de www olmayan hallerini (örn: site.com ve www.site.com) ayrı ayrı yazmanız garanti çözüm sağlar.

3. Kaydet ve Çık

Düzenleme bittikten sonra:

  • CTRL + O tuşlarına basın (Kaydetmek için).

  • Enter tuşuna basın (Dosya adını onaylamak için).

  • CTRL + X tuşlarına basın (Çıkmak için).

4. Test Edin

Tarayıcıyı açın ve engellediğiniz bir siteye girmeye çalışın. "Bağlantı reddedildi" veya "Siteye ulaşılamıyor" hatası alacaksınız. Genellikle bilgisayarı yeniden başlatmaya gerek yoktur ancak tarayıcı önbelleğini temizlemeniz gerekebilir.


Yöntem 2: Grafik Arayüz ile (Hosts Yöneticisi Kullanarak)

Eğer terminal kullanmak istemezseniz veya daha kullanıcı dostu bir yöntem arıyorsanız, Pardus Mağaza üzerinden yardımcı araçlar kullanabilirsiniz, ancak en pratik yöntem bir grafik metin düzenleyici ile açmaktır.

  1. Metin Düzenleyici (gedit, mousepad vs.) kullanmak.

  2. Boş bir alana sağ tıklayıp "Burada Uçbirim Aç" deyin.

  3. Gelen pencereye sudo gedit /etc/hosts yazın (Bu işlem dosyayı yetkili olarak açar).

  4. Yukarıdaki gibi siteleri ekleyip kaydedin.


Sıkça Sorulan Sorular ve İpuçları

  • Engeli nasıl kaldırırım? Eklediğiniz satırların başına # işareti koyarsanız o satır "yorum satırı" olur ve engel kalkar. Ya da satırı tamamen silebilirsiniz. Örnek: # 127.0.0.1 facebook.com (Artık Facebook açılır).

  • Öğrenciler bunu değiştirebilir mi? Hayır. /etc/hosts dosyasını değiştirmek için root (yönetici) parolası gerekir. Öğrencilerde yönetici parolası olmadığı sürece bu engeli kaldıramazlar.

  • Tüm okuldaki bilgisayarlara tek tek mi yapacağım? Eğer okulunuzda bir Samba/Active Directory yapısı veya Ansible gibi bir yönetim sistemi varsa, hazırladığınız bu hosts dosyasını tek bir komutla tüm laboratuvara kopyalayabilirsiniz.

    Toplu kopyalama için basit bir örnek komut (SSH açık ise):

    Bash
    scp /etc/hosts kullanici@ogrenci_pc_ip:/etc/hosts
    

Bir Sonraki Adım

Eğer okulunuzda yüzlerce bilgisayar varsa ve hosts dosyası ile uğraşmak zor geliyorsa, bir sonraki aşama DNS Filtreleme (Örn: Aile profili DNS'leri veya Pi-hole) veya Veyon gibi sınıf yönetim yazılımlarını kullanmaktır. Ancak tekil sınıflar ve hızlı çözümler için hosts dosyası en sadık dostunuzdur.

Python uygulaması:

Bu uygulama şunları yapar:

  1. Okul Kimliği: Üst kısımda okul ismini gösterir.

  2. Modern Arayüz: CSS ile makyajlanmış modern butonlar ve listeler kullanır.

  3. Kolay Yönetim: Girilen siteyi /etc/hosts dosyasına ekler veya listeden seçileni siler.

Kurulum ve Hazırlık

Öncelikle sistemde gerekli Python GTK kütüphanelerinin kurulu olduğundan emin olalım (Pardus'ta genelde yüklüdür ama garanti olsun):

Bash
sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0

Aşağıdaki adımları uygularken gönderdiğin logo dosyasının adını tsomtal.png olarak değiştirip python dosyasıyla aynı klasöre koymayı unutma.

Python Kodu (okul_filter.py)


Nasıl Çalıştırılır?

  1. Yukarıdaki kodu okul_filter.py olarak kaydet.

  2. Terminali o klasörde aç ve şu komutu ver:

Bash:
sudo python3 okul_filter.py

Uygulamanın Özellikleri

  • CSS Entegrasyonu: load_css fonksiyonu içinde CSS kodları gömülü. Butonlara "Kırmızı" (Engelle) ve "Yeşil" (Kaldır) renkleri verildi. Okul başlığı daha büyük ve kurumsal renklere yakın bir koyu mavi tonunda ayarlandı.

  • Hata Yönetimi: Eğer uygulamayı sudo olmadan açarsan, açılır açılmaz ve işlem yaparken seni uyarır.

  • Otomatik Listeleme: Program açıldığında hali hazırda /etc/hosts dosyasında engelli olan siteleri (localhost hariç) otomatik bulur ve listeye ekler.

Yorumlar

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Başlangıç Onarma