Submit Search
Upload
Red-Hat 7 Yeni Güvenlik Duvarı : firewalld
•
1 like
•
1,043 views
İbrahim UÇAR
Follow
Red Hat 7 Güvenlik Duvarı Yönetimi : FirewallD
Read less
Read more
Internet
Report
Share
Report
Share
1 of 50
Download now
Download to read offline
Recommended
İş Ortamlarına Saldırı Tespit Sisteminin Kurulması
İş Ortamlarına Saldırı Tespit Sisteminin Kurulması
İbrahim UÇAR
Linux Türevi İşletim Sistemlerinde Paket Hazırlama.
Linux Türevi İşletim Sistemlerinde Paket Hazırlama.
İbrahim UÇAR
How to Build Package in Linux Based Systems.
How to Build Package in Linux Based Systems.
İbrahim UÇAR
Linux Yaz Kampı 2016 pfSense Firewall ve Router Eğitim Dökümanı
Linux Yaz Kampı 2016 pfSense Firewall ve Router Eğitim Dökümanı
İbrahim UÇAR
Pfsense başlangıç
Pfsense başlangıç
smartpro
Linux Yaz Kampı 2017 GNU/Linux Eğitim Dökümanı
Linux Yaz Kampı 2017 GNU/Linux Eğitim Dökümanı
İbrahim UÇAR
How to Block Malicious Address by Using Feed Service?
How to Block Malicious Address by Using Feed Service?
İbrahim UÇAR
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Recommended
İş Ortamlarına Saldırı Tespit Sisteminin Kurulması
İş Ortamlarına Saldırı Tespit Sisteminin Kurulması
İbrahim UÇAR
Linux Türevi İşletim Sistemlerinde Paket Hazırlama.
Linux Türevi İşletim Sistemlerinde Paket Hazırlama.
İbrahim UÇAR
How to Build Package in Linux Based Systems.
How to Build Package in Linux Based Systems.
İbrahim UÇAR
Linux Yaz Kampı 2016 pfSense Firewall ve Router Eğitim Dökümanı
Linux Yaz Kampı 2016 pfSense Firewall ve Router Eğitim Dökümanı
İbrahim UÇAR
Pfsense başlangıç
Pfsense başlangıç
smartpro
Linux Yaz Kampı 2017 GNU/Linux Eğitim Dökümanı
Linux Yaz Kampı 2017 GNU/Linux Eğitim Dökümanı
İbrahim UÇAR
How to Block Malicious Address by Using Feed Service?
How to Block Malicious Address by Using Feed Service?
İbrahim UÇAR
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Introduction to Data Science
Introduction to Data Science
Christy Abraham Joy
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
Vit Horky
The six step guide to practical project management
The six step guide to practical project management
MindGenius
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
More Related Content
Featured
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Introduction to Data Science
Introduction to Data Science
Christy Abraham Joy
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
Vit Horky
The six step guide to practical project management
The six step guide to practical project management
MindGenius
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
Featured
(20)
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
Skeleton Culture Code
Skeleton Culture Code
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
How to have difficult conversations
How to have difficult conversations
Introduction to Data Science
Introduction to Data Science
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
The six step guide to practical project management
The six step guide to practical project management
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Red-Hat 7 Yeni Güvenlik Duvarı : firewalld
1.
Ön Söz FirewallD Nedir ? FirewallD ve İptables Karşılaştırmaları Zone Kavramı Nedir ? Varsayılan Zone Tanımları Başlangıç Zone Yönetimi Kaynak Yönetimi Servis Yönetimi Güvenlik Duvarı Servis Konfigurasyonu Port Yönetimi Port Yönlendirme Güvenlik Duvarı Kural Yönetimi Grafik Arabirim (GUI) ile Güvenlik Duvarı Konfigurasyonu Örnek Uygulamalar Grafik Arayüz Programı ile Port Engellemek Grafik Arayüz Programı ile Port Yönlendirmek Grafik Arayüz Programı ile Varsayılan Zone Belirtmek Ağ Arabirimlere Bağlı Zone ‘ları Görüntülemek/Değiştirmek Güncel Hayattan Pratik Örnekler FirewallD Log Mekanizması FirewallD Log Seçenekleri FirewallD Log Kural Sözdizimi Syslog Auditd FirewallD Hata Numaraları FirewallD Konfigurasyon Yedekleme İşlemleri Yedek Alma Düzenli Full Konfigurasyon Yedekleme Crontab ‘a Kural Girdisi Eklemek Değişiklik Oldukça Düzenli Yedekleme Yedekten Geri Dönme
2.
Ön Söz Bu yazı RHEL 7 ile gelen FirewallD hakkında detay bilgi içermektedir. Bu makale v1 formatında ilk olarak 15.09.2015 tarihinde yayımlanmıştır. Güncel sürümlerin slideshare.net/ibrahimucar39545464 adresinden ulaşabilirsiniz. Makale ile ilgili önerilerinizi, düzeltmemi istediğiniz hususları benimle paylaşmanız ve katkıda bulunmanız beni çok mutlu eder. İletişim kurmaktan lütfen çekinmeyiniz. İbrahim UÇAR ucribrahim@gmail.com twitter.com/ucribrahim Network teknolojilerini öğrenirken, araştırma yapmamda ve yazdıklarımı derleyip bu makaleyi hazırlamamda katkı sunan Ozan UÇAR ‘a teşekkürlerimi sunarım.
3.
FirewallD Nedir ? Rhel 7 ile beraber Iptables firewall yerini alan FirewallD yada diğer bilinen adı ile Dynamic Firewall bir çok yenilik sunuyor. Dynamic firewall servisi olan Firewalld, güvenli tutulması gereken ağları ve onların tanımladığı ağ arabirimlerini “zone” desteği ile dinamik ve esnek bir şekilde yönetebilir kılar. IPv4 ve IPv6 konfigurasyon desteği sağlamaktadır. FirewallD, Bridge Ethernet kartlarını destekler ve kalıcı konfigurasyon seçenekleri vardır. Servisler ve uygulamaların doğrudan firewall kuralı eklemesi için bir arabirim sunmaktadır.
4.
FirewallD ve İptables Karşılaştırmaları Iptables ve FirewallD için gerekli başlıca farklılıklar şu şekildedir, ● Iptables servisi konfigurasyon dosyasını /etc/sysconfig/iptables dizini altında saklamaktadır buna istinaden firewalld bir çok konfigurasyon dosyasını XML formatında /usr/lib/firewalld/ dizini altında saklamaktadır. Not: Red Hat Enterprise Linux sistemlerde varsayılan olarak firewalld kurulu ise /etc/sysconfig/iptables dizini bulunmamaktadır. ● Iptables servisi ile her yeni değişiklik diğer tüm kuralların temizlenip /etc/sysconfig/iptables dosyasından yeniden yüklenmesi anlamına gelmektedir, buna karşın firewalld eski kuralların tamamını yeniden yüklemez, sadece değişiklikleri yükler ve uygular. Bu şu demek oluyor ki, firewalld çalışma anında bir değişiklik yaptığınızda varolan bağlantıları asla koparmaz. Bu durum bir statefull firewall’dan beklenen en şık hareket olur.
5.
Her ikiside ıptables araçlarını kullanarak kernel packet filter ile konuşur. Aşağıdaki şema bunu göstermektedir.
6.
Zone Kavramı Nedir ? Dilimize “bölge” olarak çevirebileceğimiz zone tanımı, ağ bağlantıları için güven düzeyini tanımlar. Bu bağlantı yalnızca bir zone‘a dahil olabiliyor, ancak bir zone için birçok ağ bağlantısı kullanılabilir. Bunu örnekleri ile açıklayacağım ve yazının devamında zone ifadesini kullanmayı tercih ediyorum (daha teknolojik) Varsayılan Zone Tanımları drop : Tüm gelen ağ paketlerini engeller. Yalnızca giden ağ bağlantıları için izin verilir. block : Tüm gelen ağ bağlantılarını engeller ve IPv4 için icmphostprohibited mesajı döndürür, IPv6 için ise icmp6admprohibited döndürür. public : Ortak kullanım için oluşturulmuş bir zone. Sadece seçili gelen bağlantılar kabul edilir. external : Bu zone dış ağı yani internet ağını temsil etmektedir. dmz : Kamuya açık ve iç ağınıza sınırlı erişimi olan bilgisayarlar için arındırılmış. Yalnızca seçili gelen bağlantılar kabul edilir. work : Güvenli çalışma için oluşturulmuş çalışma alanı. home : Ev alanlarında kullanım için oluşturulmuş çalışma alanı. internal : İç ağda kullanılmak üzere oluşturulmuş çalışma alanı. trusted : Tüm ağ bağlantıları kabul edilir.
7.
Başlangıç Firewalld servisinin durumunu kontrol etmek isterseniz aşağıdaki komutu kullanabilirsiniz. root# systemctl status firewalld firewalld.service firewalld dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled) Active: active (running) since Wed 20150701 13:10:20 PDT; 42s ago Main PID: 700 (firewalld) CGroup: /system.slice/firewalld.service └─700 /usr/bin/python Es /usr/sbin/firewalld nofork nopid veya alternatif kullanabileceğiniz başka bir komut ise aşağıdaki gibidir. root# firewallcmd stat running Firewalld servisini başlatmak/durdurmak veya yeniden başlatmak isterseniz aşağıdaki komutları kullanabilirsiniz. root# systemctl stop firewalld root# systemctl start firewalld root# systemctl restart firewalld
8.
Tamamen firewalld güvenlik duvarını devre dışı bırakmak isterseniz aşağıdaki komutu kullanabilirsiniz. root# systemctl disable firewalld aynı şekilde firewalld güvenlik duvarını yeniden etkinleştirmek için, root# systemctl enable firewalld Acil durumlarda tüm ağ trafiğini engellemek isterseniz aşağıdaki komutu kullanabilirsiniz. root# firewallcmd panicon kapatmak için, root# firewallcmd panicoff Güvenlik duvarının durumunu kontrol etmek isterseniz aşağıdaki komutu kullanmanız yeterli olacaktır. root# firewallcmd state running
9.
Sistemde birkaç ağ arabirimi var ise, IP paketlerinin bir ağ arabiriminden bir başka ağ arabirimine yönlendirmek isterseniz aşağıdaki satırı /etc/sysctl.conf dosyasının içerisine girip en son satıra yapıştırın. NOT : Routing gibi bir işlem yapılmayacak ise gerekli olan bir durum değildir. net.ipv4.ip_forward = 1 Daha sonra aşağıdaki komutu kullanılarak ayarlar etkinleştirilir. root# sysctl p /etc/sysctl.conf NOT: Bir ayarın kalıcı olarak ayarlanmasını istiyorsanız permament parametresini kullanabilirsiniz. Aksi takdirde yapılan ayarlar sistem yeniden başlatılana kadar sürecektir. NOT: Yapılan ayarların hemen aktif olmasını istiyorsanız reload parametresini kullanabilirsiniz.
10.
Zone Yönetimi Sistemde varsayılan hangi zone kullanıldığını öğrenmek isterseniz aşağıdaki komutu kullanabilirsiniz. root# firewallcmd getdefaultzone public Sistem ağ arayüzleri, zone ‘lara atanmış kaynakları veya onlar hakkında bilgi almak isterseniz aşağıdaki komut kullanılabilir. root# firewallcmd getactivezones public interfaces: eth0 sources: 10.0.0.254/24 test sources: 192.168.100.0/24 public interfaces: eth1 sources: 172.16.16.0/24 Tüm kullanılabilir zone ‘ların listesini almak isterseniz aşağıdaki komutu kullanabilirsiniz. root# firewallcmd getzones block dmz drop external home internal public trusted work
11.
Varsayılan olarak kullandığınız bir zone alanını başka bir zone ile değiştirmek isterseniz aşağıdaki komutu kullanabilirsiniz. Varsayılan zone artık home ismindeki zone olacaktır. root# firewallcmd setdefaultzone=home success NOT : Varsayılan zone ayrıca /etc/firewalld/firewalld.conf dosyasından değiştirilebilir. Sistem ağ arabirimleri geçici yada kalıcı bir şekilde herhangi bir zone’a atanabilir. Geçici olarak internal zone ‘unu eth0 ağ arayüzüne atamak için aşağıdaki komutu kullanmanız yeterli olacaktır. root# firewallcmd zone=internal changeinterface=eth0 success Yukarıdaki komutun aynısı sadece kalıcı olarak internal zone ‘unu eth0 ağ arayüzüne atamak için aşağıdaki komut kullanılabilir. root# firewallcmd permanent zone=internal changeinterface=eth0 success
12.
Bir zone’a eklediğiniz ağ arabirimini geçici olarak kaldırmak isterseniz aşağıdaki komutu kullanabilirsiniz. Kalıcı olarak kaldırmak için permanent parametresini ekleyebilirsiniz. root# firewallcmd zone=internal removeinterface=eth0 success Sistem eth0 ağ arabiriminin hangi zone ile ilişkili olduğunu öğrenmek isterseniz aşağıdaki komutu kullanabilirsiniz. Aşağıdaki çıktıda eth0 ağ arabiriminin internal zone ile ilişkili olduğunu görmekteyiz. root# firewallcmd getzoneofinterface=eth0 internal Belirtilen network aralığı ile ilişkili olan zone ‘ları listelemek isterseniz aşağıdaki komutu kullanabilirsiniz. root# firewallcmd getzoneofsource=192.168.100.0/24 no zone
13.
Genel geçerli zone yapılandırmasını görmek istersek aşağıdaki komutu kullanabiliriz. root# firewallcmd zone=public listall public (default, active) interfaces: eth0 sources: services: dhcpv6client ippclient mdns sambaclient ssh ports: masquerade: no forwardports: icmpblocks: Kalıcı olarak bir zone oluşturmak isterseniz aşağıdaki komutu kullanabilirsiniz. Örneğin, test adlı bir zone oluşturmak için, root# firewallcmd permanent newzone=test success root# firewallcmd reload success Tamamen bir zone silmek isterseniz aşağıdaki komutu kullanabilirsiniz. Örneğin, oluşturmuş olduğumuz test adlı zone ‘u silmek için, root# firewallcmd permanent deletezone=test success
14.
Önceden tanımlanmış servisleri görüntülemek istersek aşağıdaki komutu kullanabiliriz. root# firewallcmd getservices RHSatellite6 amandaclient bacula baculaclient dhcp dhcpv6 dhcpv6client dns ftp highavailability http https imaps ipp ippclient ipsec kerberos kpasswd ldap ldaps libvirt libvirttls mdns mountd mswbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxydhcp radius rpcbind samba sambaclient smtp ssh telnet tftp tftpclient transmissionclient vncserver wbemhttps Aşağıdaki komut tüm zone’ların etkin listesini ve zone‘lar hakkında detaylı bilgi verir. root# firewallcmd listallzones block interfaces: sources: services: ports: masquerade: no forwardports: icmpblocks: rich rules: dmz interfaces: sources: services: ssh
15.
ports: masquerade: no forwardports: icmpblocks: rich rules: drop interfaces: sources: services: ports: masquerade: no forwardports: icmpblocks: rich rules: external interfaces: sources: services: ssh ports: masquerade: yes forwardports: icmpblocks: rich rules: home interfaces: sources: services: dhcpv6client ippclient mdns sambaclient ssh ports:
16.
Kaynak Yönetimi Bir zone’a kalıcı olarak network aralığı eklemek isterseniz aşağıdaki komutu kullanabilirsiniz. Örneğin, test adlı zone’a network aralığı eklemek için, root# firewallcmd permanent zone=test addsource=192.168.100.0/24 success root# firewallcmd reload success root# firewallcmd zone=test listall home interfaces: sources: 192.168.100.0/24 services: dhcpv6client ippclient mdns sambaclient ssh ports: masquerade: no forwardports: icmpblocks: rich rules: Bir zone içerisindeki kaynağı silmek isterseniz aşağıdaki komut kullanılabilir. Örneğin, test adlı zone içerisindeki ( 192.168.100.0/24 ) kaynağını silmek için, root# firewallcmd permanent zone=test removesource=192.168.100.0/24 success
17.
Bir zone’a bağlı ağ arabirimleri listelemek isterseniz aşağıdaki komutu kullanabilirsiniz. Herhangi bir zone belirtilmezse, varsayılan zone kullanılır. root# firewallcmd zone=test listinterfaces eth0 Bir zone ‘a ağ arabirimi eklemek isterseniz aşağıdaki komutu kullanabilirsiniz. Örneğin, eth0 a eth0 adlı ağ arabirimi test adlı zone’a eklemek için aşağıdaki birinci komut kullanabilir. Kalıcı olarak ayarlamak isterseniz ikinci komutu kullanabilirsiniz. root# firewallcmd zone=test addinterface=eth0 success root# firewallcmd permanent zone=test addinterface=eth0 success NOT: NetworkManager ağ arabirimleri otomatik olarak zone’lara eklemektedir.
18.
Bir zone içerisindeki kaynağı kalıcı olarak değiştirmek istersek aşağıdaki komutu kullanabiliriz. Örneğin, (192.168.100.0/24) kaynağını (172.16.16.0/24) kaynağı ile değiştirmek için aşağıdaki komutu kullanmamız yeterli olacaktır. Eğer kalıcı olarak ayarlamak istemezsek permanent parametresini kaldırabiliriz. root# firewallcmd permanent zone=test changesource=172.16.16.0/24 success Bir zone alanına ait port numaralarını listelemek istersek aşağıdaki komutu kullanabiliriz. root# firewallcmd zone=test listports 443/tcp 22/tcp 80/udp Bir zone alanına bağlı kaynakları listelemek isterseniz aşağıdaki komutu kullanabilirsiniz. Eğer herhangi bir zone belirtilmezse, varsayılan zone için uygulanacaktır. root# firewallcmd zone=test listsources 192.168.100.0/24 Bir zone için yönlendirilmiş port ’ların listesini görmek için aşağıdaki komut kullanılabilir. Eğer herhangi bir zone belirtilmez ise varsayılan zone kullanılacaktır. root# firewallcmd zone=test listforwardports
19.
Servis Yönetimi Örneğin, HTTP servisini sürekli belirtilen zone için izin vermek isterseniz aşağıdaki komutu kullanabilirsiniz. Daha sonra yaptığınız değişikliği hemen aktif olmasını isterseniz ikinci komutu kullanabilirsiniz. Bu seçenek birden çok kez belirtilebilir. root# firewallcmd permanent zone=test addservice=http success root# firewallcmd reload success root# firewallcmd zone=test listall test interfaces: eth0 sources: 192.168.100.0/24 services: dhcpv6client ippclient mdns sambaclient ssh http ports: masquerade: no forwardports:
20.
Belirtilen zone için mesela, HTTP servisini yasaklamak isterseniz aşağıdaki komutu kullanabilirsiniz. Yasaklamaktan kastım belirtilen HTTP servisi bu zone için kaldırıldığı zaman zaten bu servise kimse erişemeyecek, dolayısıyla yasaklanmış olacaktır. root# firewallcmd permanent zone=test removeservice=http success Varsayılan olarak kullanılan zone içerisindeki servisleri listelemek istersek aşağıdaki komutu kullanabiliriz. root# firewallcmd listservices dhcpv6client ssh Yukarıdaki komut varsayılan zone içerisindeki servisleri gösterir demiştik. Aşağıdaki komut ise belirtilen zone içerisindeki servisleri gösterir. root# firewallcmd zone=test listservices dhcpv6client http ippclient mdns sambaclient ssh Varsayılan olarak kullandığınız zone alanına yeni bir servis eklemek isterseniz aşağıdaki komutu kullanabilirsiniz. Kalıcı olarak eklemek isterseniz permanent parametresi ekleyebilirsiniz. root# firewallcmd newservice=ftp success
21.
Örneğin bir servisi sadece 10 saniye için varsayılan zone ‘a eklemek isterseniz aşağıdaki komutu kullanabilirsiniz. Daha sonra listall parametresini kullanarak test edebilirsiniz. root# firewallcmd addservice=samba timeout=10 success Önceden tanımlanmış icmp türlerini görüntülemek istersek aşağıdaki komutu kullanabiliriz. root# firewallcmd geticmptypes destinationunreachable echoreply echorequest parameterproblem redirect routeradvertisement routersolicitation sourcequench timeexceeded Varsayılan olara kullandığınız zone alanına yeni bir icmp türünü eklemek isterseniz aşağıdaki komutu kullanabilirsiniz. root# firewallcmd newicmptype=echoreply success Önceden tanımlanmış bir icmp türünü silmek istersek aşağıdaki komutu kullanabiliriz. Kalıcı olarak silmek istersek permanent parametresi ekleyebiliriz. root# firewallcmd deleteicmptype=echoreply success
22.
Güvenlik Duvarı Servis Konfigurasyonu Firewalld paketi ile birlikte güvenlik duvarı yapılandırma hizmetleri (ftp,httpd,ssh,) /usr/lib/firewalld/services dizininde tutulmaktadır. Eğer yeni servisler eklemek isterseniz /etc/firewalld/services dizini içerisine ekleyebilirsiniz. Eğer dosyalar aynı hizmet için her iki yerde kullanılıyorsa /etc/firewalld/services dizinindeki dosyalar önceliklidir. Örneğin, HAProxy servisi. Aşağıdaki komutu kullanarak haproxy.xml adında bir dosya oluşturun ve aşağıdaki satırı içerisine yapıştırın. Ayarları kaydetmek için CTRL+O kombinasyonuna basıktan sonra enter tuşuna basılır ardından CTRL+X kombinasyonuna basarak dosyadan çıkılır. root# nano /etc/firewalld/services/haproxy.xml <?xml version="1.0" encoding="utf8"?> <service> <short>HAProxy</short> <description>HAProxy loadbalancer</description> <port protocol="tcp" port="80"/> </service> Daha sonra aşağıdaki komutlar kullanılarak dosya için gerekli ayarlar yapılır. root# cd /etc/firewalld/services root# restorecon haproxy.xml root# chmod 640 haproxy.xml
23.
Varsayılan olarak kullanılan zone alanına oluşturduğumuz servisi eklemek istersek aşağıdaki komutu kullanabiliriz. Eğer eklemek istediğimiz özel bir zone varsa zone=zone_ismi parametresini kullanabiliriz. root# firewallcmd permanent addservice=haproxy success root# firewallcmd reload success Varsayılan olarak kullanılan zone‘a eklediğimiz haproxy servisini kaldırmak istersek aşağıdaki komutu kullanabiliriz. root# firewallcmd permanent removeservice=haproxy success root# firewallcmd reload success
24.
Port Yönetimi Bir zone alanına kalıcı olarak 443/tcp portuna izin vermek isterseniz aşağıdaki komutu kullanabilirsiniz. Örneğin, test adlı zone ‘a 443/tcp portunu izin verelim. Kalıcı olarak eklemek istemezseniz permanent parametresini kaldırabilirsiniz. root# firewallcmd permanent zone=test addport=443/tcp success root# firewallcmd reload success root# firewallcmd zone=test listall test interfaces: eth0 sources: 192.168.100.0/24 services: dhcpv6client http ippclient mdns sambaclient ssh ports: 22/tcp 443/tcp masquerade: no forwardports:
25.
Bir zone alanına eklediğiniz port numarasını silmek isterseniz aşağıdaki komutu kullanabilirsiniz. Eğer herhangi bir zone belirtilmezse, varsayılan zone için uygulanacaktır. root# firewallcmd permanent zone=test removeport=443/tcp success Bir zone alanına eklediğimiz port numaralarını görmek istersek aşağıdaki komutu kullanabiliriz. root# firewallcmd zone=test listports 443/tcp 22/tcp Port Yönlendirme Güvenlik duvarında port yönlendirme yapmak isterseniz aşağıdaki adımları takip edebilirsiniz. Bir zone için port yönlendirme yapmak istersek aşağıdaki komutu kullanabiliriz. Aşağıdaki komutun anlamı şudur, test adlı zone için tcp protokolü ile 22 portuna gelen tüm istekleri 3758 portuna yönlendir. root# firewallcmd permanent zone=test addforwardport=port=22:proto=tcp:toport=3758 success root# firewallcmd reload success
26.
root# firewallcmd zone=test listall test interfaces: eth0 sources: 192.168.100.0/24 services: dhcpv6client http ippclient mdns sambaclient ssh ports: 443/tcp 80/udp 22/tcp masquerade: no forwardports: port=22:proto=tcp:toport=4000:toaddr= Belirtilen zone için tcp protokolü ile 22 portuna gelen tüm istekleri içerideki 192.168.100.50 ip adresinin 3758 portuna yönlendir. root# firewallcmd permanent zone=test addforwardport=port=22:proto=tcp:toport=3758:toadddr=192.168.100.50 success Belirtilen zone için kaynağı herhangi biri olan 80 portuna gelen tüm istekleri 192.168.100.150 ip adresinin 9999 portuna yönlendir. root# firewallcmd permanent zone=test addforwardport=port=80:proto=tcp:toport=9999:toadddr=192.168.100.50 success
27.
Bu sefer UDP protokolü üzerinden çalışan bir port yönlendirme kuralı girelim. Belirtilen zone için 53 portuna gelen tüm istekleri 3450 portuna yönlendir. root# firewallcmd permanent zone=test addforwardport=port=53:proto=udp:toport=3450 success Yukarıdaki komutun aynısı sadece toaddr= parametresini ekleyerek içerideki istediğimiz bir ip adresine port yönlendirme yapabiliriz. Belirtilen zone için 53 portuna gelen tüm istekleri içerideki 192.168.100.100 ip adresinin 3450 portuna yönlendir. root# firewallcmd permanent zone=test addforwardport=port=53:proto=udp:toport=3450:toadddr=192.168.100.100 success Bir zone alanına eklediğiniz port yönlendirmeyi silmek isterseniz aşağıdaki komutu kullanabilirsiniz. root# firewallcmd permanent zone=test removeforwardport=port=53:proto=udp:toport=3450:toadddr=192.168.100.100 success
28.
Güvenlik Duvarı Kural Yönetimi FirewallD ile kural yazımı örneklerini direct ve richrule parametrelerini kullanarak anlatacağım. direct : Kulllanıcıların Iptables konseptini temel seviyede öğrenmesi için gereklidir. Kullanılması pek önerilmez. richrule : Bilinen Iptables söz dizimi olmadan, en karmaşık firewall kurallarını yazmak için yüksek seviyede zengin bir yazım seçeneği sunar. Aşağıdaki örnekte direct parametresi kullanılarak varsayılan zone için bir kural girelim. Bu örneğimizde kaynağı herhangi bir ip adresinden gelen kaynağı herhangi bir ip adresine giden ve hedefi 22. (ssh) portuna erişimine izin ver. root# firewallcmd direct addrule ipv4 filter INPUT 0 p tcp dport 22 j ACCEPT success Bu örneğimizde ise kaynağı herhangi bir ip adresinden gelen kaynağı herhangi bir ip adresine giden ve hedefi 9000 portuna erişimini yasakla. root# firewallcmd direct addrule ipv4 filter INPUT 0 p tcp dport 9000 j DROP success
29.
Eklemiş olduğumuz direkt kullarını görüntülemek istersek aşağıdaki kullanabiliriz. root# firewallcmd zone=test direct getallrules ipv4 filter INPUT 0 p tcp dport 22 j ACCEPT ipv4 filter INPUT 0 p tcp dport 9000 j DROP Eğer eklemiş olduğumuz direkt kuralını silmek istersek aşağıdaki komutu kullanabiliriz. root# firewallcmd direct removerule ipv4 filter INPUT 0 p tcp dport 22 j ACCEPT success Sıra geldi zengin (rich) kural yazımı ile ilgili örnek kurallar yazmaya. Belirli bir network aralığı için örneğin http (80) servisine izin vermek isterseniz aşağıdaki komut kullanılabilir. root# firewallcmd addrichrule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' success
30.
Yukarıdaki komutun aynısı sadece bu kuralı kalıcı olarak ayarlamak istersek permanent parametresini ekleyebiliriz. root# firewallcmd permanent addrichrule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' success Bir network aralığı için https (443) servisine izin verelim. Unutmayınız permanent parametresini ekleyerek kuralın kalıcı olmasını sağlayabilirsiniz. root# firewallcmd addrichrule 'rule family="ipv4" source address="192.168.0.0/24" service name="https" accept' success Aynı şekilde bir network aralığı için vncserver servisine izin vermek istersek aşağıdaki komutu kullanabiliriz. root# firewallcmd addrichrule 'rule family="ipv4" source address="192.168.0.0/24" service name="vncserver" accept' success
31.
Örneğin, test adlı bir zone için kural eklemek istersek aşağıdaki gibi bir komut kullanabiliriz. Bu örneğimizde test adlı zone içerisindeki network aralığına ssh (22) servisine izin verilmiş. Unutmayınız permanent parametresini ekleyerek kuralın kalıcı olmasını sağladık. root# firewallcmd permanent zone=test addrichrule 'rule family="ipv4" source address="192.168.0.0/24" service name="ssh" accept' success Bir ip adresi için ssh (22) servisini kullanmasını engellemek istersek aşağıdaki gibi bir komut kullanabiliriz. Bu kuralı özel bir zone için eklemek istersek zone=zone_ismi parametresini kullanabiliriz. root# firewallcmd permanent zone=test addrichrule 'rule family="ipv4" source address="192.168.100.50/24" service name="ssh" drop' success veya aşağıdaki gibi komut kullanarak bu ip adresinin ssh (22) servisini kullanmasını engelle aynı zamanda geri ona hata mesajı döndür diyebiliriz. :) root# firewallcmd permanent zone=test addrichrule 'rule family="ipv4" source address="192.168.100.50/24" service name="ssh" reject' success
32.
Yukarıdaki kurallarda hep 22 vb.. port numaraları yerine ssh gibi kelimeler kullanılmış. Siz bunu isterseniz ssh veya karşılığı olan 22 port numarasını yazın iki seçenek aynı anlamlara geliyor. Hangisi kolayınıza geliyorsa onu kullanabilirsiniz. root# firewallcmd permanent zone=test addrichrule 'rule family="ipv4" source address="192.168.100.50/24" service name="22" reject' success Varsayılan zone için eklemiş olduğumuz kuralları listelemek istersek aşağıdaki komutu kullanabiliriz. root# firewallcmd listall public (default, active) interfaces: eno16777736 sources: services: dhcpv6client ssh ports: 443/tcp masquerade: yes forwardports: icmpblocks: rich rules: rule family="ipv4" source address="192.168.0.0/24" service name="http" accept rule family="ipv4" source address="192.168.0.0/24" service name="ssh" accept'
33.
Özel bir zone için eklediğimiz kuralları listelemek için aşağıdaki komutu kullanabiliriz. root# firewallcmd zone=test listall test (active) interfaces: eno33554984 sources: 192.168.0.0/24 services: dhcpv6client ippclient ssh ports: 22/tcp masquerade: yes forwardports: port=22:proto=tcp:toport=2222:toaddr=192.168.100.50 icmpblocks: rich rules: rule family="ipv4" source address="192.168.100.253/24" service name="21" accept rule family="ipv4" source address="192.168.100.50/24" service name="ssh" reject rule family="ipv4" source address="192.168.0.0/24" service name="http" accept rule family="ipv4" source address="192.168.0.0/24" service name="ssh" accept rule family="ipv4" port port="22" protocol="tcp" accept rule family="ipv4" source address="192.168.100.50/24" service name="ssh" drop
34.
Peki eklediğimiz bir kuralı nasıl silebiliriz. Aşağıdaki komutu kullanarak varsayılan zone için belirttiğimiz kuralı silebiliriz. root# firewallcmd permanent removerichrule='rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' success root# firewallcmd listall public (default, active) interfaces: eno16777736 sources: 192.168.0.0/24 services: dhcpv6client ssh ports: 443/tcp masquerade: yes forwardports: icmpblocks: rich rules: rule family="ipv4" source address="192.168.0.0/24" service name="ssh" accept' aynı zamanda özel bir zone için bir kural silmek istersek aşağıdaki komutu kullanabiliriz. Kalıcı olarak silmek isterseniz permanent parametresini ekleyebilirsiniz. root# firewallcmd permanent zone=test removerichrule='rule family="ipv4" source address="192.168.0.0/24" service name="ssh" accept' success
35.
Grafik Arabirim (GUI) ile Güvenlik Duvarı Konfigurasyonu Firewalld güvenlik duvarı komut satırından yönetildiği gibi aynı zamanda grafik arayüz ile yönetilebilmektedir. Bu araç kullanıcı dostu olup çok kolay bir şekilde firewalld güvenlik duvarını yönetebilmenize olanak sağlar. Bu grafik arayüzü programını çalıştırabilmeniz için centos 7 işletim sisteminizde Masa Üstü ortamının ( Desktop ) olması gerekiyor. Grafik arayüz kurulumunu yazının ilerleyen konularında değineceğim. Varsayılan olarak Centos 7 ve üzeri sistemlerde artık kurulu gelecektir fakat alt sürümlerde olmayabilir. Bu durumda aşağıdaki komutu kullanarak grafik yönetim aracını indirebilirsiniz. root# yum update && yum upgrade y root# yum install firewallconfig y Kurulum bittikten sonra aşağıdaki komut yardımıyla firewalld grafik arayüz programını açabilir ve firewalld güvenlik duvarını yönetebilirsiniz. root# firewallconfig
36.
Örnek Uygulamalar Firewall yönetiyorsanız sık yapmanız gereken işlemler arasında, port filtrelemek, port yönlendirmek, ip adresi yada ip gruplarına çeşitli kurallar tanımlamaktır. Aşağıda bunları grafik arabirim üzerinden yapmanızı sağlayacak pratik uygulamalar ele aldım. NOT: Yazının giriş kısmından sonraki bölümlerde komut satırından bu işlemlerin nasıl yapılacağını açıkladım. Grafik Arayüz Programı ile Port Engellemek Örneğin, İnternet ağından (yani public zone) 22. porta gelen trafiği engellemek istiyorum. Bunun için ilk önce (firewallconfig) program açılır ve kural oluşturmak istediğimiz zone seçilir. Zone seçildikten sonra Rich Rules sekmesine girip Add butonuna tıklayarak bir tane firewall kuralı oluşturuyoruz.
37.
ardından yapacağınız işleme göre seçenekleri belirlemeniz gerekir. Benim örneğimden internetteki herhangi bir ip adresinden, sahip olduğum herhangi bir ip adresin port tcp 22. porta gelen trafiği engellemek yer alıyor. Bu doğrultuda aşağıdaki ayarlar yapıldıktan sonra OK butonu ile değişiklikleri kaydediyoruz. NOT : Configuration = Permanent seçilerek yapılacak ayarların kalıcı olarak ayarlanmasını sağlayabilirsiniz. Aksi takdirde sistem yeniden başlatıldıktan sonra yapılan ayarlar silinecektir. NOT : Ayarların aktif olması için Options > Reload Firewalld butonuna tıklayabilirsiniz veya firewallcmd reload komutunu kullanabilirsiniz.
38.
Grafik Arayüz Programı ile Port Yönlendirmek Bu örnekte ise grafik arayüz programı ile port yönlendirme nasıl yapılır bunu inceleyelim. İlk önce Port Forwarding sekmesine girilir ardından Add butonuna tıklayarak yeni bir kural oluşturulur. Aşağıdaki kural ile internetteki herhangi bir ip adresinden, sahip olduğum herhangi bir ip adresinin tcp 22 portuna gelen istekleri iç ağımdaki 192.168.100.50 ip adresinin 2222 portuna yönlendirmiş oluyoruz. NOT : Ayarların aktif olması için Options > Reload Firewalld butonuna tıklayabilirsiniz veya firewallcmd reload komutunu kullanabilirsiniz.
39.
Grafik Arayüz Programı ile Varsayılan Zone Belirtmek Varsayılan olarak kullanılan herhangi bir zone ‘u başka bir zone ile değiştirmek isterseniz aşağıdaki adımları takip edebilirsiniz. Bunu hem komut satırından hemde aşağıdaki gibi grafik program ile yapabilirsiniz. Grafik arayüzde Options > Change Default Zone > bölümüne girdikten sonra aşağıdaki gibi istediğiniz bir zone seçerek onu varsayılan zone olarak kullanabilirsiniz. NOT : Aynı zamanda /etc/firewalld/firewalld.conf dosyasını açıp varsayılan zone alanını değiştirebilirsiniz.
40.
Ağ Arabirimlere Bağlı Zone ‘ları Görüntülemek/Değiştirmek Herhangi bir zone alanına eklediğiniz ağ arabirimini görüntülemek veya değiştirmek isterseniz Options > Change Zone of Connections > bölümüne girip gerekli ayarları yapabilirsiniz.
41.
Güncel Hayattan Pratik Örnekler 1. IPv4 ve IPv6 bağlantırını ftp servisi için her 1 dakika için audit ile loglama yap. root# firewallcmd addrichrule='rule service name="ftp" audit limit value="1/m" accept' 2. IPv4 bağlantıları kaynağı 192.168.0.0/24 adresinden gelen tftp servisi için syslog ile her 1 dakikada loglama yap. root# firewallcmd addrichrule='rule family="ipv4" source address="192.168.0.0/24" service name="tftp" log prefix="tftp" level="info" limit value="1/m" accept' 3. Kaynağı 192.168.2.2 ip adresinin internete çıkarken geçen tüm bağlantılarına izin ver. root# firewallcmd addrichrule='rule family="ipv4" source address="192.168.2.2" accept' 3. Kaynağı 192.168.2.3 ip adresinin tüm bağlantılarını engelle aynı zamanda geriye hata mesajı döndür. root# firewallcmd addrichrule='rule family="ipv4" source address="192.168.2.3" reject'
42.
5. Kaynağı 192.168.2.4 ip adresinin tüm bağlantılarını engelle. root# firewallcmd addrichrule='rule family="ipv4" source address="192.168.2.4" drop' FirewallD Log Mekanizması Loglar sorun çözmede faydalandığımız ilk kaynaklardan biridir. Bir şeylerin ters gittiğini gördüğünüzde, yada anormallikleri gözlemlemek istediğinizde loglar hayat kurtarıcı olur. FirewallD varsayılan olarak firewall kuralları, yönlendirme kuralları için log tutmamaktadır. Fakat kendi kurallarınız için özel bir log dosyası oluşturabiliyorsunuz. Bu konuya yazının ilerleyen kısımlarında değineceğim. FirewallD hata ayıklama çıkışı varsayılan olarak /var/log/firewalld dosyasına yazılır. Aşağıdaki komutu kullanarak /var/log/firewalld log dosyasının son satırlarını görebilirsiniz. root# tail f /var/log/firewalld 20150824 12:09:45 DEBUG2: firewall.core.ipXtables.ip6tables: /sbin/ip6tables t mangle P FORWARD ACCEPT 20150824 12:09:45 DEBUG1: PanicModeDisabled() 20150824 12:09:49 DEBUG1: zone.getZones() 20150824 12:11:19 DEBUG1: config.getServiceByName('bacula') 20150824 12:11:2 DEBUG1: config.getZoneByName('public')
43.
FirewallD Log Seçenekleri FirewallD iki farklı log mekanizması bulunmaktadır. Bunlardan birisi auditd diğeri ise syslog mekanizmasıdır. Varsayılan olarak syslog mekanizması kullanılmaktadır. Fakat auditd ile loglama yapmak isterseniz bunu kuralda belirtmeniz gerekir. NOT : Firewalld loglama “s” saniye, “m” dakika, “h” saat, “d” gün olmak üzere zaman zarfları bulunmaktadır. Bu zaman zarfları bir log dosyasının ne zamanda bir loglanacağını belirtir. FirewallD Log Kural Sözdizimi Firewalld log kural yazımının söz dizimi aşağıdaki gibidir. log [prefix="<prefix text>"] [level="<log level>"] [limit value="<rate/duration>"]
44.
Syslog Aşağıdaki komutu kullanarak oluşturulacak firewall kuralı için o kurala ait özel bir log dosyası oluşturulabilir. Örneğin, aşağıdaki kuralda tftp bağlantısı için izin kuralı tanımlanmış ve her 1 dakika için loglama yap ve logu tftplog ismi ile oluştur denmiş. root# firewallcmd addrichrule='rule family="ipv4" source address="192.168.0.0/24" service name="tftp" log prefix="tftp" level="info" limit value="1/m" accept' Aşağıdaki kuralda ise 192.168.100.50 ip adresinin dışarıya 22 portunun erişimi engellenmiş ve her 1 dakika için loglama yap ve logu sshlog ismi ile oluştur denmiş. root# firewallcmd addrichrule='rule family="ipv4" source address="192.168.100.50" service name="ssh" log prefix="sshlog" level="info" limit value="1/m" drop’ Audit Aşağıdaki kuralda ise ftp servisine izin verilmiş ve her 1 dakika için auditd ile loglama yap denmiş. root# firewallcmd addrichrule='rule service name="ftp" audit limit value="1/m" accept'
45.
Aşağıdaki kuralda kaynağı 192.168.2.4 ip adresinin 22 (ssh) port erişimini yasakla ve her 1 dakika için auditd ile loglama yap ve logu sshlog ismi ile oluştur denmiş. root# firewallcmd addrichrule='rule family="ipv4" source address="192.168.2.4" service name="ssh" audit prefix="sshlog" level="info" limit value="1/m" drop’ FirewallD Hata Numaraları Bazen log dosyalarını incelerken, karşımıza çıkan hataları kırmızı renkle çizili olarak görürüz. Bunun gibi bazen hataların yanında kodlar olur veya hatalar olmadan sadece kodları vardır. Örneğin ( 403 Forbidden vb. ) hata kodları mevcuttur. Firewalld güvenlik duvarına ait hata mesajları ve karşısında hata numaraları aşağıdaki gibidir. Başlık Numara ALREADY_ENABLED | 11 | NOT_ENABLED | 12 | COMMAND_FAILED | 13 | NO_IPV6_NAT | 14 | PANIC_MODE | 15 | NOT : Daha fazlası için man sayfasına bakınız.
46.
Centos 7 Desktop Kurulumu Centos 7 işletim sistemine desktop kurmak isterseniz aşağıdaki adımları takip edebilirsiniz. Firewalld güvenlik duvarını grafik arayüz programı ile yönetmek isterseniz desktop kurmalısınız aksi takdirde program açılmayacaktır. İlk önce aşağıdaki komutu kullanarak sistem depolarını güncelleyelim. root# yum y update Daha sonra aşağıdaki komutu kullanarak desktop için gerekli olan paketleri kuralım. Aşağıdaki komutu duğrudan copy/paste yapıp kullanabilirsiniz. root# yum groupinstall “GNOME Desktop” “Graphical Administration Tools” Sıra geldi otomatik olarak desktop ekranın açılmasını sağlamak. Aşağıdaki komutu kullanarak desktop ekranının otomatik olarak açılmasını sağlayabilirsiniz. Aksi takdirde aynı komut satırını göreceksiniz. root# ln sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target Sistem yeniden başlatıldıktan sonra aşağıdaki gibi Gnome Desktop masaüstü ekranı ile karşılaşacaksınız.
47.
Firewalld Parametreleri permament : Bu parametre bir şeyi kalıcı olarak ayarlamak için kullanılır. reload : Bu parametre değiştirilen ayarların hemen aktif olmasını sağlar. /usr/lib/firewalld/services : Bu dizin altında servisler bulunuyor. /usr/lib/firewalld/zones : Bu dizin içerisine bölgeler bulunuyor. /usr/lib/firewalld/icmptypes : Bu dizin içerisinde icmp türleri yer alıyor. /etc/firewalld/services : Bu dizin içerisine yeni servisler eklenebiliyor. firewallcmd : Bu araç firewalld güvenlik duvarı komut istemcisi olarak kullanılıyor. /etc/firewalld/firewalld.conf : Bu dosya bölgelerin bilgilerini barındırır ve varsayılan hangi zone kullanılıyor onu gösterir. firewallcmd getzones : Zone’ları listeler ve hakkında bilgi verir. firewallcmd getservices : Önceden tanımlanmış servisleri listeler. firewallcmd geticmptype : Önceden tanımlanmış icmp türlerini listeler. firewallcmd getdefaultzone : Varsayılan olarak kullanılan zone’u gösterir. firewallcmd getdefaultzone=test : Test adlı zone’u varsayılan zone olarak ayarlar. firewallcmd getactivezones : Aktif kullanılan bölgeleri listeler. firewallcmd getzoneofinterface=eth0 : Hangi bölgenin eth0 ağ arabirimi ile ilişkili olduğunu gösterir. firewallcmd listallzones : Tüm bölgeleri listeler ve onlar hakkında birçok bilgi verir.
48.
FirewallD Konfigurasyon Yedekleme İşlemleri Firewall’larımızın kuralları hayati öneme sahiptir, çeşitli felaket senaryolarında geri dönmek, farklılıkları gözlemlemek için yedek almamız ciddi önem taşımaktadır. Yedek Alma Aşağıdaki komut ile genel geçerli olan FirewallD kurallarını yedekleyebilirsiniz. Daha sonra cat komutu ile içerisindeki kuralları inceleyebilirsiniz. root# iptablessave > firewalld_rules_ipv4 root# iptablessave > firewalld_rules_ipv6 Düzenli Full Konfigurasyon Yedekleme Bir shell script oluşturup daha sonra o script dosyasına her gün belirli saatler ile yedekleme yapmasını söylebiliriz. Aşağıdaki örnek script dosyasının içerisinde tar ile /etc/firewalld, /var/log/firewalld, dizinlerini bugünün tarihi ile /home dizini altına yedekle demiş oluyoruz. Bunu yapmak için ilk önce içi boş bir dosya oluşturulur daha sonra dosyanın içerisine nano, ee, vim, vi gibi araçlar kullanılarak girilir ve dosyanın içerisine aşağıdaki kod eklenir arından CTRL+O kombinasyonuna basarak kaydedilir ve CTRL+X kombinasyonuna basarak çıkılır. root# touch script_dosyam
49.
root# nano script_dosyam #!/bin/bash NOW=$(date +"%m%d%Y") FILE="firewalld_backup.$NOW.tar.gz" echo "Biraz bekleyin dosyalar sıkıştırılıyor… :)" # rest of script tar cvf /home/firewalld_backup.$NOW.tar.gz /etc/firewalld /var/log/firewalld root# bash script_dosyam Biraz bekleyin dosyalar sıkıştırılıyor… :) tar: Removing leading `/' from member names /etc/firewalld/ /etc/firewalld/firewalld.conf /etc/firewalld/icmptypes/ /etc/firewalld/lockdownwhitelist.xml /etc/firewalld/services/ /etc/firewalld/zones/ /etc/firewalld/zones/public.xml /etc/firewalld/zones/test.xml.old /etc/firewalld/zones/public.xml.old /etc/firewalld/zones/work.xml /etc/firewalld/zones/work.xml.old /etc/firewalld/direct.xml /etc/firewalld/direct.xml.old /var/log/firewalld
50.
Crontab ‘a Kural Girdisi Eklemek Yapmış olduğumuz bu bash script dosyasını her zaman gidip elle çalıştırmak istemeyiz. Bunun için crontab’a görev tanımlayıp bizim yapacağımız işi ona devredebiliriz. Bunu yapmak için ilk önce crontab içerisine girilir ardından aşağıdaki gibi crontab girdisi eklenir. NOT : Crontab girdisini dakika, saat, ayın günleri, ay, hafta günlerini istediğiniz gibi ayarlayabilirsiniz. Aşağıdaki örnekte her gün her hafta her ay öğlen saat 12 ‘de /bin/bash /root/script_dosyam adlı komutu çalıştır. Daha sonra dosya kaydedilip çıkılır. root# cronteb e * 12 * * * /bin/bash /root/script_dosyam Yedekten Geri Dönme FirewallD kurallarını yedeklediğimiz dosyanın adını aşağıdaki gibi belirterek yedekten geri dönebiliriz. root# iptablesrestore < firewalld_rules_ipv4 root# iptablesrestore < firewalld_rules_ipv6 NOT : Güncel sürümlerin slideshare.net/ibrahimucar39545464 adresinden aynı zamanda lifeoverlinux.com sitesinden ulaşabilirsiniz.
Download now