CentOS 7de Güvenlik Duvarınızı Yönetmek için FirewallDyi Kullanma

Güvenlik DuvarıD, RHEL 7 tabanlı sunucularda bulunan IPv4 ve IPv6 güvenlik duvarı kuralları ve güvenlik duvarı bölgeleri için destek sağlayan, dinamik olarak yönetilen bir güvenlik duvarıdır. Bu, iptablesçekirdeğin netfilterkodunun yerine geçer ve onunla çalışır .

Bu makalede, firewall-cmdkomutu kullanarak CentOS 7'deki güvenlik duvarını yönetmeye kısaca göz atacağız .

Güvenlik DuvarıD'nin çalışıp çalışmadığını kontrol etme

İlk adım, FirewallD'un kurulu olup olmadığını kontrol etmektir. Bu systemd, aşağıdakileri çalıştırarak yapılabilir :

$ systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2016-03-10 15:07:00 UTC; 1min 30s ago
   ...

Alternatif olarak, firewall-cmdaracı kullanarak kontrol edebilirsiniz :

$ firewall-cmd --state
running

Bölgeleri yönetme

FirewallD, zonesbir bölgenin bağlantı için kullanılan güven seviyesini tanımladığı kavramı kullanarak çalışır . Arabirim başına belirli güvenlik duvarı kuralları uygulamak için farklı ağ arabirimlerini farklı bölgelere bölebilir veya tüm arabirimler için bir bölge kullanabilirsiniz.

Kutunun dışında, her şey varsayılan publicbölgede yapılır , ancak önceden uygulanabilen başka önceden yapılandırılmış bölgeler de vardır.

Mevcut tüm bölgeleri listeleme

Kutusundan çıkan birkaç bölgenin bulunduğu tüm kullanılabilir bölgelerin bir listesini almanız gerekebilir. Yine, bu kullanılarak yapılabilir firewall-cmd:

$ firewall-cmd --get-zones
block dmz drop external home internal public trusted work

Varsayılan bölgeyi kontrol etme

Şu anda yapılandırılmış olan varsayılan bölgeyi aşağıdakileri kullanarak keşfedebilirsiniz firewall-cmd:

$ firewall-cmd --get-default-zone
public

Varsayılan bölgeyi (örneğin, olarak home) değiştirmek isterseniz , bu işlem aşağıdakileri yaparak yapılabilir:

$ firewall-cmd --set-default-zone=home
success

Bu bilgiler ana yapılandırma dosyasına yansıtılacaktır /etc/firewalld/firewalld.conf. Ancak, bu dosyayı manuel olarak değiştirmemeniz ve bunun yerine kullanmamanız önerilir firewall-cmd.

Şu anda atanmış bölgeleri kontrol etme

Arabirim atadığınız bölgelerin bir listesini çalıştırarak alabilirsiniz:

$ firewall-cmd --get-active-zones
public
  interfaces: eth0

Tek bir arabirimin bölgesini ( eth0bu durumda) çalıştırarak da kontrol edebilirsiniz :

$  firewall-cmd --get-zone-of-interface=eth0
public

Bölge oluşturma

Önceden yapılandırılmış varsayılan bölgeler ihtiyaçlarınızı tam olarak karşılamıyorsa, yeni bir bölge ( zone1) oluşturmanın en kolay yolu yine şudur firewall-cmd:

$ firewall-cmd --permanent --new-zone=zone1
success

Oluşturduktan sonra yeniden yüklemeniz gerekir:

$ firewall-cmd --reload
success

Arabirime bölge uygulama

Bir bölgeye kalıcı olarak bir ağ arabirimi atamak için , değişikliği devam ettirmek üzere bayrağı firewall-cmdeklemeyi unutmayın --permanent. Kullanıyorsanız , bağlantı bölgesini ayarlamak NetworkManageriçin de kullandığınızdan emin olmalısınız nmcli.

$ firewall-cmd --permanent --zone=internal --change-interface=eth1`
success

Bir bölgenin kalıcı yapılandırmasını alma

publicAtanan arabirimler, izin verilen hizmetler, bağlantı noktası ayarları ve daha fazlasını içeren bir bölgenin ( bu durumda) kalıcı yapılandırmasını kontrol etmek için şunları çalıştırın:

$ firewall-cmd --permanent --zone=public --list-all
public (default)
  interfaces:
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

Hizmetleri yönetme

Gerekli bölgelerinizi atadıktan ve yapılandırdıktan sonra, bölgelere hizmet eklemeye başlayabilirsiniz. Hizmetler, bir bölge için erişilebilen protokolleri ve bağlantı noktalarını açıklar.

Mevcut hizmetleri listeleme

Firewalld içinde bazı ortak hizmetler önceden yapılandırılmıştır. Bunlar listelenebilir:

$ firewall-cmd --get-services
RH-Satellite-6 amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns freeipa-ldap freeipa-ldaps freeipa-replication ftp high-availability http https imaps ipp ipp-client ipsec iscsi-target kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind rsyncd samba samba-client smtp ssh telnet tftp tftp-client transmission-client vdsm vnc-server wbem-https

Varsayılan bölge için etkinleştirilmiş hizmetlerin bir listesini de alabilirsiniz:

$ firewall-cmd --list-services
dhcpv6-client ssh

Bölgeye hizmet ekleme

Bayrağı publickullanarak bir bölge ( ) için belirli bir hizmeti kalıcı olarak etkinleştirebilirsiniz --add-service:

$ firewall-cmd --permanent --zone=public --add-service=http
success

Ardından geçerli güvenlik duvarı oturumunu yeniden yükleyin:

$ firewall-cmd --reload
success

Ardından, eklendiğini doğrulamak için:

$ firewall-cmd --zone=public --list-services
dhcpv6-client http ssh

Bir bölgeden bir hizmeti kaldırma

Bayrağı publickullanarak bir bölge ( ) için belirli bir hizmeti kalıcı olarak kaldırabilirsiniz --remove-service:

$ firewall-cmd --permanent --zone=public --remove-service=http
success

Ardından geçerli güvenlik duvarı oturumunu yeniden yükleyin:

$ firewall-cmd --reload
success

Ardından, eklendiğini doğrulamak için:

$ firewall-cmd --zone=public --list-services
dhcpv6-client ssh

Bir bölgeye birden çok hizmet ekleme / kaldırma

İstediğiniz hizmet adlarını süslü parantezlere ( , ) sararak birden çok hizmeti (örneğin httpve https) bölgeye birer birer ekleyebilir veya kaldırabilirsiniz :{}

$ firewall-cmd --permanent --zone=public --add-service=
success

$ firewall-cmd --permanent --zone=public --list-services
dhcpv6-client http https ssh

Yeni hizmetler oluşturma

Bazen yeni özel hizmetler eklemeniz gerekebilir - örneğin, SSH arka plan programının bağlantı noktasını değiştirdiyseniz. Hizmetler, önemsiz XML dosyaları kullanılarak tanımlanır ve varsayılan dosyalar şu konumda bulunur /usr/lib/firewalld/services:

$  tree /usr/lib/firewalld/services
/usr/lib/firewalld/services
├── amanda-client.xml
├── bacula-client.xml
├── bacula.xml
├── dhcpv6-client.xml
├── dhcpv6.xml
├── dhcp.xml
├── dns.xml
├── freeipa-ldaps.xml
├── freeipa-ldap.xml
├── freeipa-replication.xml
├── ftp.xml
├── high-availability.xml
├── https.xml
├── http.xml
...

Yeni bir hizmet oluşturmanın en kolay yolu, bu mevcut hizmet dosyalarından birini kopyalayıp değiştirmektir. Özel hizmetler bulunmalıdır /etc/firewalld/services. Örneğin, SSH hizmetini özelleştirmek için:

$ cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh-custom.xml

Bu kopyalanan dosyanın içeriği aşağıdaki gibi olmalıdır:

$ cat /etc/firewalld/services/ssh-custom.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
  <port protocol="tcp" port="22"/>
</service>

Bağlantı noktasını değiştirmek için, hizmetin ve bağlantı noktasının kısa adını değiştirmeniz gerekir. İsterseniz açıklamayı da değiştirebilirsiniz, ancak bu yalnızca bir kullanıcı arayüzü veya başka bir uygulama tarafından kullanılabilecek ekstra meta verilerdir. Bu örnekte, bağlantı noktasını 1234 olarak değiştiriyorum:

$ nano /etc/firewalld/services/ssh-custom.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH-Custom</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
  <port protocol="tcp" port="1234"/>
</service>

Kaydettikten sonra, güvenlik duvarını yeniden yüklemeniz gerekir ve ardından kuralınızı bölgenize uygulayabilirsiniz:

$ firewall-cmd --reload
success

$ firewall-cmd --permanent --zone=public --add-service=ssh-custom
success

Liman yönetimi

Hizmetleri kullanmaya ek olarak, bağlantı noktalarına protokolle el ile de izin verebilirsiniz. Bölge 7777için TCP bağlantı noktasına izin vermek için public:

$ firewall-cmd --permanent --zone=public --add-port=7777/tcp
success

Ayrıca bir bağlantı noktası aralığı da ekleyebilirsiniz:

$ firewall-cmd --permanent --zone=public --add-port=7000-8000/tcp
success

Bölgenin TCP bağlantı noktasını kaldırmak (ve böylece reddetmek) 7777için public:

$ firewall-cmd --permanent --zone=public --remove-port=7777/tcp
success

publicGeçerli güvenlik duvarı oturumunu yeniden yükledikten sonra belirli bir bölge ( ) için şu anda izin verilen bağlantı noktalarını da listeleyebilirsiniz :

$ firewall-cmd --zone=public --list-ports
7000-8000/tcp

Güvenlik Duvarını EtkinleştirmeD

Güvenlik duvarını istediğiniz gibi yapılandırdıktan sonra, başlangıçta başlamasını sağlamak için sistemd üzerinden etkinleştirdiğinizden emin olmalısınız:

$ systemctl enable firewalld

Sonuç

Güvenlik DuvarıD içinde bağlantı noktası iletme, maskeleme ve güvenlik duvarıyla D-Bus üzerinden iletişim kurma gibi birçok ayar ve seçenek vardır. Umarım bu kılavuz temel bilgileri kavramanıza yardımcı olmuştur ve sunucunuzdan güvenlik duvarını kullanmaya başlamanız için araçlar sağlamıştır. Aşağıda bazı ek okumalar güvenlik duvarınızdan en iyi şekilde yararlanmanıza yardımcı olacaktır.

Yorum bırak

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.