Giriş
Iptables bir komut satırı güvenlik duvarı aracıdır. Bu, sisteminizde bir güvenlik duvarı yapılandırmanıza olanak tanıyan bir yazılım olduğu anlamına gelir. Genellikle varsayılan olarak Linux sistemlerinde bulunur. Bu kılavuzda, iptables güvenlik duvarı ile birlikte gelen bazı yaygın kuralları ve komutları ele alacağız. Sisteminizle bir bağlantı kurulmaya çalışıldığında, güvenlik duvarı bir sonraki adımın ne olması gerektiğini belirlemek için bu kurallara başvuracaktır.
Iptables Komutları
Bu kılavuz, en temel iptables komutlarından bazılarını tanıtacaktır. Kılavuzu takip etmek için iptables'ın ne olduğu ve nasıl çalıştığı konusunda temel bir anlayışa sahip olmanız gerekir. Bu, aşağıdaki komutlarla uyguladığınız kuralları daha iyi kavramanıza yardımcı olacaktır. Unutmayın, aşağıda verilen komutların her biri tek başına kullanılabilir. Diğer yandan, bunları özel ihtiyaçlarınıza göre karıştırıp eşleştirebilirsiniz.
Aklınızda Bulundurmanız Gerekenler
Okumaya devam etmeden önce, aklınızda bulundurmanız gereken bazı şeyler şunlardır:
- iptables'daki kuralların sırası önemlidir.
- Bir zincirin sonuna yeni bir kural eklemek için,
iptableskomutunuzun-A seçeneğini kullanması gerekecektir. - Kuralı başka bir konuma eklemek istiyorsanız,
-Iseçeneğini kullanmalısınız. Bu seçenek, kuralın tam konumunu belirtmenize olanak tanır. Kuralı zincirin başına yerleştirmek istiyorsanız, bir kural numarası belirtmemeniz yeterlidir. - Sunucunuza kesintisiz erişim sağlamak için, varsayılan olarak port 22 üzerindeki SSH trafiğini engelleyin.
- Bunu yapamaz ve sunucunuza erişimi kaybederseniz, konsolu kullanarak yeniden bağlanabilirsiniz. Güvenlik duvarı ayarlarını değiştirmek için SSH trafiğine izin verin.
- Şu anda yürürlükte olan kural kümesini incelemek isterseniz, şu komutları kullanın:
sudo iptables -S ve sudo iptables -L.
Ayrıca, iptables güvenlik duvarı kurallarını nasıl listeleyeceğiniz ve sileceğiniz konusunda ayrıntılı bir kılavuzumuz bulunmaktadır; bu da iptables güvenlik duvarınızdan en iyi şekilde yararlanmanıza daha fazla yardımcı olacaktır.
Ön koşulları aradan çıkardığımıza göre, şimdi yaygın iptables komutlarından bazılarına göz atalım:
Kurallarınızı Nasıl Kaydedersiniz?
Kurallarınızı nasıl kaydedebileceğinizi belirleyerek başlayacağız. iptables kurallarının geçici olduğunu unutmamak önemlidir. Bu, kuralları kaydetmediğiniz sürece sisteminizi yeniden başlattıktan sonra kaybolacakları anlamına gelir. Yeni kurallarınızı sırasıyla Ubuntu ve CentOS sunucularında manuel olarak nasıl kaydedebileceğiniz aşağıda açıklanmıştır:
-
Ubuntu
Bir Ubuntu sunucusunda yeni kurallarınızı kaydetmenin en kolay yolu iptables-persistent paketini kullanmaktır. Bu öğreticiyi takip ederek kolayca bir Ubuntu sunucusu oluşturabilirsiniz.
Şimdi, yeni iptables kurallarınızı kaydetmenin ilk adımı, apt-get kullanarak iptables-persistent paketini yüklemektir. Paketi şu şekilde edinebilirsiniz:
|
1 |
sudo apt-get install iptables-persistent |

Kurulum işlemi sırasında, şu anda yürürlükte olan güvenlik duvarı kurallarını kaydetmek isteyip istemediğinize karar vermeniz gerekir. Bunun yerine kuralları güncellemek ve değişiklikleri kaydetmek için şu komutu kullanın:
|
1 |
sudo netfilter-persistent save |

Yukarıdaki komut genellikle 16.04'ten sonraki Ubuntu sürümleri için çalışır. Daha eski bir sürüm kullanıyorsanız, bunun yerine şu komutu kullanın:
|
1 |
sudo invoke-rc.d iptables-persistent save |
-
CentOS
CentOS 6 veya daha eski sürümlerde güvenlik duvarınızı iptables ile yapılandırabilirsiniz. CentOS 7 ise bunun yerine FirewallD kullanır. CentOS 7'de FirewallD'nin nasıl kurulacağını öğrenmek için bu öğreticiyi takip edin.
CentOS'ta yeni kurallarınızı iptables başlatma betiğini (init script) kullanarak kaydedebilirsiniz. Aşağıdaki komuta bakın:
|
1 |
sudo service iptables save |
Bu komut, iptables güvenlik duvarı için yeni kurallarınızı kaydedecektir. Şu anda aktif olan iptables kuralları /etc/sysconfig/iptables dosyasında bulunabilir.
Yararlı Iptables Komutları
Şimdi, sunucunuzda kullanmanız gerekebilecek çok yararlı bazı iptables güvenlik duvarı komutlarına geçelim.
-
Geri Döngü (Loopback) Bağlantıları
İlk olarak, geri döngü (loopback) bağlantılarına nasıl izin verebileceğinizi inceleyeceğiz. Sisteminiz, kendisine bağlantı göndermek için bir geri döngü arayüzü kullanır. Örneğin, şu komutu çalıştırdığınızı hayal edin: ping localhost veya ping 127.0.0.1. Sunucunuz bir geri döngü (loopback) arayüzü veya bir lo kullanacaktır, bu da esasen kendi kendine ping atması anlamına gelir. Diğer durumlarda, uygulama sunucunuz 'localhost' adresine bağlanacak şekilde yapılandırılmışsa sunucu bunu kullanabilir.
Durum ne olursa olsun, iptables güvenlik duvarınızın bu bağlantıları engellemediğinden emin olmanız gerekir. Bu nedenle, bu işlevlerin gerçekleşebilmesi için geri döngü (loopback) bağlantılarına izin vermeniz gerekecektir.
Geri döngü (loopback) arayüzüne gelen tüm trafiğe izin vermek için çalıştıracağınız komutlar şunlardır:
|
1 2 |
sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A OUTPUT -o lo -j ACCEPT |

-
Yerleşik ve İlişkili Gelen Bağlantılar
İzin vermeniz gerekebilecek başka bir bağlantı türü de giden bağlantıdır. Sunucunuzun sırasıyla hem gelen hem de giden trafiği aldığından ve gönderdiğinden emin olmak için yerleşik ve ilişkili gelen bağlantılara izin vermeniz gerekir. Bu, sunucunun giden bağlantılara dönüş trafiği göndermesini sağlar. Hem yerleşik hem de ilişkili gelen bağlantılara izin vermek için bu komutu kullanın:
|
1 |
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT |
![]()
-
Yerleşik Giden Bağlantılar
Sunucu genellikle gelen bağlantılara, yerleşik bağlantıların giden trafiği şeklinde yanıtlar gönderir. Bunlara izin vermek için aşağıdaki komutu kullanın:
|
1 |
sudo iptables -A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT |
![]()
-
İçeriden Dışarıya
Bazen, dâhili ağın harici ağa erişebilmesi için güvenlik duvarınızı yapılandırmanız bile gerekebilir. Varsayılan olarak, harici ağınız eth0 ve eth1 dâhili ağınız olmalıdır. Eğer durum buysa, erişimi etkinleştirmek için bu komutu kullanın:
|
1 |
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT |

-
Geçersiz Paketleri Düşürme
Bazen bazı ağ trafiği paketleri geçersiz olarak etiketlenir. Çoğu zaman bu geçersiz paketleri doğrudan düşürebilirsiniz. Bunu yapmak için aşağıdaki komutu kullanın:
|
1 |
sudo iptables -A INPUT -m conntrack --ctstate INVALID -j DROP |
IP Adreslerini Engelleme Kuralları
Sırada, belirli IP adreslerinden gelen bağlantıları engellemek için kullanabileceğiniz bazı komutlara bakacağız. İşleri kolaylaştırmak için komutlarımızda örnek olarak 15.15.15.51 IP adresini kullanacağız. Bu değeri kendi özel IP adresinizle değiştirebilirsiniz.
|
1 |
sudo iptables -A INPUT -s 15.15.15.51 -j DROP |
-s 15.15.15.51 ifadesinde, -s ifadesi kaynağı temsil eder. Dolayısıyla komut, kaynak IP adresi olarak '15.15.15.51' adresini belirtmektedir. Benzer şekilde, herhangi bir güvenlik duvarı kuralında kaynak IP adresini belirtebilirsiniz. Buna izin verme ve reddetme kuralları da dahildir.
Bağlantıyı reddetmek istiyorsanız, komutta DROP yerine şu şekilde REJECT kullanırsınız:
|
1 |
sudo iptables -A INPUT -s 15.15.15.51 -j REJECT |
Sonuç olarak, söz konusu IP adresi her bağlantı isteği gönderdiğinde sunucunuz 'bağlantı reddedildi' (connection refused) hatası verecektir.
-
Belirli Bir Arayüze Gelen Bağlantıları Engelleme
Belirli bir IP adresinden belirli bir ağ arayüzüne gelen tüm bağlantı isteklerini engellemeniz mümkündür. Örneğimizde IP adresi 15.15.15.51 ve ağ arayüzü ise eth0'dır. Bağlantıları engellemek için bu komutu kullanın:
|
1 |
iptables -A INPUT -i eth0 -s 15.15.15.51 -j DROP |
En güzel yanı ise ağ arayüzünü herhangi bir kuralda belirtebilmenizdir. Bu, herhangi bir kuralın yalnızca belirli bir ağa uygulanabileceği ve bununla sınırlandırılabileceği anlamına gelir.
Hizmet Kuralları: SSH
SSH bir bulut sunucusu kullanıyorsanız önem kazanır. Bu durumda, port 22 üzerinden gelen SSH bağlantılarına izin vermeniz gerekir. Bu bağlantıları etkinleştirmek, sunucunuza bağlanmanıza ve sunucunuzu yönetmenize olanak tanır. Burada, SSH ile ilgili bir dizi yaygın kuralı ele alacağız.
-
Tüm Gelen SSH Bağlantılarına İzin Verme
Aşağıdaki komutlar tüm gelen SSH bağlantılarını etkinleştirir:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Yukarıdaki kümede, ikinci komutu yalnızca OUTPUT politikası ACCEPT olarak ayarlanmamışsa kullanmanız gerekir. Kurulmuş SSH bağlantılarının giden trafiğine izin verir.
-
Belirli Bir Alt Ağdan Gelen SSH Bağlantılarına İzin Verme
Önceki komut tüm gelen bağlantılara izin verir. Yalnızca belirli bir IP adresinden veya alt ağdan gelen bağlantılara izin vermek için aşağıdaki komutları kullanabilirsiniz. Diyelim ki yalnızca şu alt ağdan gelen bağlantılara izin vermek istiyorsunuz: 15.15.15.0/24 alt ağı:
|
1 2 |
sudo iptables -A INPUT -p tcp -s 15.15.0/24 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Daha önce olduğu gibi, ikinci komutu yalnızca OUTPUT politikası ACCEPT olarak ayarlanmamışsa kullanmanız gerekir. Kurulmuş SSH bağlantılarının giden trafiğine izin verir.
-
Giden SSH Bağlantılarına İzin Verme
Güvenlik duvarı OUTPUT politikası ACCEPT olarak ayarlanmamışsa ve SSH bağlantılarını etkinleştirmek istiyorsanız bu komutları kullanın. Bu, sunucunuzun diğer sunuculara SSH bağlantıları başlatmasına izin verecektir:
|
1 2 |
sudo iptables -A OUTPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A INPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Bulut sunucularınızda SSH'den daha fazla yararlanmak için şu kılavuzlarımıza göz atın: Ubuntu'da uzak bir sunucuya bağlanmak için SSH nasıl kullanılır ve Linux sunucunuzu SSH anahtar tabanlı kimlik doğrulaması kullanacak şekilde nasıl yapılandırabilirsiniz.
-
Belirli Bir Alt Ağdan Gelen Rsync Bağlantılarına İzin Verme
Rsync, bir sistemden diğerine dosya aktarmak için kullanabileceğiniz bir özelliktir. 873 numaralı bağlantı noktasında çalışır. Dolayısıyla, belirli bir IP adresinden veya alt ağdan 873 numaralı bağlantı noktasında gelen Rsync bağlantılarına izin vermek istiyorsanız aşağıdaki komutları kullanın:
|
1 2 |
sudo iptables -A INPUT -p tcp -s 15.15.0/24 --dport 873 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 873 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Gördüğünüz gibi, hedef bağlantı noktasıyla birlikte kaynak IP adresini de belirttik. İkinci komutu yalnızca güvenlik duvarı OUTPUT politikası ACCEPT olarak ayarlanmamışsa kullanacaksınız. Kurulmuş Rsync bağlantılarının giden trafiğine izin verir. Ayrıca, bir VPS üzerindeki yerel ve uzak dizinleri eşitlemek için Rsync'ten yararlanma kılavuzumuza göz atabilirsiniz.
Hizmet Kuralları: Web Sunucusu
HTTP bağlantıları genellikle 80 numaralı bağlantı noktasından alınır. Benzer şekilde, HTTPS genellikle 443 numaralı bağlantı noktasından gelir. Apache ve Nginx gibi web sunucuları, bağlantı isteklerini yakalamak için bu bağlantı noktalarını dinler. Bazen varsayılan ayarlar sunucunuzun bu gelen istekleri reddetmesine veya düşürmesine neden olabilir. Bu nedenle, trafiğe izin vermek için yeni kurallar belirlemeniz gerekecektir.
-
Tüm Gelen HTTP Bağlantılarına İzin Verme
Bu komutlarla 80 numaralı bağlantı noktasındaki tüm gelen HTTP bağlantılarına izin verebilirsiniz:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
İkinci komutu yalnızca güvenlik duvarı OUTPUT politikası ACCEPT olarak ayarlanmamışsa kullanacaksınız. Kurulmuş HTTP bağlantılarının giden trafiğine izin verir.
-
Tüm Gelen HTTPS Bağlantılarına İzin Verme
443 numaralı bağlantı noktasındaki tüm gelen HTTPS bağlantı isteklerine izin vermek için bu komutları kullanın:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
İkinci komutu yalnızca iptables güvenlik duvarı OUTPUT politikası ACCEPT olarak ayarlanmamışsa kullanacaksınız. Bu komut, kurulmuş HTTP bağlantılarının giden trafiğine izin verir.
-
HTTP ve HTTPS'ten Gelen Tüm Bağlantılara İzin Verme
Hem HTTP hem de HTTPS bağlantı noktalarından gelen trafiğe izin vermek istiyorsanız multiport modülünü kullanabilirsiniz. Bu durum geçerliyse şu komutları kullanın:
|
1 2 |
sudo iptables -A INPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
İkinci komutu yalnızca güvenlik duvarı OUTPUT politikası ACCEPT olarak ayarlanmamışsa kullanacaksınız. Bu komut, kurulmuş HTTP ve HTTPS bağlantılarının giden trafiğine izin verir.
Hizmet Kuralları: MySQL
Bazen bir istemci, MySQL veritabanı sunucunuza erişmek için uzak bir sunucu kullanabilir. Bu durumda, ilgili bağlantı noktasından gelen trafiğe manuel olarak izin vermeniz gerekir. MySQL, 3306 numaralı bağlantı noktasından gelen bağlantı isteklerini dinler.
-
Bir Alt Ağdan Gelen MySQL Bağlantılarına İzin Verme
Belirli bir alt ağdan gelen MySQL bağlantılarına izin vermek istiyorsanız kaynağı belirtmeniz gerekir. Örneğimizde, şu komutları kullanarak 15.15.15.0/24 alt ağından gelen trafiğe izin vereceğiz:
|
1 2 |
sudo iptables -A INPUT -p tcp -s 15.15.0/24 --dport 3306 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 3306 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
İkinci komutu yalnızca güvenlik duvarı OUTPUT politikası ACCEPT olarak ayarlanmamışsa kullanacaksınız. Bu komut, kurulmuş MySQL bağlantılarının giden trafiğine izin verir.
-
Bir Arayüze MySQL Bağlantılarını Etkinleştirme
MySQL bağlantılarını hangi ağ arayüzünün alacağını da belirtmek istiyorsanız şu komutları kullanabilirsiniz:
|
1 2 |
sudo iptables -A INPUT -i eth1 -p tcp --dport 3306 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -o eth1 -p tcp --sport 3306 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Bu durumda, eth1.
adlı özel bir ağ arayüzüne yapılan bağlantılara izin veriyoruz. İkinci komutu yalnızca güvenlik duvarı OUTPUT politikası ACCEPT olarak ayarlanmamışsa kullanacaksınız. Bu komut, kurulmuş MySQL bağlantılarının giden trafiğine izin verir.
Sunucunuzda kolayca MySQL kurulumu yapmak için öğreticimizi takip edebilirsiniz.
Hizmet Kuralları: PostgreSQL
İstemciniz, PostgreSQL veritabanı sunucunuza erişmek için uzak bir sunucu kullanabilir. Bu durumda, bu gelen bağlantılara izin vermeniz gerekir. Bu bağlantılar 5432 numaralı bağlantı noktası üzerinden gelecektir.
-
Bir Alt Ağdan Gelen PostgreSQL Bağlantılarına İzin Verme
Belirli bir alt ağdan veya IP adresinden gelen PostgreSQL bağlantılarına izin vermek için aşağıdaki komutları kullanabilirsiniz. Görebileceğiniz gibi, kaynak olarak 15.15.15.0/24 alt ağını belirttik.
|
1 2 |
sudo iptables -A INPUT -p tcp -s 15.15.0/24 --dport 5432 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 5432 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
İkinci komutu yalnızca güvenlik duvarı OUTPUT politikası ACCEPT olarak ayarlanmamışsa kullanacaksınız.. Kurulmuş PostgreSQL bağlantılarının giden trafiğine izin verir.
-
Belirli Bir Arayüze PostgreSQL Bağlantılarını Etkinleştirme
PostgreSQL bağlantılarına yalnızca belirli bir ağ arayüzü için izin vermek istiyorsanız, şu komutları kullanın:
|
1 2 |
sudo iptables -A INPUT -i eth1 -p tcp --dport 5432 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -o eth1 -p tcp --sport 5432 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
Bu durumda, adlandırılmış özel bir ağ arayüzüne bağlantılara izin veriyoruz: eth1. İkinci komutu yalnızca güvenlik duvarı OUTPUT politikası ACCEPT olarak ayarlanmamışsa kullanacaksınız. Kurulmuş PostgreSQL bağlantılarının giden trafiğine izin verir.
Bu Ubuntu sunucunuza PostgreSQL kurma kılavuzunu takip edin.
Hizmet Kuralları: E-posta
Ayrıca güvenlik duvarınızı kullandığınız herhangi bir e-posta sunucusuna göre yapılandırmanız gerekebilir. Örneğin, Sendmail ve Postfix bir dizi farklı bağlantı noktasından bağlantı alabilir. Bu, e-posta teslimi için kullandığınız protokole bağlıdır. Belirli e-posta bağlantılarını engellemek ve bunlara izin vermek için hangi protokolü kullandığınızı bilmeniz gerekir.
-
Gelen SMTP Bağlantılarına İzin Verme
SMTP bağlantıları genellikle 25 numaralı bağlantı noktasından gelir. Ancak SMTP, giden e-postalar için yaygın olarak 587 numaralı bağlantı noktasını da kullanır. Sunucunuzun bu bağlantılara yanıt vermesine izin vermek için aşağıdaki komutları kullanın:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 25 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 25 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
İkinci komutu yalnızca güvenlik duvarı OUTPUT politikası ACCEPT olarak ayarlanmamışsa kullanacaksınız. Kurulmuş SMTP bağlantılarının giden trafiğine izin verir.
-
Tüm Gelen IMAP Bağlantılarına İzin Verme
Sunucunuzun 143 numaralı bağlantı noktasındaki tüm gelen IMAP bağlantılarına yanıt vermesine izin vermek için şunu yazıp çalıştırmanız yeterlidir:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 143 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 143 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
İkinci komutu yalnızca güvenlik duvarı OUTPUT politikası ACCEPT olarak ayarlanmamışsa kullanacaksınız. Kurulmuş IMAP bağlantılarının giden trafiğine izin verir.
-
Tüm Gelen IMAPS Bağlantılarına İzin Verme
Sunucunuzun 993 numaralı bağlantı noktasındaki IMAPS bağlantılarına yanıt vermesini sağlamak için bu komutları kullanın:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 993 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 993 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
İkinci komutu yalnızca güvenlik duvarı OUTPUT politikası ACCEPT olarak ayarlanmamışsa kullanacaksınız. Kurulmuş IMAPS bağlantılarının giden trafiğine izin verir.
-
Tüm Gelen POP3 Bağlantılarına İzin Verme
Bu bağlantılar 993 numaralı bağlantı noktasından gelecektir. Sunucunuzun IMAPS bağlantı isteklerine yanıt vermesini istiyorsanız aşağıdaki komutları kullanın:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 110 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 110 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
İkinci komutu yalnızca güvenlik duvarı OUTPUT politikası ACCEPT olarak ayarlanmamışsa kullanacaksınız. Kurulmuş POP3 bağlantılarının giden trafiğine izin verir.
-
Tüm Gelen POP3S Bağlantılarına İzin Verme
Sunucunuzun 995 numaralı bağlantı noktasından gelen POP3S istekleriyle bağlantı kurmasına izin vermek için bu komutları kullanın:
|
1 2 |
sudo iptables -A INPUT -p tcp --dport 995 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 995 -m conntrack --ctstate ESTABLISHED -j ACCEPT |
İkinci komutu yalnızca güvenlik duvarı OUTPUT politikası şu değere ayarlanmamışsa kullanırsınız: ACCEPT. Bu komut, kurulmuş POP3S bağlantılarının giden trafiğine izin verir.
-
Giden SMTP Postaları Nasıl Engellenir
Gelen bağlantılara izin vermek ve sunucu yanıtını etkinleştirmek yerine, giden postaları tamamen engellemek isteyebilirsiniz. Bu komutu kullanarak 25 numaralı bağlantı noktasındaki tüm giden SMTP postalarını engelleyebilirsiniz:
|
1 |
sudo iptables -A OUTPUT -p tcp --dport 25 -j REJECT |
Sonuç olarak, 25 numaralı bağlantı noktasındaki tüm giden trafik iptables güvenlik duvarı tarafından reddedilecektir. Başka bir hizmeti reddetmek istiyorsanız aynı komut yapısını kullanabilirsiniz. Tek yapmanız gereken 25 numaralı bağlantı noktasını ilgili bağlantı noktası numarasıyla değiştirmektir.
Sonuç
Bu kılavuz, temel iptables güvenlik duvarı komutlarını kapsamaktadır. İptables güvenlik duvarınızı etkili bir şekilde yapılandırmak için ihtiyacınız olan temel araçları sağlar. Her duruma uyan tek bir çözüm olmadığını unutmayın. Bu komutlar son derece esnektir. Bu, onları size ve gereksinimlerinize en uygun şekilde kullanabileceğiniz anlamına gelir.
Keyifli Çalışmalar!

Yorumlar
Henüz yorum yapılmamış. İlk siz olun.