
Iptables linux çekirdeği (kernel) ile gelen bir güvenlik duvarı (firewall)’dır. Bugün sizlere iptables yapılandırması nasıl yapılır temel olarak bir kaç örnek ile onu gösterceğim.
Öncelikle iptables -L ile var olan bir kural tanımı yapılmışmı onu kontrol edilyiroz sudo iptables -L tabii burda sudo komutunu kullanığımız için işlemin tamamlanmıası için şifremizi giriyorz. Ardından tablo aşağıdaki gibi gelmekte. Buda aslında şu anlama geliyor şuanda gelen , giden ve yönlendirilen hiç ağ (network) kuralı yapılmamış demek
sudo iptables -L
[sudo] password for kullanıcı_adı:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Ancak bugün biz temel olarak INPUT ve OUTPUT kurallarından bahsedeceğiz
Gelin dilerseniz sizlerle bir kaç basit kural yapalım ve etklilerini görelim bunun için terminalimizi (ucbirim) açıyoruz ve ardından aşağıdaki komut ile 22 yani ssh por’una gelen istekleri engelliyoruz
Buarada INPUT >> Dışarıdan içeriye gelen istekleri OUTPUT >> İçeriden Dışarıya giden istekleri gösterir.
INPUT Kuralı
sudo iptables -A INPUT -p tcp –dport 22 -j DROP >> burada yapılan işlemi incelediğimizide dışarıdan 22 (ssh) portuna gelen istek DROP (Yok Et ) ediliyor içeri alınmıyor
OUTPUT Kuralı
sudo iptables -A OUTPUT -p tcp -m tcp –sport 22 -j ACCEPT >>burada yapılan işemi incelediğimizide bilgisayarımızdan çıkan 22 (ssh) portuna gidiş isteğini ACCEPT (Kabul Et)
ediliyor dışarıdaki dilediğimiz hedef ve izinli olan 22 (ssh) portuna gidebilmemizi sağlıyor .
Ve çıkan sonuçlar aşağıdaki şekilde geçecektir .
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp — anywhere anywhere tcp dpt:ssh
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp — anywhere anywhere tcp spt:ssh
Testimizi yapalım bu test iki aşamalı olacak bunlar aşağıdaki şekilde belirtilmiştir.
1- Terminal’imizde (Uc Birim)ssh user@1.2.3.2 yazınca aşağıdaki şekilde giriş yapabildiğimizi görüyoruz .
ssh user@1.2.3.2
user@1.2.3.2’s password:
Permission denied, please try again.
user@1.2.3.2’s password:
Linux debian 6.1.0-9-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1 (2023-05-08) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Sep 22 14:57:50 2024
user@debian:~$
2- Uzaktaki makinamızda gelmek için Terminal’imizde (Uc Birim) ssh kullanıcı_adı@1.2.3.1 yazıyoruz ve sonuç gidmediğini görüyoruz
user@debian:~$ ssh kullanıcı_adı@1.2.3.1 ve bu şekide bekliyor ve ardından bir timeout mesajı veriyor
ssh: connect to host 1.2.3.1 port 22: Connection timed out
Buda INPUT ve OUTPUT kurallarımızınız doğru çalıştığının anlamına geliyor .
Bir dahaki yazıda görüşmek üzere