AHTAPOT Güvenlik Duvarı Yönetim Sistemi Kullanımı Bu dökümanda, Ahtapot Güvenlik Duvarı Yönetim Sisteminde güvenlik duvarı kurulum ve yönetimi anlatılıyor. Gereken : 1. GYDS Entegrasyonu yapılmış Ansible, Gitlab, Firewall Builder sunucuları 2. Pardus Temel ISO dan kurulumu tamamlanmış bir sunucu / sunucular İçerik Ansible Tarafında Yapılacak İşlemler Güvenlik Duvarı Kurulumu için FirewallBuilder Tarafında Yapılacak İşlemler Sağlayacak Kuralların Girilmesi GitLab Üzerinde Yapılan İsteklerin Onaylanması
Ansible Tarafında Yapılacak İşlemler 1. Kurulmasına karar verilen her bir güvenlik duvarının kurulum adımlarına geçilmeden önce Ansible tarafında sunucuya tanıtılması gerekmektedir. Bu işlemin yapılması /etc/ansible/hosts altında bulunan dosyada [firewall] satırının altına eklenecek sistem makinasının FQDN ile sunucu bilgisi girilerek gerçekleştirilmektedir. Aşağıdaki komut kullanılarak, dosya düzenleyici ile ilgili dosya açılır ve güvenlik duvarına ait bilgi girilir. NOT: Cluster yapıda kurulacak güvenlik duvarları için bu dosyanın içine sadece fiziksel sunucuların adı yazılmalıdır. Bu dosyanın içerisinde hiç bir koşulda cluster yapısındaki güvenlik duvarlarının sanal ismi bulunmamalıdır. # sudo vi /etc/ansible/hosts 2. Kurulan tüm ana bileşen ve güvenlik duvarı durum kontrolü için, Ansible sunucusu üzerinde crontab a crontab -e komutu kullanılarak aşağıdaki komutlar eklenir. Böylelikle her beş dakikada bir yeni güvenlik duvarı kuralları sisteme otomatik gönderilerek, durum kontrölü sağlanır. Ayrıca girişi yapılmış ve onaylanmış her yeni kural en geç beş dakika içerisinde sistemlerde aktif hale gelir. Her otuz dakikada bir ana bileşenlerin hepsi kontrol edilerek, kontrol dışı yapılan değişiklikler kaldırılır. Her bir crontab işinin başına eklenen MAILTO= parametresi ile crontab işi her çalıştığında mail göndermesi engellenir. MAILTO= */5 * * * * /usr/bin/ansible-playbook /etc/ansible/playbooks/deploy.yml -vvvv MAILTO= */30 * * * * /usr/bin/ansible-playbook /etc/ansible/playbooks/state.yml -vvvv MAILTO= 59 00 * * * /usr/bin/ansible-playbook /etc/ansible/playbooks/maintenance.yml -vvvv v1.2 2
Güvenlik Duvarı Kurulumu için FirewallBuilder Tarafında Yapılacak İşlemler NOT: Tavsiye edilen güvenlik duvarı kurulum yönetimi aşağıdaki maddelerin takibi ile yapılması olup. İstenildiği takdirde, AHTAPOT Güvenlik Duvarı Kurulum dökümanında belirtildiği şekilde kurulum yapılabilir. 1. AHTAPOT GDYS Entegrasyon dökümanında belirtildiği üzere, Güvenlik Duvarı Yönetim Sistemi Kontrol Paneli uygulaması açılır. (İlgili dökümanda 3 ve 4. maddeler) v1.2 3
2. Açılan Güvenlik Duvarı Yönetim Sistemi Kontrol Paneli ekranında Onaylanmış Ayarlar ile Çalıştır seçeneği seçilerek, Firewall Builder uygulaması açılır. 3. Yönetim arayüzünün sol tarafında bulunan ağaç listeden Firewalls klasörüne sağ tıklayıp, çıkan listede New Firewall seçeneği tıklanır. v1.2 4
v1.2 5
4. Pardus Temel ISO dan kurulumu tamamlanmış ve güvenlik duvarı rolünü üstlenecek sunucunun ismi FQDN bilgisi ile Name of the new firewall object alanına girelerek, Next tuşuna tıklanır. v1.2 6
5. Configure interfaces manually seçili olacak şekilde Next tuşuna basarak devam edelir. v1.2 7
6. Ekrana gelen arayüzde güvenlik duvarında bulunan ağ arabirimlerinin yapılandırması gerçekleştirilir. Yapılandırma adımları aşağıdaki gibidir; a. Pencerenin sol üst köşesinde bulunan yeşil + işaretine tıklayarak güvenlik duvarına ait ilk arabirim eklenir. b. Arabirim eklemek için gelen ekranda aşağıdaki işlemler yapılır. v1.2 8
Name kısmına arabirimin işletim sistemi üzerindeki ismini girilir. Label kısmına arabirimin görevi girilir.örnek olarak iç ağ için LAN, dış ağ için WAN yazılabilir. Güvenlik duvarının DHCP servisinden değişken IP adresi almıyor ise Type girdisi Static IP address olarak bırakılır. Add address tuşuna basılır. Aşağıdaki tabloda girdiler için açılan yeni bir alanın oluşur. IP Address hücresine güvenlik duvarının yönetim arabirimi IP adres bilgisi girilir. Netmask hücresine IP adresin ağ maskesi girilir. NOT: Sisteme öncelikle eth0 tanıtılmalıdır. eth0 için IP Address bölümüne Pardus Temel ISO kurulumunda belirtilen IP adres bilgisi girilmesi zaruridir. Her eklenmek istenen arabirim için 5-b maddesi tekrarlanır. Tüm arabirimler eklendikte sonra Finish tuşuna tıklanarak işlem sonlandırılır. v1.2 9
c. Hatalı eklenen arabirimleri sağ üst köşede bulunan kırmızı çarpı işaretine basılarak kaldırılır. v1.2 10
7. Sisteme eklenen güvenlik duvarı sol tarafta bulunan ağaç yapısında Firewalls dizini altına gelmektedir. İlgili güvenlik duvarının isminin yanında bulunan + işaretine basılarak seçenekler açılır ve eth0 üzerine çift tıklanarak, ekranın alt kısmında eth0 a ait bilgilerin çıkması sağlanır. Açılan ekranda Management interface kutucuğu işaretlenmesi zaruridir. 8. 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. v1.2 11
9. Firewalls dizini altına eklenen güvenlik duvarı için kural tanımları yapılır. 10. Gerekli kural tanımlamaları yapıldıktan sonra öncelikli Save butonuna basılarak yapılandırma yerel yapılandırma dosyasına kaydedilir. 11. Sırası ile Compile ve Install butonlarına basılması ile bu adımlarda herhangi bir hata alınmaz ise güvenlik duvarının kurulum ve yapılandırması için yerel Merkezi Sürüm Kontrol Sistemine (GitLab) merge-request oluşturulur. NOT: Yapılan anlatım Onay Mekanizmasının aktif olduğu durumlar için geçerlidir. Onay mekanizmasının kapalı olduğu durumlarda GitLab tarafında oluşan merge-request otomatik olarak commit edilir ve güvenlik duvarı üzerinde gerekli kurulum ve yapılandırma gerçekleşir. v1.2 12
GitLab Üzerinde Yapılan İsteklerin Onaylanması 1. Onay a gönderilmiş her değişiklik GitLab üzerindeki GDYS deposunda Merge-request olarak gözükmektedir. Proje sayfasına giriş yaptıktan sonra Merge Request sayfasına gidilir. 2. Oluşan Merge Request aşağıdaki gibi görünmekte olup, tarih bilgisine basılarak isteğe ait detay görülebilir. v1.2 13
3. Changes başlığı tıklanarak, sistemde yapılan değişiklikler gözlemlenebilir. Yapılacak değişikliklerin onaylanması için ACCEPT MERGE REQUEST butonuna tıklanır. 4. İlgili değişiklik onaylandığında en geç beş dakika içerisinde uç birimde oynatılarak kural aktif hale gelir. Değişikliği içeren playbookun durumu Ansible makinası üzerinde, /var/log/ahtapot/ansible.log dosyasına yazılmakta olup, tamamlandığına dair örnek ekran görüntüsü aşağıdaki gibidir v1.2 14
v1.2 15