UFW, açılımı Uncomplicated Firewall. iptables için kolaylıkla konfigürasyon yapabileceğiniz bir arayüzdür. iptables solid ve flexible bir tool olmasının yanısıra, yeni başlayanlar için biraz karışık gelmektedir. Eğerki networkünüzü güvenli hale getirmek istiyor fakat hangi aracı kullanmanız gerektiğini bilmiyorsanız UFW tam da size göre.

Aşağıdaki işlemler Ubuntu 14.04 versiyonunda denenmiştir. Bu versiyonda UFW default olarak kurulu gelmekte ve pasif mod tadır. Eğer siz başka bir versiyon kullanıyorsanız, ve UFW kurulu değilse aşağıdaki komut ile kurabilirsiniz. Serverınıza giriş yaptığınız kullanıcı root değilse, tüm işlemlerin başına “sudo” eki koymayı unutmayın.

UFW serverımda kurulumu;

komutu ile bunu öğrenebilirsiniz. Kurulu ise aşağıdakine benzer bir çıktı alacaksınız.

Kurulu değilse aşağıdaki komut ile kuruyoruz;

UFW ne durumda?

Aşağıdaki komut ile statüsünü öğrenebiliriz.

Benim serverımda Status: inactive şeklinde bir çıktı verdi. Bu çok normal çünkü default olarak inaktif şekilde geliyor.

UFW’ yi aktif ettiğimizde default rules çalışmaya başlayacak.

UFW Default Rules Nedir ?

UFW aktif edildiğinde default olarak gelen tüm istekleri engeller, giden tüm isteklere ise izin verir. Bu şu demek oluyor; hiçbir kullanıcı serverınıza erişemez ve fakat server isteği heryere gidebilir. UFW’ i aktif etmeden önce ssh a izin vermeliyiz, çünkü servera ssh ile bağlanıyoruz, ssh 22.portu kullanıyor ve 22.port da dışarıdan gelen isteklere engellenirse, artık servera erişim sağlayamaz hale gelir. Bunu aşağıdaki komut ile yapıyoruz.

Ardından aşağıdaki komut ile UFW’ yi aktif ediyoruz.

Şimdi tekrar UFW’ nin aktif kurallarını listeleyen şu komutu çalıştırdığımızda 22.port SSH kuralımızı görebiliriz.

Artık ihtiyacımız olan tüm bağlantıları tek tek açmamız gerekiyor.

Örneğin http bağlantısına izin vermek için aşağıdaki komutu uyguluyoruz.

Bu komut ile 80 portunu açmış olduk. Aynı işi port numarasını yazarak ta yapabilirdik. Lakin UFW http yazınca 80 portunu açması gerektiğini biliyor.

Eğerki ssl kullanıyorsanız aşağıdaki komut ile https servisini yani 443 portunu dışarıdan gelen isteklere açabilirsiniz.

UFW ile portlara izin verirken mutlaka kullandıklarını protokolleride / ile ayırıp yazmalısınız.

Herhangi bir port a erişimi sadece belirli bir ip adresi ile mümkün kılmak istiyorsunuz aşağıdaki komutu yazmalısınız. Örneğin ssh port una sadece 1.1.1.1 ipsinden erişim vermek istiyorum.

“Tersten düşünmek, tek tek izin vermek yerine, tek tek engellemek”

UFW’ yi aktif ettiğinizde default olarak tüm gelen istekler engellenir. Ki olması gereken de budur. Biz dışarıdan isteğe açmamız gereken bağlantılara tek tek izin veririz. Fakat bunu değiştirmek isteyip, default olarak gelen tüm isteklere izin verebilirsiniz. Bu durumda ise, sadece istediğiniz bağlantıları tek tek engellersiniz.

Örneğin aşağıdaki komut ile, gelen tüm isteklere izin veriyoruz.

HTTP servisini engellemek istiyor isek aşağıdaki komutu yazıyoruz.

“Koyduğumuz kuralları silmek”

Eğer servis ismini yada port u biliyorsanız aşağıdaki gibi silebilirsiniz. Örneğin http ye dışarıdan gelen isteklere cevap verme kuralını siliyorum

http yerine port ta verebilirsiniz.

Eğerki bunları bilmiyorsanız aşağıdaki komut ile tüm kuralları numaralı şekilde sıralayabilirsiniz

ve her kuralın başında yer alan numarayı not alıp aşağıdaki komutta kullanarak ta silebilirsiniz

“UFW yi tamamen kapatmak”

Aşağıdaki komut ile UFW üzerinden aktif ettiğiniz tüm kurallar geçersiz kılınacaktır ve en başta döneceksiniz.

“Dışarıdan erişimi kapatılması tavsiye edilen servisler”

Kullandığınız database’ e dışarıdan erişimi kapatabilirsiniz. Çünkü brute-force attack yapılarak database’ inize erişim sağlanabilir ve hacklenebilirsiniz. Aynı zamanda zaten database’ inize uygulamanızdan başka bir server yada client’ ın ulaşmasına gerek yoktur. Tabi sadece sizin ulaşmanız gerekebilir. Bunun içinde zaten vpn kullanırsınız. Bu yüzden kullandığınız database’ in port unu öğrenip aşağıdaki komut ile engelleyin.

Yukarıdaki komut ile mysql servisine dışarıdan gelen istekleri engelledik.

Diyelim ki serverınıza vpn kuramadınız ve mysql servisine sadece evinizinden ve ofisinizden erişime izin vermek istiyorsunuz. Aşağıdaki komut ta ip adresini istediğiniz ile değiştirip bunu gerçekleştirebilirsiniz. Ayrıca database olarak postgresql yada mongodb de kullanıyor olabilirsiniz. Bunun içinde port u ona göre değiştirmelisiniz.

Örnekler uzar gider. Önemli olan sizin mantığı kavramanız. Kendi kurallarınızı istediğiniz gibi oluşturabilirsiniz.

Leave A Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir