Kurumsal Linux sunucularında güvenlik kuralları çoğu zaman inbound trafiğe odaklanır. Oysa veri sızıntısı, yanlış proxy kullanımı, kontrolsüz paket yükleme veya beklenmedik dış API çağrıları gibi pek çok risk çıkış trafiğinde görünür olur. Bu nedenle üretim sunucularında egress davranışını da açık politika ile yönetmek gerekir. nftables, bu iş için hem modern hem de okunabilir bir zemin sunar.
Egress kontrolü neden önemli?
Şu senaryolar çok yaygındır:
- Paket yöneticisi yalnızca iç mirror’a gitmelidir
- Uygulama sadece belirli API sağlayıcılarına çıkmalıdır
- Log ve telemetry yalnızca kurumsal backend’lere gitmelidir
- Yönetim araçları internete açık olmamalıdır
Bu kurallar ağ duvarında tanımlı olsa bile host seviyesinde ikinci kontrol katmanı kurmak özellikle hassas sistemlerde değerlidir.
Örnek tasarım
Bu rehberde şu yaklaşımı kuracağız:
- Varsayılan olarak çıkış trafiğini reddet
- DNS, NTP ve iç mirror gibi zorunlu hedefleri izinli listeye al
- Uygulama kullanıcısına özel ek hedefler tanımla
- Loglama ile reddedilen akışları görünür kıl
Önce /etc/nftables.conf içinde sade bir inet tablosu oluşturalım:
table inet filter {
set allowed_ipv4 {
type ipv4_addr
elements = { 10.10.0.10, 10.10.0.20, 198.51.100.40 }
}
chain output {
type filter hook output priority 0;
policy drop;
ct state established,related accept
oifname "lo" accept
udp dport 53 ip daddr 10.10.0.10 accept
udp dport 123 ip daddr 10.10.0.20 accept
tcp dport { 443, 9418 } ip daddr @allowed_ipv4 accept
meta skuid "appuser" tcp dport 443 ip daddr 198.51.100.40 accept
counter log prefix "NFT-EGRESS-DROP " level info drop
}
}
Bu örnekte DNS ve NTP yalnızca iç hedeflere gider. HTTPS çıkışı ise izinli set ile sınırlandırılır.
Kuralları güvenli şekilde nasıl devreye alırsınız?
Varsayılan drop politikasına doğrudan geçmeyin. Güvenli rollout için:
- Önce log-only zincir kurun
- Birkaç saat gerçek trafiği izleyin
- Eksik hedefleri tamamlayın
- Sonra
policy dropile etkinleştirin
Birçok ekip ilk denemede paket mirror, zaman sunucusu veya telemetry hedefini unutuyor. Bunun bedeli gereksiz operasyon gürültüsü oluyor.
Operasyon tarafında hangi metrikler izlenmeli?
Egress politikası kurulduktan sonra sadece kural varlığına değil davranışına bakın:
- Reddedilen bağlantı sayısı
- En çok reddedilen hedefler
- Uygulama kullanıcılarına göre dağılım
- Politika değişikliği sonrası hata oranı
Bu veriler yoksa birkaç hafta sonra kural seti bir “neden var bilmiyoruz” dosyasına dönüşür.
Sonuç
nftables ile çıkış trafiği politika katmanı kurmak, sunucu güvenliğini ağ sınırının bir uzantısı hâline getirir. Doğru uygulandığında üretim host’larının nereye konuşabileceği netleşir, yanlış yönlendirilmiş trafik daha erken görünür ve veri sızıntısı yüzeyi daralır. Özellikle kurumsal altyapıda gerçek güvenlik, inbound kapıları kapatmak kadar outbound davranışı da niyetli hâle getirmekten geçer.