Firewall Nedir?

Firewall, Linux sunucularda kullanılan güvenlik duvarlarının genel adıdır. Windows'ta nasıl ki Microsoft Defender varsa, Linux için de bazı güvenlik duvarları mevcuttur. Tabi konu Linux olunca güvenlik duvarınızı da kendiniz yapılandırabilirsunuz elbette :) Eğer ben firewall (hazır yazılım) kullanmak istemiyorum aga diyorsanız "~/.ssh/authorized_keys" dosyası içerisinde gerekli kod bloklarını kendiniz yapılandırarak gerekli işlemleri hazır yazılım kullanmadan yapabilirsiniz.

Kendimiz yapılandırıp, atomu yeniden keşfetmek yerine bu işi çok daha hızlı yapmak istiyorsanız bu durumda çeşitli yapılar kullanabilirsiniz. Örneğin tüm işlemlerin çok daha kolay olduğu UFW (Uncomplicated Firewall) yapısı işinizi oldukça kolaylaştıracaktır.

Ha yok ben az çok bilgi sahibiyim bu nedenle olayların biraz daha komplike (karmaşık) hâlde bulunmasını istiyorum diyorsanız bu durumda Firewalld isimli yapıyı kullanabilirsiniz.

Biz atomu yeniden keşfetmeyeceğiz ve olabildiğince hızlı bir şekilde Linux sunucularda nasıl yapılandırma yapabiliriz öncelikli olarak bu konunun üzerinde duralım.

UFW Yüklü mü?

UFW, Linux işletim sistemlerinin Ubuntu dağıtımlarında, 18 ve üstü versiyonlarda default olarak kurulu bir şekilde gelmektedir. Tabi sizin sunucunuzda kurulu olup olmadığını anlamak için

sudo ufw status

komutunu girmeniz yeterli olacaktır. Eğer çıktı olarak size "active" veya "inactive" gibi değerler veriyorsa UFW sizde kurulu demektir. Fakat çıktı olarak

bash: command not found

şeklinde bir çıktı veriyorsa bu durumda kullandığınız sistem içerisinde UFW kurulu değildir. Biz kurulu olmadığını varsayıyoruz ve öncelikli olarak kurulum işlemini yapıyoruz. Eğer kurulu ise bir alt başlığı atlayabilirsiniz.

UFW nasıl kurulur?

Öncelikli olarak sistem üzerindeki uygulamaların sürüm bilgilerini kontrol ediyoruz ve güncelleştirme işlemini yapıyoruz.

sudo apt update

bu komut "/etc/apt/sources.list.d/" içerisindeki dosya sürümlerinin güncel olup olmadığını kontrol eder. Eğer güncel değilse liste içerisindeki bütün uygulamaların sürümlerini günceller. Böylelikle "install" işlemi esnasında en güncel sürümü kurmuş oluruz.

sudo apt install ufw
bu komut sayesinde "UFW" yapısını sistemimizin içerisine dahil etmiş oluyoruz.

UFW Nasıl Kullanılır?

UFW, yüklendiğinde doğrudan herhangi bir değişiklik olmaz fakat

sudo ufw enable

yaptığımız anda birçok şey değişmiş olacaktır. Eğer siz sunucuya 22 portu üzerinden SSH ile bağlandıysanız, bu durumda bağlantınız kopabilir :) Veya uygulamanız 80(HTTP) veya 443(HTTPS) portunda çalışıyorsa bu durumda UFW tüm portları kapattığından yazdığınız web uygulaması çalışmayabilir ve hatta kesin olarak çalışmayacaktır.

Bu durumda yapmamız gereken, eğer bağlantımız kopmadıysa hızlı bir şekilde 22 portunu açmak olacaktır. Bununla birlikte 80 ve 443 portlarını açmak için

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 22/tcp

"allow" (izin ver) komutu aracılığı ile ilgili portları açıyoruz. Bu ayarları yaptıktan sonra "ufw status" komutu ile tekrar incelediğimizde izin verilen portları görüntüleyebiliriz.

Peki ya Güvenlik?

Doğru eğer 22/tcp veya 22/udp portunu doğrudan yukarıdaki gibi aktif hâle getirirseniz bu durumda UFW kullanmanızın da hiçbir manası kalmayacaktır. Peki ya nasıl olmalıydı? 22. Port, sunucuya SSH ile bağlanmak için kullanılan bir porttur. Bu nedenle bu portun güvenliği oldukça önemlidir. Eğer ki sunucunun güvenliğini düşünüyorsak bu portu öyle bir hâle getirmeliyiz ki sadece biz bağlanalım ve bizden başka hiç kimse bu porta bağlantı yapamasın! Bu durumda sunucuya sadece bizim IP adresimiz ile bağlanılsa,

sudo ufw allow from 192.168.1.1 to any port 22 proto tcp
örneğin yukarıdaki gibi bir bağlanma işlemi olsa (192.168.1.1 kısmına kendi IP adresinizi giriniz) ne olacaktır? Sunucuya sadece o IP adresi ile bağlantı işlemi gerçekleştirilecektir.

Böylelikle sunucuya sadece kendi IP adresiniz ile bağlantı yapabileceksiniz fakat şunu da unutmamak gerekir IP adresleri manipüle edilebilir, sizin IP adresinizden bir bağlantı işlemi yapılabilir. Tabiki her sorunu bu yazıda anlatacak değiliz :) UFW ile işlem burada bitmiştir. Allah mübarek eylesin :)

Unutmadan!

Eğer aynı kuralı birden çok kere verdiyseniz örneğin "ufw status" yapıldığında sizde birden çok 22 değeri varsa "22", "22/tcp" veya "22/tcp (v6)" gibi bu durumda yanında IP adresiniz yazmayanı mutlaka kaldırmanız gerekmektedir.

Kaldırma işlemini yapmak için öncelikli olarak

sudo ufw status numbered

komutu ile silmek istediğiniz yapının kaçıncı sırada olduğunu tespit ediyorsunuz. Kaçıncı sırada olduğunu bulduktan sonra

sudo ufw delete 2

veya 3 veya 4 gibi değerlerle (sizde kaçıncı sırada ise) o kuralı kaldırabilirsiniz.