Ana Sayfa

OpenBSD pf Güvenlik Duvarında af-to Seçeneği Basitleşiyor

1 dk okuma

OpenBSD'nin popüler güvenlik duvarı pf, uzun süredir adres ailesi çevirisi (af-to) için özel bir mekanizma kullanmaktaydı. af-to seçeneği, özellikle gelen paketler için adres ailesi dönüşümü yaparken, paketin otomatik olarak iletilmesini zorunlu kılıyordu ve bu da pf içinde karmaşık özel durumların ele alınmasını gerektiriyordu. Bu durum, pf'in iç işleyişinde tek bir durum (state) oluşturulmasına yol açarken, diğer iletilen bağlantılarda genellikle iki durum oluşturuluyordu. Bu "sihirli" davranış, bazı geliştiriciler tarafından uzun süredir eleştiriliyordu.

David Gwynne tarafından tech@ listesinde paylaşılan yeni bir yama, af-to seçeneğini daha az özel hale getirmeyi amaçlıyor. Bu yamanın temel amacı, af-to'nun artık paketlerin iletilmesini zorunlu kılmamasını sağlamak. Teknik olarak, pf_test fonksiyonu çevrilmiş paketi doğrudan ip_input veya ip6_input'a iterek, yerel TCP/UDP yığınının bu paketleri rdr-to'da olduğu gibi işlemesine olanak tanıyor. Bu değişiklik, pass out kuralları için de adres ailesi çevirisi desteği sunarak, yerel ağ yığından gelen IPv4 veya IPv6 paketlerinin diğer adres ailesine sorunsuz bir şekilde çevrilmesini mümkün kılıyor. Bu, pf kod tabanını önemli ölçüde basitleştiriyor.

Operatörler açısından ise küçük bir dezavantaj bulunuyor: af-to artık iletmeyi zorunlu kılmadığı için, iletilen bağlantılar için giden trafiğe izin veren ek kurallar tanımlamak gerekiyor. Örneğin, daha önce tek bir pass in kuralı yeterliyken, şimdi buna ek olarak bir pass out kuralı da eklenmesi gerekiyor. Ancak bu küçük yapılandırma değişikliğine rağmen, pf'in iç mekanizmalarının basitleşmesi ve daha tutarlı bir davranış sergilemesi, uzun vadede hem geliştiriciler hem de sistem yöneticileri için önemli faydalar sağlayacaktır.

İçgörü

`pf` güvenlik duvarının adres ailesi çevirisi mekanizmasını basitleştirerek daha tutarlı bir yapı sunması, kod karmaşıklığını azaltırken esnekliği artırıyor.

Kaynak