Sisteminize istemediğiniz kişilerin erişmesini engellemek isteyebilirsiniz. Bu noktada bazı kurallar belirleyerek sisteminizdeki bütün trafiği kontrol altına alabilmeniz mümkündür. İşlemin yerine getirilmesi sırasında Iptables Linux güvenlik duvarı kullanılmaktadır. Iptables Linux güvenlik duvarı ayarı sizlere sunucunuza sadece seçmiş olduğunuz trafiğin ulaşmasını sağlayacaktır. Sizlere yazımızda ise Ubuntu VBS güvenliğini sağlayacağınız evrede Linux güvenlik duvarı kullanma hakkında bilgi vereceğiz.
RHEL / CentOS işletim sistemi kullanmakta olan kişilerin sisteminde firewallD adında bir sistem kurulu olarak gelir. Iptables kullanma yoluna gidecek olan kişiler bu sistemi devre dışı bırakması gerekmektedir.
Iptables kullanarak Ubuntu VPS güvenlik duvarı ayarlarınızı gerçekleştirebilmek için ihtiyacınız olan şeyler şu şekildedir:
Veriler internet üzerinden gönderileceği sırada paketler şeklinde aktarılmaktadır. Linux sisteminde yer almakta olan Kernel ise sizlere sisteminize gelen ve giden trafiği filtreleme imkanı sağlar. Iptables ise bu veri tablolarınızı yönetme noktasında komut satırı kullanmanızı sağlamakta olan bir uygulamadır. İsterseniz birçok tablo belirleyebilmeniz mümkündür. Her tablonun yapısında ise birden fazla zincir yer alabilmektedir. Burada belirlemiş olduğunuz kurallar ise kural konuşmuş olan paketlerde ne yapılacağını göstermektedir. Paket eşleşmelerinde paketlere bir hedef yani target verilmektedir. Target eşlenmesinin yerine getirilmesi sırasında ise bazı değerler verilmektedir. Bu değerler şu şekildedir:
Yazımızda sizlere güvenlik duvarını sağladığımız sırada ise filter sistemi ile bunu oluşturacağız. Filtreler tablosunda sizlere üç tane zincir yanı kural grubu sunulmaktadır. Bu zincirler ise şu şekildedir:
Linux işletim sistemine sahipseniz Iptables kurulumu büyük ihtimalle sisteminizde otomatik olarak yer alacaktır. Yalnız Debian ya da Ubuntu sistemi kurulu olmayabilir. Bu durumda kurulumu gerçekleştirmek için kullanmanız gereken komut satırları şu şekildedir:
Sudo apt-get update
Sizlere vereceğimiz komutu kullanarak Iptables yapılandırmanızı kontrol etme yoluna gidebilmeniz mümkündür. Komut satırında yer almakta olan –L bütün kuralları gösterirken –v seçeneği ise sizler daha geniş çaplı bir liste oluşturabilme imkanı sağlamaktadır. Komut satırında yer almakta olan bu harfler büyük küçük harf duyarlı şekilde yer almaktadır. Iptables durumunuzun nasıl olduğunu kontrol edebilmek için şu kod satırını kullanabilirsiniz:
Sudo iptables –L –v
Komutları girmenizin ardından karşınıza çıkabilecek örnek çıktı ise şu şekilde olacaktır:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Girmiş olduğunuz komutların çıktısı bu şekildedir. Çıktıda yer almakta olan bütün zincirler ise belirtmiş olduğumuz ACCEPT politikasına ayarlanmış konumdadır. Bu çıktıda yer alan zincirlerde herhangi bir kural yer almıyor. Adımları daha iyi şekilde öğrenebilmeniz için ise INPUT zinciriyle değiştirme yoluna gideceğiz.
Bir kural belirlenmesi o kuralın zincire eklendiği anlamına gelmektedir. Genel karşımıza çıkan seçeneklerde belirlenmiş olan iptables komutu ise şu şekilde sunulmaktadır:
Sudo iptables –A –i <interface> -p <protocol (tcp/udp) > -s <source> --dport <port no.> -j <target>
Komut satırında yer almakta olan –A harfi komut dizininde append yani sona eklemeyi temsil etmektedir. Zincir ise kurallarımızı eklemek istediğimiz zinciri bizlere göstermektedir. Interface komutu ise trafiğine filtre eklemek istediğimiz ağ trafiğini göstermektedir. Protocol komutuyla beraber ağ protokolüne göre filtreleme kuralları belirleyebiliyoruz. Burada trafiğini filtrelemek istediğiniz bir port veya port numarası bulunuyorsa bunu belirtebilmeniz de mümkündür.
Sunucunuzun üzerinde yer almakta olan uygulamaların ve veritabanlarınızın aynı şekilde iletişim kurmaya devam etmesini istediğiniz takdirde girmeniz gereken komut satırı şu şekildedir:
Sudo iptables –A INPUT –i lo –j ACCEPT
Komutu girdikten sonra karşınıza çıkacak olan çıktı şu şekilde olacaktır:
Chain INPUT (policy ACCEPT 7 packets, 488 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- lo any anywhere anywhere
Çıktıda yer almakta olan –A seçeneği INPUT zincirinde sona eklemek için kullanılırken lo ise arayüzde yer almakta olan bütün bağlantılara izin verildiğini göstermektedir. Lo’nun açılımı loopback Interface şeklindedir. Aynı makinede yer almakta olan web uygulamaları ya da veritabanı arasındaki gibi localhost kullanılarak bütün iletişimin gerçekleşmesi için kullanılabilmektedir.
Kullanılmakta olan http, SSH ve SSL portlarının bağlantılarına aynı şekilde devam etmelerini sağlayabilmeniz mümkündür. Bu bağlantıların port numaraları ise şu şekildedir:
Bu portların çalışmalarına izin vermek istediğiniz sırada sizlere aşağıda belirtmiş olduğumuz komutları girmeniz gerekmektedir. Komut satırlarında protokolleri –p seçeneğiyle protokollerin bağlı olmuş olduğu portları ise –dport seçeneğiyle gösterdik. İşlemleri yapmanız için uygulamanız gereken komutlar şu şekildedir:
Sufo iptables –A INPUT –p tcp –dport 22 –j ACCEPT
Bu komutların girilmesiyle beraber port numaralarından sisteminize gelen bütün TCP protokollerini kabul edebilirsiniz.
Sisteminize gelen trafiği IP adresine göre ya da adres aralığına göre kabul etmek veya reddetmek istediğiniz takdirde bu durumu –s seçeneği ile belirtmeniz gerekmektedir. Örneğimizde sizlere 192.168.1.2 adresi üzerinden gelmekte olan paketleri nasıl kabul edeceğinizi göstereceğiz. Bu adresten gelen paketleri kabul etmeniz için girmeniz gereken komut dosyası şu şekildedir:
Sudo iptables –A INPUT –s 192.168.1.2 –j ACCEPT
Bu adresten gelmekte olan paketleri reddetmek istediğiniz sırada girmeniz gereken komut satırı şöyledir:
Sudo iptables –A INPUT –s 192.168.1.2 –j DROP
Gelen trafiği reddetmek istediğiniz noktada IP aralığı belirleyebilmeniz de mümkündür. Burada –m seçeneğini kullanarak IP aralığını ise –src-range ile belirtip Iprange modülünü kullanmalısınız. Örnek kullanım ise şu şekildedir:
Sudo iptables –A INPUT iprange –src-range 192.168.1.200-192.168.1.300 –j DROP
Sistemde kurallarınızı tam olarak belirledikten sonra ise gelen bütün trafiği reddetmeniz mümkündür. Bunu da DROP komutuyla yerine getirebilirsiniz. Bunu gerçekleştirmediğiniz takdirde ise bütün açık olan portlardan sisteminize girişe izin vermiş olursunuz. Bu trafiği reddetmek için kullanabileceğiniz komut şu şekildedir:
Sudo iptables –A INPUT-j DROP
Bu komutu girdiğiniz zaman ise yukarıda belirtmiş olduğumuz portlar dışında nereden trafik geliyorsa bu trafik ret edilir. Ayarlamış olduğunuz kuralları kontrol etmek istediğiniz sırada ise girmeniz gereken komut şu şekildedir:
Sudo iptables –L –v
Sisteminizde girmiş olduğunuz bütün kuralları silerek tamamen yeni bir sayfa açmak istediğiniz noktada ise kullanmanız gereken komut şu şekildedir:
Sudo iptables –F
Girmiş olduğunuz bu komutla beraber girmiş olduğunuz bütün kurallar silinmektedir. Sadece belirli bir kural silmek isteyen kişiler ise bunu yerine getirecekleri sırda –D seçeneğinden faydalanması gerekir. Bunu gerçekleştireceğiniz sırada kuralların numarasını girmek için girmeniz gereken komut satırı şu şekildedir:
Sudo iptables –L –line-numbers
Bu komutu girmenizle beraber bütün kuralları numaralarıyla beraber görebilmeniz mümkündür.
Oluşturmuş olduğunuz bütün iptables kuralları sisteminizin hafızasında yer almaktadır. Bu durum sisteminizi her tekrar başlatmanızda komutları tekrar girmenize sebep olmaktadır. Reboot yaptıktan sonra kulların kalıcı hale gelmesi adına şu komutu kullanma yoluna gidebilmeniz mümkündür:
Sudo / sbin/iptables-save
Bu komutun kullanılmasıyla beraber belirlediğiniz bütün kurallar sistem yapılandırma dosyanıza kaydedilmektedir. Sisteminizi yeniden başlattığınız zaman ise bu dosyadan otomatik olarak kurallar çekilmektedir. Yalnız kurallarda yapacağınız bütün değişimlerden sonra bu komutu çalıştırmanız çok önemlidir. Koruma duvarını sıfırlamak istediğiniz sırada ise bütün kuralları silerek değişikliklerinizi şu komutlarla kaydetmelisiniz:
Sudo iptables –F
Bir yanıt yazın