Centos üzerine Shorewall kurulumu

coolwolf / 01/12/2010

Öncelikle http://shorewall.de/pub/shorewall/4.6/shorewall-4.6.4/ adresinden aşağıdaki paketleri indiriyoruz:
Siz kurarken daha yeni sürümü varsa onu yükleyebilirsiniz.

wget http://shorewall.de/pub/shorewall/4.6/shorewall-4.6.4/shorewall-4.6.4-3.noarch.rpm
wget http://shorewall.de/pub/shorewall/4.6/shorewall-4.6.4/shorewall-core-4.6.4-3.noarch.rpm

ardından

rpm -ivh shorewall-core-4.6.4-3.noarch.rpm shorewall-4.6.4-3.noarch.rpm

komutuyla shorewall kurulumunu tamamlıyoruz.
Şimdi sıra shorewall yapılandırmasında. Bu örnekte 2 arayüzlü bir firewall düşünülmüştür.
Birinci arayüz internete (eth0) ikinci aryüz (eth1) ise yerel ağımıza bağlı.
Shorewall kurulumu ile birlikte basit ayarları içeren ön tanımlı ayar dosyaları da gelmektedir.

rpm -ql shorewall | fgrep two-interfaces

komutuyla bu dosyaların nerede saklandığını buluyoruz.

cd /usr/share/doc/shorewall-4.6.4/Samples/two-interfaces

komutuyla bu dosyaların bulunduğu dizine giriyoruz.

cp * /etc/shorewall/

komutuyla buradaki dosyaları /etc/shorewall/ altındaki asıl yerlerine kopyalıyoruz.
Kopyalama esnasında dosyaların üzerine yazılsın mı diye sorarsa hepsine evet diyoruz.
Şimdi buradaki dosyaları kendimize göre düzenleyelim
/etc/shorewall/interfaces dosyası

#ZONE INTERFACE BROADCAST OPTIONS
net eth0 detect dhcp,tcpflags,routefilter,nosmurfs,logmartians
loc eth1 detect tcpflags,nosmurfs
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

bizim yapılandırmamız da aynı şekilde olduğu için buraya dokunmuyoruz. Eğer ağ arayüz ayarlarınız farklı ise buradan gerekli değişiklikleri yapabilirsiniz.
/etc/shorewall/masq dosyası

#INTERFACE SOURCE ADDRESS PROTO PORT(S) IPSEC MARK
eth0 eth1
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE

dış ağ arayüzü olan eth0, iç arayüz eth1 de masquerade yapılacak.
policy ve rules dosyalarını kendi isteklerinize göre özelleştirebilirsiniz.
Son olarak /etc/shorewall/shorewall.conf dosyasında

STARTUP_ENABLED=No

olan değeri

STARTUP_ENABLED=Yes

yapıyoruz.

shorewall start

komutu ile güvenlik duvarımız devreye giriyor.
NOT: shorewall’ı başlatmadan önce lütfen policy ve rules dosyalarında gerekli ayarları yapınız. aksi takdirde uzaktan bağlanamazsınız.
Tabi makina başındaysanız sorun yok.
Eğer yerel ağda bir sunucunuz çalışıyor ve dışarıdan gelen istekleri bu sunucuya yönlendirmek istiyorsanız aşağıdaki komutu rules dosyasına yazabilirsiniz. Aşağıdaki gibi bir komut internetten 25,53,80 ve 110 portlarına gelen istekleri yerel ağdaki 10.1.1.1 ip’li bilgisayara yönlendirecektir.

DNAT net loc:10.1.1.1 tcp 25,53,80,110

Peki ya yerel ağda birden fazla makinada aynı portu kullanan servisler varsa (uzak masaüstü gibi).
Böyle bir durumda aşağıdaki komutu kullanıyoruz:

DNAT net loc:10.0.0.2:3389 tcp 3388

bu tanımlama internetten 3388 portuna gelen istekleri 10.0.0.2 makinasının 3389 (yani uzak masaüstü) portuna yönlendirir.
Peki MSN Messenger kullanımını engellemek istersem:

REJECT loc net tcp 1863

komutu tüm yerel ağ kullanıcılarının MSN Messenger kullanmasını engeller. Eğer bazı ip adreslerine MSN Messenger izni vermek istiyorsak da aşağıdaki komutu kullanabiliriz:

REJECT loc:!10.1.1.10,10.1.1.11,10.1.1.12 net tcp 1863

bu komutla yerel ağdaki herkes msn engelli iken, 10.1.1.10,10.1.1.11 ve 10.1.1.12 ipli makinalara MSN izni verilmiş oluyor.

FILED UNDER : Linux

TAG :

Submit a Comment