Bazen bir
uygulamanın internet erişimini engellemek isteriz, bunun için tüm
interneti kaldırmak yerine o uygulamanın internet erişimini
sınırlamakta fayda vardır. Dahası, o uygulamayı sadece
istediğimiz zaman “internet erişimi engelli” olarak çalıştırmak
isteyebiliriz. Konuyla ilgili bir çok forumda değişik anlatımlar
var. Ben biraz daha basitleştirmeye çalışacağım.
Kısaca yapacağımız:
- “no-internet” diye bir grup oluşturup, programları sg komutu ile bu “no-internet” grubu ayarlarına göre çalıştıracağız.
- ama “no-internet” grubunun da internet bağlantısını iptables ile koparacağız
- ayrıca kendi kullanıcı adımızı da “no-internet” grubuna ekleyeceğiz ki, programları “no-internet” grubu ile çalıştırdığımızda bize şifre sormasın
Adım 1 – Bir
“no-internet” grubu oluşturup kendi kullanıcı adımızı
(Benim durumumda “baris”'i) bu gruba ekliyoruz.
sudo groupadd no-internet
sudo usermod -a -G no-internet baris
Şimdi logout olup
çıkmanız gerekiyor ki, değişiklikler etkili olsun, ya da Adım
5'i bekleyin.
Adım 2 – Önce
“Ana Kodu”muzu (“script”) yazacağız. Kodun ismi “ni”
olacak. Komut satırında:
sudo nano /usr/bin/ni
yazıyoruz. Nano bir
text editörü, açılan text editöründe
#!/bin/bash
sg no-internet “$1”
yazıyoruz. Ctrl-X
ile save edip çıkıyoruz. Yukarıdaki komut ile ni 'den sonra
gelecek ilk komutu ($1) no-internet grubu kimlik bilgileri ile
çalıştıracağımızı belirtiyoruz.
Adım 3 - Şimdi de
“ni” programını çalıştırılabilir (executable) bir hale
getirelim:
sudo chmod +x /usr/bin/ni
Dikkat
aşağıdakilerden bir tanesini uygulayın, ikisini de uygulamanız
zarar vermez ama sonra ne yaptığınızı bir yere yazın. Ben
(4.2)'yi tavsiye ediyorum.
Adım 4.1- Şimdi de
“no-internet” grubumuz için kuralları oluşturalım:
sudo nano /etc/network/if-pre-up.d/iptables_no-internet_rule
Bu dosyanın içine
:
#!/bin/bash
iptables -A OUTPUT -m owner –gid-owner no-internet -j DROP
yazıp save edip
çıkıyoruz. Ardından bu dosyayı da çalıştırılabilir-executable
yapıyoruz.
sudo chmod +x /etc/network/if-pre-up.d/iptables_no-internet_rule
Adım 4.2- ben
yukarıdaki işlemin işlemediğini gördüm. Kullandığım
distrodan dolayı herhalde
sudo nano /etc/network/if-up.d/iptables_no-internet_rule
Bu dosyanın için
de
#!/bin/bash
iptables -I OUTPUT 1 -m owner –gid-owner no-internet -j DROP
yazıp save edip
çıkıyoruz. Ardından bu dosyayı da çalıştırılabilir-executable
yapıyoruz.
sudo chmod +x /etc/network/if-up.d/iptables_no-internet_rule
Adım 5 – Komutu
çalıştırın
ni firefox
ni “komut 1 komut2”
ni komut
Referanslar: http://ubuntuforums.org/showthread.php?t=1188099