AHTAPOT | Firewall Builder Kullanım Senaryoları
Transkript
AHTAPOT | Firewall Builder Kullanım Senaryoları
AHTAPOT | Firewall Builder Kullanım Senaryoları Bu dökümanda, Ahtapot projesi kapsamında kullanılmakta olan Firewall Builder uygulamasının kullanım senaryoları anlatılmaktadır. İçerik Yeni Güvenlik Duvarı Tanımlama Güvenlik Duvarı Bonding Tanımlama Zaman Tabanlı Güvenlik Duvarı Kural Tanımlama Yedekli Güvenlik Duvarı Tanımlama Güvenlik Duvarı Yedeklilik Testi Uygulanması Güvenlik Duvarı Kural Tanımlama Güvenlik Duvarı Kural Kapatma ve Kaldırma Güvenlik Duvarı Toplu IP Adres Girişi Güvenlik Duvarı QoS ve Rate Limiting Tanımlama Güvenlik Duvarı Değiştirme secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 2 /73 Yeni Güvenlik Duvarı Tanımlama 1. Tanımlanacak tüm güvenlik duvarı sistemleri Firewall Builder uygulamasının açılış sayfasında “Object” tabında bulunan “Firewalls” klasörü altına eklenmelidir. Farklı DMZ’ lerde bulunan güvenlik duvarlarını klasör yapısı altında toplamak için “New Subfolder” seçeneği ile farklı klasörler oluşturulabilir. Sisteme yeni bir güvenlik duvarı eklemek için, eklenmek istenen klasöre sağ tıklanarak “New Firewall” seçeneği seçilir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 3 /73 2. Açılan “Creating new firewall object” penceresinde güvenlik duvarını sisteme tanıtmayı sağlayacak temel bilgilerin girişi yapılmaktadır. “Name of the new firewall object” satırına sisteme eklenecek güvenlik duvarının adı girilmektedir. “Choose firewall software it is running” satırına GDYS sisteminde güvenlik duvarlarında kullanılan secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 4 /73 güvenlik duvarı yazılımı olarak “iptables” seçilir. “Choose OS the new firewall runs on” satırında, güvenlik duvarlarının işletim sistemi bilgisi girilir. GDYS projesi kapsamında Pardus sürümü kullanıldığı için “Linux 2.4/2.6” seçilerek “Next” butonuna basılır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 5 /73 3. Güvenlik duvarlarında Firewall Builder arayüzündeki yapılandırma işlemine, yönetim arabirimini tanıtarak başlanmalıdır. Bu aşamada belirtilecek olan ip adresi, Firewall Builder uygulaması ile güvenlik duvarı üzerinde yapılacak her değişikliğin uygulanması için GDYS sistemleri tarafından erişimde kullanılacak adrestir. “Configure interfaces manually” seçeneği seçilerek, “Next” butonuna basılır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 6 /73 secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 7 /73 4. Yönetim arabirimi olarak kullanılacak, arabirim yapılandırmasını yapmak üzere, sol tarafta bulunan “yeşil artı” simgesine basılır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 8 /73 secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 9 /73 5. “Yeşil artı” butonuna basılarak oluşturulan yeni sekmeye, yönetim için kullanılacak arabirim bilgileri girilmelidir. “Name” satırına, güvenlik duvarı işletim sisteminde bulunan ve yönetim için kullanılacağı kararlaştırılmış olan arabirimin adı girilir. “Label” satırında, belirlenen arabirimin iç ya da dış ağ yapısında kullanılacağı bildirilir. “Type” bölümünde IP adresi elle tanıtılacağından “Static IP address” seçeneği seçilerek “Add address” butonuna basılır. Bu butona basılması ile, alt satırdaki “IP Address” satırı aktif hale gelmediktedir. Bu satırda “IP Address” ve “Netmask” bilgileri doldurularak, “Finish” butonuna basılır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 10 /73 6. Güvenlik duvarı ekleme işlemi tamamlandıktan sonra, Firewall Builder ekranında eklenen “Firewalls” klasörü altında güvenlik duvarı görünmektedir. Güvenlik duvarı üzerinde gerekli ağ yapılandırmasını tamamlanmadan önce, güvenlik duvarını Firewall Builder üzerinden yönetmek için gerekli ayarlamalar yapılır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 11 /73 secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 12 /73 7. Oluşturulan güvenlik duvarının adın tıklanarak alt bölümde açılan ekranda, “Version” satırından “1.4.4 or later” seçeneği seçilir. 8. Firewall Builder üzerinden yönetimi yapılacak güvenlik duvarlarının ağ yapılandırma işleminin sunucuya erişimi kaybetmemesi için, arabirim yapılandırmalarını yapmaması sağlanır. Güvenlik duvarı tanıtıldıktan sonra dönülen ana ekranda, yeni eklenmiş güvenlik duvarı seçili konumda iken, “Firewall Settings” seçeneği seçilir. Açılan “iptables advanced settings” ekranında gelişmiş güvenlik duvarı ayarları bulunmaktadır. “Script” sekmesine giderek, “Managing interfaces and addresses” başlığı altında ön tanımlı seçilmiş olan “Verify interfaces before loading firewall policy” ve “Configure interfaces of the firewall machine” ayarların seçimleri kaldırılırak “OK” butonuna basılır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 13 /73 secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 14 /73 9. Yönetim arabirimi olarak eklediğimiz ip adres bilgisini, Firewall Builder uygulamasında yönetim için kullanıcağı bildirilir. Bu işlemi yapmak için, “Firewalls” klasörü altında ilgili güvenlik duvarı bulunarak ağaç yapısı açılır. Yönetim arabirimi olarak belirlenmiş arabirime çift tıklayarak, uygulama penceresinin alt kısmında bu arabirime ait ayarların görüntülenmesi sağlanır. İlgili ayarlarda ön tanımlı olarak seçili olmayan “Management interface” seçeneği seçilerek gerekli yapılandırma tamamlanır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 15 /73 10. Firewall Builder uygulamasına eklenen güvenlik duvarında bond yapısında kullanılmayarak tek olarak görev yapacak arabirimlerin eklenmesi için, ilgili güvenlik duvarına sağ tıklayarak “New Interface” seçeneği seçilir. Eğer sistemde bulunan diğer arabirimler bond yapısında kullanılacak ise bu adım atlarak, “Bonding Tanımlama” başlığı altındaki adımlar gerçekleştirilir. Sisteme birden fazla eklecek arabirim mevcut ise bu adımlar tekrarlanacaktır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 16 /73 11. Yeni arabirim sisteme eklendikten sonra, eklenen arabirime gerekli ip adres atamalarını yapmak üzere sağ tıklanarak “New Address” seçeneği seçilir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 17 /73 secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 18 /73 12. “New Address” seçeneği seçildiğinde, ilgili arabirim altında oluşan “...:eth1:ip” satırına tıklanır. Firewall Builder uygulamasının alt bölümünde ilgili arabirime ait ip adres ayarları görüntülenmektedir. Bu bölümde “Address” kısmına arabirime ait ip adresi; “Netmask” satırına ise ilgili ağa ait ağ maskesi bilgisi girilir. Tüm arabirimler tanımlandığında “Save” butonuna basılır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 19 /73 Güvenlik Duvarı Bonding Tanımlama 1. Güvenlik duvarı sistemleri üzerinde bulunan arabirimlerde yedekliliği sağlamak amacı ile yapılacak bonding işlemi,konsol üzerinden yapılmaktadır. 2. Otomatik geçişin sağlanması için, sisteme “ifenslave” paketi kurulur. # sudo apt-get install ifenslave 3. Paket kurulumu tamamlandıktan sonra sistem bonding yapısına geçirilmeye hazır duruma gelmiştir. Döküman içerisinde örneklendirerek anlatılan yapıda üç adet ethernet arabirimi bulunmaktadır. (eth0,eth1 ve eth2) eth0 tek başına kullanılacak olup eth1 ve eth2 için bonding tanımlaması yapılacaktır. 4. Gerekli ayarlamaların yapılması için, tüm arabirimler kapatılır ve ağ servisi durdurulur. # # # # sudo sudo sudo sudo ifdown eth0 ifdown eth1 ifdown eth2 /etc/init.d/networking stop 5. Yapılandırma işlemleri “/etc/network/interfaces” dosyasından yapılmaktadır. Yapılandırma dosyası ilk açıldığında aşağıda bulunan örnekteki gibi, “Pardus Temel ISO” kurulumu sonucunda eth0 yapılandırılmış durumda bulunmaktadır. # sudo vi /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 20 /73 iface lo inet loopback # The primary network interface allow-hotplug eth0 iface eth0 inet static address 10.0.0.214 netmask 255.255.255.0 network 10.0.0.0 broadcast 10.0.0.255 gateway 10.0.0.1 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 10.0.0.1 6. “/etc/network/interfaces” dosyasının içeriğine bond arabirimi için yapılandırma satırları eklenir. bond arabirimine verilecek ip adresi, ağ maskesi ve ağ bilgileri girilir. Akabinde bond yapılandırması yapılır. “slaves” satırında bond yapısına eklenmek istenen arabirim bilgileri yazılır. “bond_mode” satırında yapının nasıl kullanılacağı bildirilir. Mevcut yapılandırmada aktif/pasif olacak şekilde yapılmıştır. Yerel arabirim durum kontrolünü sağlayan MII monitor’ ün kontrol sıklığını belirtmek için milisaniye bazında değer “bond_miimon” satırına girilir. “bond_downdelay” satırı ile, aktif olarak çalışan arabiriminden milisaniye bazında ne kadar süre cevap alınmadığında, pasifde bekleyen arabirime geçiş yapılacağı belirlenir. “bond_updelay” parametresi ile, bağlantısı kesilen arabirimin, bağlantısı geri geldiğinde kaç milisaniye içerisinde bond grubuna tekrar alınacağını bildirir. #The bond0 network interface auto bond0 iface bond0 inet static address 10.0.0.216 netmask 255.255.255.0 network 10.0.0.0 broadcast 10.0.0.255 slaves eth1 eth2 bond_mode active-backup bond_miimon 100 secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 21 /73 bond_downdelay 200 bond_updelay 200 7. Gerekli yapılandırma yapıldıktan sonra dosya kaydedilerek kapatılır. 4. adımda kapattığımız arabirimler ve ağ servisi aşağıdaki komutlar ile tekrar çalışır konuma getirilir. # sudo ifup eth0 # sudo ifup bond0 # sudo /etc/init.d/networking start secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 22 /73 8. Sunucu üzerinde yapılan ayarlamalardan sonra yapılandırmayı Firewall Builder ekranına yansıtmak için Firewall Builder uygulamasına giriş yapılır. bond yapılandırması yapılan güvenlik duvarının adına sağ tıklanarak “New Interface” seçeneği seçilir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 23 /73 secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 24 /73 9. Oluşan yeni arabirimde “Name” satırına sunucu üzerinde yapılan yapılandırma doğrultusunda bond yapısına verilmiş isim girilir. “Label” satırına, ilgili arabirimin iç ya da dış ağda kullanılacağına dair bilgi girilirek, “Advanced Interface Settings” seçeneği seçilir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 25 /73 10. Açılan “Linux: interface settings” ekranında ilgili arabirimi bond yapısında kullanıldığını belirtlen ayarlamalar yapılır. “Device Type” olarak “Bonding” , “Bonding policy” olarak “802.3ad” ve “Xmit hash policy” olarak “layer2” seçilerek “OK” butonuna basılır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 26 /73 11. Bond yapısına dahil olduğunun bilgisini oluşturduğumuz arabirim grubunda kullanılan alt arabirimler “bond0” satırına sağ tıklayarak “New Interface” seçeneği seçilerek oluşturulur. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 27 /73 secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 28 /73 12. “New Interface” seçeneğinin seçilmesi ile oluşan yeni arabirimde sadece “Name” satırına sunucu üzerinde “slave” olarak ayarlanılan arabirim yazılır. Aynı işlem tekrarlanarak ikinci arabirimde bu şekilde oluşturulur. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 29 /73 13. Arabirimler oluşturulduktan sonra, “bond0” satırına sağ tıklanarak bond yapısında belirtilen ip adresini girmek üzere “New Address” seçeneği seçilir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 30 /73 14. Oluşan “bond0:ip” satırına tıklanarak Firewall Builder ekranında ip adres ayarlarının açılması sağlanır. “Address” ve “Netmask” satırlarına sunucu üzerindeki yapılandırmada belirtilen ip adres ve ağ maskesi bilgileri girilir. Akabinde “Save” butonuna basılarak kaydedilir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 31 /73 Zaman Tabanlı Güvenlik Duvarı Kural Tanımlama 1. Firewall Builder arayüzünden zaman tabanlı güvenlik duvarı kuralı tanımlamak için, öncelikli olarak zaman aralığı belirlenir. Firewall Builder uygulamasının sol tarafında bulunan ağaç yapısından “Time” seçeneğine tıklanaran “New Time Interval” seçeneği seçilir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 32 /73 2. Firewall Builder uygulamasının alt tarafında açılan ekran ile, zaman tabanlı kural için zaman tanımlamaları yapılır. “Name” satırında kurala verilecek isim girilir. Zaman tabanlı kural yapısı iki şekilde çalışmaktadır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 33 /73 a. Belirli bir gün/saat aralığı için tanım oluşturulabilir. Bu tanım için, “Start date” ve “End date” başlıklarındaki seçenecek seçilerek, kullanılabilir hale getirilir. Akabinde kural aktif olması istenilen gün ve saat aralığı girilir. b. Haftanın belirli günlerini kapsayacak şekilde ilgili günün yanındaki kutucuk seçilerek akif hale getirilir ve kuralın o günlerde aktif olması sağlanır. “Start date” ve “End date” seçenekleri seçilmediği takdirde de “Start time” ve “End time seçenekleri aktif durumdadır. Bu sebep ile, haftanın belirli günleri belirli bir saat aralığında da kuralların aktif olması sağlanabilir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 34 /73 3. Zaman ayarlaması yapılacak kuralın girişi ilgili güvenlik duvarının “Policy” sekmesinde gerçekleştirildikten sonra, sürükle bırak yöntemi ile istenilen zaman tanımı kural satırınında “Time” değerine karşılık gelen kutuya bırakılır. Akabinde “Install” butonuna basılarak kuralın sistemlere gönderilmesi sağlanır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 35 /73 Yedekli Güvenlik Duvarı Tanımlama 1. Yedeklilik için yapılandırılacak güvenlik duvarı sunucularının paylaşımlı ve yedekli kullanılacak IP adresleri belirlenir. Fiziksel sunucular, Firewall Builder sistemine eklenir. 2. Firewall Builder arayüzünün sol tarafında bulunan ağaç listesinde “Clusters” seçeneğine sağ tıklanarak, çıkan listeden “New Cluster” seçeneği tıklanır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 36 /73 secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 37 /73 3. Açılan ekranda “Enter the name of the new object” yazısının yanında bulunan boş alana cluster ismi girilir. Yedeklilik sistemine dahil edilecek güvenlik duvarları bu adımda “Use in cluster” sütunundan seçilerek, “Master” sütununda hangi güvenlik duvarının ana role sahip olacağı belirlenir. Böylelikle, yedeklilik sistemi çalışmaya başladığında erişilememe durumu söz konusu olmadıkça, sistem “Master” olarak seçilen güvenlik duvarı üzerinde çalışır. Seçimler tamamlandıktan sonra “Next” butonuna basılarak bir sonraki ekrana geçilir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 38 /73 4. Açılan yeni pencerede paylaşılacak arabirimler seçilir. Firewall Builder bu seçimi ön tanımlı seçerek sunmaktadır. Güvenlik duvarları özdeş çalışacakları için her bir güvenlik duvarı için aynı isimli arabirimlerin seçili olduğu kontrol edilir. Seçimlerin doğruluğu teyit edildikten sonra “Next” tuşuna basılarak bir sonraki adıma geçilir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 39 /73 secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 40 /73 5. Açılan pencerede yedeklilik sistemine verilecek IP adres bilgileri belirlenir. Burada önemli nokta IP adresini tanımlarken ağ maskesini 255.255.255.255 olarak girilmesidir. Diğer arabirimi için de aynı noktalara dikkat edip, girişi yaptıktan sonra “Next” tuşuna basılarak devam edilir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 41 /73 secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 42 /73 6. Açılan ekranda yedeklilik yaratılırken güvenlik duvarlarında bulunan kuralları aktarmak için kaynak güvenlik duvarı sorulmaktadır. Eğer daha önce Firewall Builder ile yönettilen bir güvenlik duvarı cluster yapıya çeviriliyor ve üzerinde kurallar mevcut ise burada kaynak güvenliklik duvarı olarak bu sunucu seçilir. Yeni kurulmuş güvenlik duvarı sunucularından cluster yaratıyorsanız ön tanımlı olarak işaretlenmiş seçenek kullanılarak “Next” tuşuna basılır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 43 /73 secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 44 /73 7. Son adım olarak oluşturulan cluster için girilmiş verilerin son bir kez denetlenmesi için bir özeti bulunur. Denetleme tamamlandıktan sonra “Finish” tuşuna basarak yedeklilik tanımlama işlemi sonlandırılır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 45 /73 secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 46 /73 8. Yedeklilik yapısına dahil edilmiş ve yapılandırma ayarı yapılacak güvenlik duvarı sunucuları solda bulunan ağaç listeden seçildiğinde, aşağıda açılan bilgilendirme panelinden “Firewall Settings” tuşuna tıklanır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 47 /73 9. Açılan “iptables advanced settings” ekranının “Compiler” sekmesinde “Assume firewall is part of ‘any’” seçeneğindeki etkin işareti kaldırılır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 48 /73 10. “iptables advanced settings” penceresinde bulunan “Prolog/Epilog” sekmesine tıklanır. Gelen ekranda aşağıdaki değişiklikler yapılır. a. “The following commands will be added verbatim on top of generated configuration” yazısının altında bulunan boş alana KeepAliveD yapılandırmasını yapmak adına aşağıda bulunan içerik kopyalanır. İçerik kopyalama sırasında aşağıdaki satırlar değiştirilmelidir. i. “virtual_ipaddress” değerinin olduğu satırlara cluster yapısına atanmış olan ip adresi girilir. ii. “auth_pass” değerinin olduğu satırlara yapılandırılması yapılan cluster için, tüm bileşenlerinde aynı olacak şekilde hexadecimal bir değer girilir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 49 /73 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" echo 'vrrp_sync_group G1 { group { E1 I1 } } vrrp_instance E1 { interface eth0 lvs_sync_daemon_interface eth0 state BACKUP virtual_router_id 61 priority 200 advert_int 1 authentication { auth_type PASS auth_pass 1q2w3e } virtual_ipaddress { 10.0.0.217/32 dev eth0 } nopreempt } vrrp_instance I1 { interface bond0 lvs_sync_daemon_interface bond0 state BACKUP virtual_router_id 62 priority 200 advert_int 1 authentication { auth_type PASS auth_pass 1q2w3e } virtual_ipaddress { 10.0.0.218/32 dev bond0 } nopreempt }' | sudo tee /tmp/.keepalived.conf > /dev/null secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 50 /73 if [ -f /etc/keepalived/keepalived.conf ] then echo 'Yapilandirma dosyasi mevcut. Degisiklikler karsilastirilacak.' else sudo cp /tmp/.keepalived.conf /etc/keepalived/keepalived.conf echo 'Yapilandirma sistemde bulunmadigi icin olusturuldu. Keepalived yeniden baslatiliyor.' sudo service keepalived restart sudo rm -f /tmp/.keepalived.conf fi KEEPALIVED_CONFIG_MD5_EXIST=$(md5sum /etc/keepalived/keepalived.conf | cut -d " " -f 1) KEEPALIVED_CONFIG_MD5_NEW=$(md5sum /tmp/.keepalived.conf | cut -d " " -f 1) if [ "$KEEPALIVED_CONFIG_MD5_NEW" != "$KEEPALIVED_CONFIG_MD5_EXIST" ] then echo 'Degisiklik algilandi.' sudo cp /tmp/.keepalived.conf /etc/keepalived/keepalived.conf sudo service keepalived restart echo 'Degisiklikler devreye alindi.' sudo rm -f /tmp/.keepalived.conf else echo "Yapilandirma degismedi." fi b. “The following commands will be added verbatim on after generated configuration” yazısının altında bulunan boş alana Keepalived servislerini başlatmak için aşağıda bulunan içerik girilir ve “OK” tuşuna basılır. sudo iptables-save | sudo tee /etc/iptables/rules.v4 > /dev/null PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" KEEPALIVED_STATE=$(ps aux | grep keepalived | grep -v grep) if [ -n "$KEEPALIVED_STATE" ] then echo "Keepalived servisi calisiyor." else sudo service keepalived restart && echo "Restart ediliyor." fi secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 51 /73 c. Etkin sekmede “Insert prolog script” yazısının yanında aşağı açılır listeden “after interface configuration” seçeneğini seçilir. 11. 8. adım sonrasındaki tüm adımlar, yedeklilik yapısına dahil diğer güvenlik duvarları içinde uygulanır. 12. Yapılandırma işlemi tamamlandıktan sonra “Save” butonuna basılarak yapılandırma kaydedilir ve kural girişlerinin akabinde “Compile” ve “Install” butonlarına basarak sistemlerde oynatılır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 52 /73 Güvenlik Duvarı Yedeklilik Testi Uygulanması 1. Firewall Builder arayüzü ile yedeklilik yapısına geçirilmiş, güvenlik duvarlarının çalışırlığını test etme işlemi güvenlik duvarları üzerinden gerçekleştirilir. 2. Her iki güvenlik duvarında aşağıdaki komut çalıştırılarak, üzerlerinde bulunan bağlantılar listelenir. Kontrol edildiğinde de her iki güvenlik duvarında da çalışan bağlantıların aynı olduğu burada görülecektir. # sudo netstat -an 3. Her iki güvenlik duvarında aşağıdaki komut çalıştırıldığında, aktif olarak çalışan güvenlik duvarı üzerinde ekranda sürekli veri akışı olacaktır. # sudo su $ tcpdump -i bond0 -annXX host host_ip 4. Aktif olarak çalışan güvenlik duvarına yeniden başlatma komutu girilerek, yedeklilik yapısında aktif çalışmayı diğer güvenlik duvarına geçişi sağlanır. $ restart 5. Aktif çalışan güvenlik duvarının yeniden başlatılması ile, önceden pasif olan güvenlik duvarına aşağıdaki komut girilerek logları takip edildiğinde, “MASTER STATE” in bu güvenlik duvarı üzerine geçtiği görülür. $ tail -f /var/log/messages Feb 1 08:27:42 fw2 Keepalived_vrrp[7333]: VRRP_Instance(E1) Transition to MASTER STATE Feb 1 08:27:42 fw2 Keepalived_vrrp[7333]: VRRP_Group(G1) Syncing instances to MASTER state Feb 1 08:27:42 fw2 Keepalived_vrrp[7333]: VRRP_Instance(I1) Transition to MASTER STATE secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 53 /73 Feb 1 08:27:42 fw2 kernel: [322107.601850] RULE 4 -- ACCEPT IN= OUT=bond0 SRC=172.16.16.231 DST=224.0.0.18 LEN=64 TOS=0x00 PREC=0xC0 TTL=255 ID=1 PROTO=AH SPI=0xac1010e7 Feb 1 08:27:42 fw2 kernel: [322107.602071] RULE 4 -- ACCEPT IN= OUT=bond1 SRC=94.101.82.62 DST=224.0.0.18 LEN=64 TOS=0x00 PREC=0xC0 TTL=255 ID=1 PROTO=AH SPI=0x5e65523e Feb 1 08:27:43 fw2 Keepalived_vrrp[7333]: VRRP_Instance(I1) Entering MASTER STATE Feb 1 08:27:43 fw2 Keepalived_vrrp[7333]: VRRP_Instance(E1) Entering MASTER STATE Feb 1 08:27:43 fw2 kernel: [322108.603251] RULE 4 -- ACCEPT IN= OUT=bond1 SRC=94.101.82.62 DST=224.0.0.18 LEN=64 TOS=0x00 PREC=0xC0 TTL=255 ID=2 PROTO=AH SPI=0x5e65523e Feb 1 08:27:43 fw2 kernel: [322108.603506] RULE 4 -- ACCEPT IN= OUT=bond0 SRC=172.16.16.231 DST=224.0.0.18 LEN=64 TOS=0x00 PREC=0xC0 TTL=255 ID=2 PROTO=AH SPI=0xac1010e7 secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 54 /73 Güvenlik Duvarı Kural Tanımlama 1. Firewall Builder arayüzünden kural girişi yapmadan önce sol tarafta bulunan ağaç yapısındaki “Objects” ya da “Services” başlıkları altından kurallarda kullanılacak nesneler tanımlanır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 55 /73 secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 56 /73 Objects - “Address Ranges” belirlenen iki ip adresi arasındaki (IPv4 ve ya IPv6) tüm ip adreslerinin tanımlayan nesneleri barındıran klasördür. Objects - “Address Tables” önceden hazırlanmış bir “txt” dosyasının sisteme verilerek, dosyada tanımlı ip adreslerini barındıran nesneleri barındıran klasördür. Objects - “Addresses” tek bir ip adresi için (IPv4 ve ya IPv6) yaratılan nesneleri barındıran klasördür. Objects - “DNS Names” DNS A kayıtlarında bulunan bir ip adresi için oluşturulan nesneleri barındıran klasördür. Objects - “Groups” kullanıcı tarafından belirlenen ip adresi, host, DNS host gibi birden fazla nesneyi tek bir grup altında yeni bir nesne olarak barındırdan klasördür. Objects - “Hosts” bir ya da daha fazla arabirime sahip sunucuları nesne olarak barındıran klasördür. Objects - “Networks” IPv4 ve ya IPv6 olan bir ağ için oluşturulan nesneleri barındıran klasördür. Services - “Custom” kullanıcı tarafından belirlenen platform tabanlı servislere ait nesneleri barındıran klasördür. Services - “Groups” IP, TCP,UDP ve ICMP protokollerini barındırarak kullanıcı tarafından oluşturulan grup nesnelerini barındıran klasördür. Services - “ICMP” ICMP protokolünü ile ilgili kullanıcı tarafından oluşturulan nesneleri barındıran klasördür. Services - “IP” IP protokolünü ile ilgili kullanıcı tarafından oluşturulan nesneleri barındıran klasördür. Services - “TagServices” tag nesnelerini barındıran klasördür. Services - “TCP” TCP protokolünü ile ilgili kullanıcı tarafından oluşturulan nesneleri barındıran klasördür. Services - “UDP” UDP protokolünü ile ilgili kullanıcı tarafından oluşturulan nesneleri barındıran klasördür. Services - “Users” Kullanıcı bazlı kurallarda kullanılmak üzere oluşturulan kullanıcı nesnelerini barındıran klasördür. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 57 /73 2. İhtiyaç doğrultusunda gerekli nesneyi oluşturmak için, ilgili gruba sağ tıklanarak yeni seçeneği seçilir. Örnekte yeni bir adres bilgisi girilceceğinden “New Address” seçeneği seçilir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 58 /73 3. Firewall Builder uygulamasının alt sekmesinde açılan yeni ip adres girişinde “Name” satırına ilgili ip adresi için verilecek isim, “Address” kısmında ip adres bilgisi girilir. 4. “Objects” bölümünde yapılan işlem aynı şekilde “Services” bölümünde yapılarak engellenmek istenen servis türünün bilgisi girilir. Örnekte “ICMP” için nesne oluşturulmuştur. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 59 /73 5. Gerekli nesneleri oluşturduktan sonra, kural girişlerini yapmak üzere, Firewall Builder ağaç yapısından ilgili güvenlik duvarına ait “Policy” seçeneceği seçilir. Sağ tarafta açılan ekranda bulunan “Yeşil Artı” seçeneğine basılarak yeni bir kural eklenmesi sağlanır. Kural eklendikten sonra, gerekli ayarlamalar sürükle, bırak yöntemi ile “Objects” ve “Services” altından alınarak ilgili sütunlara taşınır. “Policy” ekranındaki sutünların görevleri aşağıda belirtilmektedir. İlgili kural girişleri yapıldıktan sonra “Compile” ve “Install” butonlarına basılarak, kuralların güvenlik duvarına gönderilmesi sağlanır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 60 /73 “Source” kuralın uygulanacağı kaynak adres bilgisidir. “Destination” kuralın uygulanacağı hedef adres bilgisidir. “Service” kuralın üzerinde işlem yapacağı servis bilgisidir. “Interface” kuralın kaynak uygulanacağı arabirim bilgisidir. “Direction” kuralın tek yada çift yönlü olacağının bilgisidir. “Action” girilen kuralın hangi doğrultusa çalışacağının bilgidir. “Time” zaman bazlı kural girişlerinin bilgisidir. “Options” kural ile ilgili girilmek istenen opsiyonlar bu sütundan girilmektedir. “Comment” kural ile ilgili yorum bu alana yazılmaktadır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 61 /73 Güvenlik Duvarı Kural Kapatma ve Kaldırma 1. Firewall Builder arayüzünde, kuralı kaldırmak ya da kapatmak istenilen güvenlik duvarının “Policy” sekmesine, sol tarafta bulunan ağaç yapısından gidilir. 2. “Policy” seçeneğinin seçilmesi ile, sağ ekranda seçilen güvenlik duvarına ait kurallar görüntülenmektedir. Kural kaldırırken ve / ve ya kapatırken güvenlik duvarı kurallarındaki bütünlüğün bozulmaması gerekmektedir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 62 /73 3. Kaldırmak ya da kapatmak istediğimiz kuralın sıra numarasına sağ tıklarak menünün açılması sağlanır. Kuralı tamamen kaldırmak için “Remove Rule” kapatmak için ise “Disable Rule” seçeneği seçilmelidir. Kaldırılan kural için tekrar işlem yapmak mümkün olmaz iken, kapatılan kural ihtiyaç durumunda aynı adımlar ile çıkan menüden “Enable Rule” seçeneği ile tekrar çalışır duruma getirilebilir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 63 /73 Güvenlik Duvarı Toplu IP Adres Girişi 1. Firewall Builder arayüzünden, bir kural içerisinde kullanılacak tüm ip adresleri “txt” dosyasına yazılarak tek seferde sisteme dahil edilebilir. Bu dosyayı oluşturmak için Firewall Builder makinasına ssh ile bağlanılarak, istenilen bir dizin altında aşağıdaki komut ile dosya oluşturulur ve içerisinde ip adresleri yazılır. # vi black_list.txt 8.8.8.8 8.8.4.4 4.4.2.2 4.4.4.4 2. Bunun için Firewall Builder uygulamasının ağaç yapısında bulunan “Objects” başlığı altından “Adress Tables” seçeneğine sağ tıklanarak, “New Address Table” seçeneği seçilir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 64 /73 3. Açılan alt ekranda “Name” satırına tabloya verilmek istenen isim girilir. “File name” satırına “black_list.txt” dosyasının bulunduğu yer girilir. “Choose File” seçeneği seçilerek açılan “Choose a file or type the name to create new” ekranında ilgili dosya seçilir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 65 /73 secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 66 /73 4. Kural eklenmek istenen güvenlik duvarının “Policy” ekranına giriş yapılır. Akabinde “Yeşil Artı” tuşuna basılarak yeni kural eklenir. Sürükle bırak yöntemi ile “Source”, “Destination”, “Service”, “Interface”, “Direction”, “Action”, “Time”, “Options” seçenekleri girilirek “Install” butonuna basılır. 5. Ansible playbook’un oynaması ile birlikte ilgili güvenlik duvarı üzerinde değişiklikler yapılır. Değişiklikler yapılmadan önce ve sonrasındaki “iptables” durumu aşağıdaki gibi olacaktır. root@fw1:~# Chain INPUT pkts bytes destination 39 21424 0.0.0.0/0 52 3182 0.0.0.0/0 iptables -L -v -n (policy DROP 0 packets, 0 bytes) target prot opt in out ACCEPT RULE_0 source all -- * * 0.0.0.0/0 state RELATED,ESTABLISHED all -- * * 0.0.0.0/0 state NEW Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 67 /73 0 0 RULE_0 0.0.0.0/0 all -state NEW * * 0.0.0.0/0 Chain OUTPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 40 3220 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 RULE_0 all -- * * 0.0.0.0/0 0.0.0.0/0 state NEW Chain RULE_0 (3 references) pkts bytes target prot opt in destination 52 3182 LOG all -- * 0.0.0.0/0 LOG flags 0 level 52 3182 ACCEPT all -- * 0.0.0.0/0 secops@bilgio.com Son Güncelleme : 7 Mart 2016 out source * 0.0.0.0/0 6 prefix "RULE 0 -- ACCEPT " * 0.0.0.0/0 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 68 /73 Güvenlik Duvarı QoS ve Rate Limiting Tanımlama 1. Firewall Builder uygulması üzerinde QoS ve Rate Limiting yapılmak istenilen güvenlik duvarına çift tıklanarak, uygulamanın alt tarafında açılan panelden “Firewall Settings” seçeneği seçilir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 69 /73 2. Açılan “iptables advanced settings” sayfasında, “Prolog/Epilog” tabına gidilir. “The following commands will be added verbatim after generated configuration” penceresine QoS ve Rate Limiting işlemlerini yapan komutlar girilirek “OK” tuşuna basılır. Ardından “Install” seçeneği seçilerek, sistemlerde bu kuralların oynaması sağlanır. 3. Buradaki yapılandırmada Linux çekirdeği ile birlikte gelen “TC (traffic control)” kullanılmıştır. TC içerinde çeşitli kuyruk disiplinleri bulundurmaktadır. Sınıflı kuyruk disiplinleri arasından karmaşıklığı daha az olması, trafik önceliklendirme, trafik şekillendirme ve trafik sınıflandırma özelliklerine sahip olduğu için “HTB (Hierarchical Token Bucket)” kuyruk disiplini tercih edilmiştir. HTB kuyruk disiplini ile kullanılabilecek parametreler; secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 70 /73 a. b. c. d. e. f. 4. “rate” sınıfın kullanması garanti edilen hız değeridir “ceil” eğer hat boş ise sınıfın kullanabileceği maksimum hızdır “burst” boş durumda biriktirilebilecek en fazla bayt toplama miktarıdır “cburst” ceil için bayt toplama miktarıdır “mtu” paket içerisindeki veri bölümünde taşınabilecek en fazla veri miktarıdır. “prio” sınıfın önem derecesidir. Düşük sayıların önem derecesi daha fazladır. Fiziksel ağ arayüzüne ulaşılan paketler “tc” filtreleri kullanılarak etiketlenir. Kök sınıftan başlanarak ana-yavru ilişkisi içerisinde hiyerarşik olarak sınıflar oluşturulur. Sınıfların kimlikleri, filtrelerle etiketlenen akış kimliği ile aynı seçilmelidir. Sınıflar oluşturulurken o sınıfa ait olan trafiğe ayrılıp kullanması garanti edilen trafik miktarı, ulaşabileceği en fazla trafik miktarı, trafiğinin önceliği belirlenir. Önceliklendirme numarası küçük olan trafiklerin önem derecesi daha yüksektir. Örnek olarak; Belirli bir IP adresi için “bond0” fiziksel ağ arayüzündeki indirme ve yükleme hızlarının sınırlandırılıp önceliklerinin belirlenmesi; tc qdisc add dev bond0 root handle 1: htb default 30 tc class add dev bond0 parent 1: classid 1:1 htb rate tc class add dev bond0 parent 1: classid 1:2 htb rate tc filter add dev bond0 protocol ip parent 1:0 prio 1 192.168.1.2/32 flowid 1:1 tc filter add dev bond0 protocol ip parent 1:0 prio 1 192.168.2/32 flowid 1:2 512kbit 100kbit u32 match ip dst u32 match ip src IP adresine ait indirme trafiği 1:1 sınıfı olarak, yükleme trafiği ise 1:2 sınıfı olarak belirlenmiştir. Her iki sınıfında önem derecesi “prio 1” ifadesiyle 1 olarak belirlenmiştir. a. Protokol bilgisine göre filtreleme; “match ip protocol 1 0xff” “protocol 1” kısmı icmp paketlerini ifade etmektedir. Diğer protokollerin bilgisine “/etc/protocols” dosyasından ulaşılabilir. Kaynak IP bilgisine göre filtreleme; “match ip src 1.2.3.0/24” Hedef IP bilgisine göre filtreleme; “match ip dst 4.3.2.0/24” Kaynak kapı bilgisine göre filtreleme; “match ip sport 80 0xffff” Hedef kapı bilgisine göre filtreleme; “match ip dport 80 0xffff” secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 71 /73 b. Hem IP adresi hemde kapı bilgisine göre filtreleme; “match ip dst 4.3.2.0/24 match ip dport 80 0xffff” c. “prio x” kısmından paketlerin önceliği belirlenir. d. “flowid x:x” kısmından paketlerin etiketi belirlenir. “:” işaretinden önceki sayı sınıfın bağlı olduğu ana sınıfı, ikinci sayı ise kendi sınıf numarasını belirtir. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 72 /73 Güvenlik Duvarı Değiştirme 1. Firewall Builder uygulaması tarafından yönetilen bir güvenlik duvarının donanımsal ve / ve ya yazılımsal problemlerden dolayı değiştirilmesi gerektiği durumda yapılacaklar bu başlık altında listelenmiştir. 2. Yerine konumlandırılacak yeni güvenlik duvarı asgari olarak, eskisi ile aynı özelliklere sahip olmalıdır. 3. “AHTAPOT | Pardus Temel ISO Kurulum” dökümanında bahsedildiği şekilde, yeni güvenlik duvarının işletim sistemi kurulumu yapılır. 4. İşletim sistemi kurulumu sırasında “eth0” arabirimine ip adresi verilmiş olup, değişen sistem üzerindeki tüm arabirim yapılandırması yeni sistem üzerinde de yapılır. 5. Eski güvenlik duvarı fiziksel olarak çıkarılarak, yeni güvenlik duvarı konumlandırılır. 6. Ansible üzerinde belirlenmiş “crontab” sıklığı doğrultusunda, yeni güvenlik duvarı üzerinde Ansible Playbook oynarak, tüm kuralları sisteme dahil edecektir. 7. Hali hazırda Firewall Builder uygulaması üzerinde ilgili güvenlik duvarına ait yapılandırma bulunduğundan herhangi bir değişiklik yapılmayacaktır. secops@bilgio.com Son Güncelleme : 7 Mart 2016 Ahtapot Firewall Builder Kullanım Dökümantasyon v1.1 73 /73