Güvenlik

JunOS İşletim Sistemi Security Policy Konfigürasyonu (SRX Firewall)

 

Beşinci JunOS makalemizde, güvenlik politikalarının(security policy) konfigürasyonunu inceleyeceğiz.

 

Güvenlik gereksinimleri aynı olan bir ya da daha fazla network segmentinin bir arada bulunduğu alanlar zone olarak tanımlanır ki bu zone’lar arasındaki trafiğin kontrolünü de security policy’ler sağlar.

Interface’leri ve zone’ları aşağıdaki tabloda gösterildiği şekilde konfigüre etmiştik.

 

image001

 

Şimdi de Policy konfigürasyonu, SECURITY altında, POLICIES menüsünden gerçekleştireceğiz.

 

image002

 

 

Bir security policy yazabilmek için, temelde altı tanım gerekmektedir. Bu tanımlar:

1- Zone bilgisi(from-zone ve to-zone)
2- Policy ismi
3- Zone’lara üye address-book’ların bilgisi(address ve address-set)
4- Application bilgisi tanımlı olmalıdır.(Predefined ya da custom)
5- Action bilgisi(permit, deny, reject)
6- İlgili kuraldan geçen trafiğin logunun tutulup tutulmayacağının bilgisi (session close ya da session-init)

 

1- From-zone ve To-zone Bilgisi:

Yazacak olduğumuz policy’lerde trafiğin kaynak zone(from-zone) bilgisi ve hedef zone(to-zone) bilgisi tanımlanmalıdır.

Zone’larımızı tanımlamıştık. Tanımladığımız zone’lar şu şekildeydi:

 

image003

 

 

{primary:node0}[edit]
[email protected]# set security policies from-zone TRUST to-zone SFTP …

2- Policy isminin tanımlanması:

Her yazılacak policy için açıklama mahiyetinde bir isim tanımlanmalıdır.

{primary:node0}[edit]
[email protected]# set security policies from-zone TRUST to-zone SFTP policy Guvenlik-RDP-Erisim


3- Address-book tanımlanması:

Network segmentleri kavramının JunOS policy’lerindeki karşılığı, tanımlayacak olduğumuz address-book‘lardır.

Addres-book tanımı bir address’i ifade edebileceği gibi bir address-set’i de ifade edebilir. Address-set, birden fazla adresi barındıran bir gruptur. Örneklerle inceleyelim.

Node 0 olan birinci Firewall’a, 192.168.0.1 IP’li management portundan SSH yönetim protokolü kullanan bir programla bağlanabiliriz.

TRUST zone’unda, 192.168.1.11 IP’li bir bilgisayar için address-book tanımlayalım. İsmi SensoySahin-192.168.1.11 olsun.
TRUST zone’unda, 192.168.1.12 IP’li bir bilgisayar için address-book tanımlayalım. İsmi FikriBCelik-192.168.1.12 olsun.
TRUST zone’unda, 192.168.1.13 IP’li bir bilgisayar için address-book tanımlayalım. İsmi OsmanDogan-192.168.1.13 olsun.
TRUST zone’unda, 192.168.6.11 IP’li bir bilgisayar için address-book tanımlayalım. İsmi HakanUzuner-192.168.6.11 olsun.
TRUST zone’unda, 192.168.6.12 IP’li bir bilgisayar için address-book tanımlayalım. İsmi YasarCugalir-192.168.6.12 olsun.


SFTP zone’unda, 192.168.5.1 IP’li bir server için address book tanımlayalım. İsmi SFTP_Server-192.168.5.1 olsun

Bu altı address’in tanımlanması için aşağıdaki komutlar çalıştırılır.

{primary:node0}[edit]
[email protected]# set security zones security-zone TRUST address-book address
SensoySahin-192.168.1.11 192.168.1.1



[email protected]# set security zones security-zone TRUST address-book address
FikriBCelik-192.168.1.12 192.168.1.12



[email protected]# set security zones security-zone TRUST address-book address
OsmanDogan-192.168.1.13 192.168.1.13



[email protected]# set security zones security-zone TRUST address-book address
HakanUzuner-192.168.6.11 192.168.6.11

[email protected]# set security zones security-zone TRUST address-book address
YasarCugalir-192.168.6.12 192.168.6.12



[email protected]# set security zones security-zone SFTP address-book address
SFTP-Server-192.168.5.1 192.168.5.1


 


image004

 

Tanımladığımız her bir address için, address ismi olarak, hem isim hem de IP değerini bir arada kullandım. Bu sayede isim ya da IP değerini unuttuğunuz bir address kaydı için, hem ismiyle hem de IP’si ile arama yapabilme imkanına sahip olabilirsiniz.

Şimdi de iki tane address-set tanımlayalım. Birincisinin ismi Guvenlik diğerinin Sistem olsun. Yukarıda tanımladığımız address objelerini bu address-set’lere üye edelim. Bunun için aşağıdaki gibi komutlar çalıştırmalıdır:

{primary:node0}[edit]
[email protected]# set security zones security-zone TRUST address-book address-set Guvenlik address SensoySahin-192.168.1.11


[email protected]# set security zones security-zone TRUST address-book address-set Guvenlik address FikriBCelik-192.168.1.12


[email protected]# set security zones security-zone TRUST address-book address-set Guvenlik address OsmanDogan-192.168.1.13


[email protected]# set security zones security-zone TRUST address-book address-set Sistem address HakanUzuner-192.168.6.11


[email protected]# set security zones security-zone TRUST address-book address-set Sistem address YasarCugalir-192.168.6.12

Bu komutlarla Guvenlik ve Sistem isimli iki address-set oluşturulup bu set’lere address’ler üye edilmiş oldu. Daha sonra yazılacak policy’lerde hem address hem de address-set’ler kullanılabilir.

 

Bir address’i oluştururken, IP tanımında subnet belirtilmezse, bu tanım IP/32 olarak kabul edilir. Yani,

[email protected]# set security zones security-zone TRUST address-book address
SensoySahin-192.168.1.11
192.168.1.1



Bu tanımda 192.168.1.1 yazılmasıyla 192.168.1.1/32 yazılması aynı şeyi ifade eder.

[email protected]# set security zones security-zone TRUST address-book address
SensoySahin-192.168.1.11
192.168.1.1/32

 

Tek bir IP yerine bir IP bloğu tanımlanacaksa aşağıdaki örnekte gösterildiği gibi tanım yapılabilir.

[email protected]# set security zones security-zone TRUST address-book address
VLAN-1 192.168.1.0/24


ya da


[email protected]# set security zones security-zone TRUST address-book address
VLAN-6 192.168.6.0/24



SFTP zone’unda da bir subnet için address tanımı yapalım:


[email protected]# set security zones security-zone SFTP address-book address
VLAN-5 192.168.5.0/24


4- Application Tanımlanması

 

 

JunOS üzerinde ön tanımlı application’lar tanımlı geldiği gibi, özel application’lar da tanımlanabilmektedir. Örneğin
http port 80 için junos-http
https port 443 için junos-https
ftp port 21 için junos-ftp
ssh port 22 için junos-ssh gibi application’lar ön tanımlı olarak gelmektedir.

Özel application’lar da tanımlanabilmektedir. Örneğin
Protokolü TCP ve portu 8080 olan bir application tanımlayalım:


[email protected]# set applications application TCP-8080 protocol tcp destination-port 8080

Protokolü UDP ve portu 2525 olan bir application tanımlayalım:

[email protected]# set applications application UDP-2525 protocol udp destination-port 2525

 

Application set’ler de oluşturulabilmektedir. Örneğin,
junos-http, TCP-8080 ve UDP-2525 isimli üç application’ı DenemeAppSET isimli bir application-set’e üye edelim.


[email protected]# set applications application-set DenemeAppSET application junos-http
[email protected]#
set applications application-set DenemeAppSET application TCP-8080
[email protected]# set applications application-set DenemeAppSET application UDP-2525


5- Action Tanımlanması

 

JunOS üzerinde ön tanımlı olarak üç action tanımlı gelmektedir. Bunlar: permit, deny ve rejecttir. İzin verilmesi gereken bir trafik için permit kullanılırken, bloklanması gereken bir trafik için deny action’ı tanımlanmalıdır. Reject kullanıldığında da trafik yine bloklanmaktadır fakat deny action’ından farklı olarak, bir bilgilendirme mesajı da yayımlanmaktadır. (UDP trafiği için ICMP(unreachable message) ve TCP trafiği için reset(RST) paketi gönderilir.)

 

6- Trafik Log’larının Tanımlanması

 

Bir policy’de, üzerinden geçen trafik kayıt altına alınsın(log’lansın) istenirse, ön tanımlı olarak gelen iki log seçeneğinden bir tanesi etkinleştirilmelidir. Bu seçenekler, session-init ve session-close ‘dur. Tavsiye edilen, bloklanan trafik için session-init ve izin verilen trafik için session-close seçeneğinin aktifleştirilmesidir.

Şimdi de örnek policy’ler tanımlayalım:

1- TRUST zone’undaki SensoySahin-192.168.1.11 isimli address’ten SFTP zone’undaki SFTP-Server-192.168.5.1 isimli address’e full erişim gerçekleştirilebilir olsun.

2- TRUST zone’undaki Guvenlik ve Sistem isimli iki address-set’ten, SFTP zone’undaki tüm address’lere RDP erişimi gerçekleştirilebilir olsun.

3- TRUST zone’undaki Sistem isimli address-set üyesi bilgisayarlardan SFTP zone’undaki tüm address’lere SSH erişimi gerçekleştirilebilir olsun.

4- Yukarıdaki üç erişim hariç, TRUST zone’undaki hiç bir adresten SFTP zone’una erişim gerçekleştirilemesin.

Ve tanımlayacağımız bu dört kural için de trafik log’lansın.

Policy-1:


Full erişim istendiği için application tanımı olarak any yazacağız ayrıca bir izin kuralı tanımlayacağımız için log türü olarak session-close yazacağız.

 

 

[email protected]# set security policies from-zone TRUST to-zone SFTP policy Sensoy-Full-Erisim match source-address SensoySahin-192.168.1.11
[email protected]# set security policies from-zone TRUST to-zone SFTP policy Sensoy-Full-Erisim match destination-address SFTP-Server-192.168.5.1
[email protected]# set security policies from-zone TRUST to-zone SFTP policy Sensoy-Full-Erisim match application any
[email protected]# set security policies from-zone TRUST to-zone SFTP policy Sensoy-Full-Erisim then permit
[email protected]# set security policies from-zone TRUST to-zone SFTP policy Sensoy-Full-Erisim then log
session-close


Policy-2:

Yazacağımız policy’de RDP izni istenmektedir fakat protokolü TCP ve portu 3389 olan application ön tanımlı olarak gelmediğinden bu application custom tanımlanmalıdır. Önce application’ı TCP-3389 ismiyle oluşturalım.

[email protected]# [email protected]# set applications application TCP-3389 protocol tcp destination-port 3389


Şimdi de yazacağımız policy’de bu application’ı kullanalım.

 

[email protected]# set security policies from-zone TRUST to-zone SFTP policy RDP-Erisim match source-address Guvenlik
[email protected]# set security policies from-zone TRUST to-zone SFTP policy RDP-Erisim match source-address Sistem
[email protected]# set security policies from-zone TRUST to-zone SFTP policy RDP-Erisim match destination-address any
[email protected]# set security policies from-zone TRUST to-zone SFTP policy RDP-Erisim match application TCP-3389
[email protected]# set security policies from-zone TRUST to-zone SFTP policy RDP-Erisim then permit
[email protected]# set security policies from-zone TRUST to-zone SFTP policy RDP-Erisim then log
session-close

 

Policy-3:


[email protected]# set security policies from-zone TRUST to-zone SFTP policy SSH-Erisim match source-address Sistem
[email protected]# set security policies from-zone TRUST to-zone SFTP policy SSH-Erisim match destination-address any
[email protected]# set security policies from-zone TRUST to-zone SFTP policy SSH-Erisim match application junos-ssh
[email protected]# set security policies from-zone TRUST to-zone SFTP policy SSH-Erisim then permit
[email protected]# set security policies from-zone TRUST to-zone SFTP policy SSH-Erisim then log
session-close

 


Policy-4:

 

 

Bir blok kuralı tanımlayacağımız için log türü olarak session-init yazacağız. Kuralımızın adı LOG olsun

 

[email protected]# set security policies from-zone TRUST to-zone SFTP policy LOG-Kurali match source-address any
[email protected]# set security policies from-zone TRUST to-zone SFTP policy LOG-Kurali match destination-address any
[email protected]# set security policies from-zone TRUST to-zone SFTP policy LOG-Kurali match application any
[email protected]# set security policies from-zone TRUST to-zone SFTP policy LOG-Kurali then deny
[email protected]# set security policies from-zone TRUST to-zone SFTP policy LOG-Kurali then log
session-init

 

 

Yazdığımız bu dört kuralı, “show” komutunu “| display set “ parametresiyle kullanarak görmek istediğimizde aşağıdaki gibi bir ekranla karşılaşırız.

 

 

{primary:node0}[edit]
[email protected]# show security policies from-zone TRUST to-zone SFTP | display set

[email protected]# set security policies from-zone TRUST to-zone SFTP policy Sensoy-Full-Erisim match source-address SensoySahin-192.168.1.11

[email protected]# set security policies from-zone TRUST to-zone SFTP policy Sensoy-Full-Erisim match destination-address SFTP-Server-192.168.5.1

[email protected]# set security policies from-zone TRUST to-zone SFTP policy Sensoy-Full-Erisim match application any

[email protected]# set security policies from-zone TRUST to-zone SFTP policy Sensoy-Full-Erisim then permit

[email protected]# set security policies from-zone TRUST to-zone SFTP policy Sensoy-Full-Erisim then log session-close

[email protected]# set security policies from-zone TRUST to-zone SFTP policy RDP-Erisim match source-address Guvenlik

[email protected]# set security policies from-zone TRUST to-zone SFTP policy RDP-Erisim match source-address Sistem

[email protected]# set security policies from-zone TRUST to-zone SFTP policy RDP-Erisim match destination-address any

[email protected]# set security policies from-zone TRUST to-zone SFTP policy RDP-Erisim match application TCP-3389

[email protected]# set security policies from-zone TRUST to-zone SFTP policy RDP-Erisim then permit

[email protected]# set security policies from-zone TRUST to-zone SFTP policy RDP-Erisim then log session-close

[email protected]# set security policies from-zone TRUST to-zone SFTP policy SSH-Erisim match source-address Sistem

[email protected]# set security policies from-zone TRUST to-zone SFTP policy SSH-Erisim match destination-address any

[email protected]# set security policies from-zone TRUST to-zone SFTP policy SSH-Erisim match application junos-ssh

[email protected]# set security policies from-zone TRUST to-zone SFTP policy SSH-Erisim then permit

[email protected]# set security policies from-zone TRUST to-zone SFTP policy SSH-Erisim then log session-close

[email protected]# set security policies from-zone TRUST to-zone SFTP policy LOG-Kurali match source-address any

[email protected]# set security policies from-zone TRUST to-zone SFTP policy LOG-Kurali match destination-address any

[email protected]# set security policies from-zone TRUST to-zone SFTP policy LOG-Kurali match application any

[email protected]# set security policies from-zone TRUST to-zone SFTP policy LOG-Kurali then deny

[email protected]# set security policies from-zone TRUST to-zone SFTP policy LOG-Kurali then log session-init

 

Bir policy’yi silmek için delete komutu kullanılır. Örneğin Sensoy-Full-Erisim isimli policy’yi silmek istediğimizde aşağıdaki satırları yazmalıyız:


{primary:node0}[edit]
[email protected]# delete security policies from-zone TRUST to-zone SFTP policy Sensoy-Full-
Erisim

 

Bir policy’yi silmek yerine geçersiz de kılabilirsiniz. Bunun için deactivate komutu kullanılır. Örneğin RDP-Erisim isimli policy’yi geçersiz olarak tanımlayalım.

{primary:node0}[edit]
[email protected]# deactivate security policies from-zone TRUST to-zone SFTP policy RDP-
Erisim



Aynı policy’yi daha sonra tekrar etkinleştirmek için activate komutu kullanılır.


{primary:node0}[edit]
[email protected]# activate security policies from-zone TRUST to-zone SFTP policy RDP-
Erisim



Bir policy’nin sırasını değiştirmek için insert komutu kullanılır. insert komutu after ya da before parametresi ile birlikte kullanılır. Örnek üzerinde görelim:

SSH-Erisim isimli policy’nin RDP-Erisim isimli policy’den önce sıralanması için aşağıdaki komut çalıştırılır:

{primary:node0}[edit]
[email protected]# insert security policies from-zone TRUST to-zone SFTP policy SSH-Erisim before policy RDP-Erisim


SSH-Erisim isimli policy’nin Log-Kurali isimli policy’den sonra sıralanması için aşağıdaki komut çalıştırılır:


{primary:node0}[edit]

[email protected]# insert security policies from-zone TRUST to-zone SFTP policy SSH-Erisim after policy Log-Kurali

 


Zone üyesi herhangi bir address’in, aynı zone üyesi başka bir address ile iletişiminde herhangi bir izin kuralına ihtiyaç bulunmamaktadır. Ancak şöyle özel bir durum vardır. Eğer bir zone’a iki farklı logical-interface bağlandıysa, bu iki logical-interface’in baktığı ağ bölümlerinin diğeriyle aynı zone’daymış gibi çalışması için bir policy yazılması gerekmektedir. İnterface ve zone konfigürasyonumuzu hatırlayalım:

 

image003

 

 

 

192.168.1.0/24 ve 192.168.6.0/24 VLAN’ları, reth8.1 ve reth8.6 logical interface’leriyle TRUST isimli zone’a bağlanmış durumdadırlar.

192.168.1.11 IP’li ve SensoySahin-192.168.1.11 isimli bilgisayar ile
192.168.6.12 IP’li ve YasarCugalir-192.168.6.12 isimli bilgisayar aynı zone’a üye olmalarına rağmen birbirlerine erişim gerçekleştiremezler.


Çözüm olarak, TRUST zone’undan TRUST zone’una, yukarıda tanımladığımız VLAN-1 ve VLAN-6 isimli address’ler kullanılarak aşağıdaki gibi bir policy yazılır.


{primary:node0}[edit]
[email protected]# set security policies from-zone TRUST to-zone TRUST policy VLAN-Erisim match source-address VLAN-1

[email protected]# set security policies from-zone TRUST to-zone TRUST policy VLAN-Erisim match source-address VLAN-6

[email protected]# set security policies from-zone TRUST to-zone TRUST policy VLAN-Erisim match destination-address VLAN-1

[email protected]# set security policies from-zone TRUST to-zone TRUST policy VLAN-Erisim match destination-address VLAN-6

[email protected]# set security policies from-zone TRUST to-zone TRUST policy VLAN-Erisim match application any
[email protected]# set security policies from-zone TRUST to-zone TRUST policy VLAN-Erisim then permit

[email protected]# set security policies from-zone TRUST to-zone TRUST policy VLAN-Erisim then log session-close

 

Son olarak, address objelerinin tanımlanmasıyla ilgili bir konuyu inceleyeceğiz. Şöyle ki:
Oluşturduğumuz tüm address objelerinde sürekli IP’ler üzerinden tanımlama yaptık. Oysa SRX firewall’da bir DNS sunucusu tanımlanırsa, objeler için IP yerine örneğin bir URL ismi de kullanılabilir. Bir örnek yapalım.


{primary:node0}[edit]
[email protected]# set security zones security-zone UNTRUST address-book address
Mostar-77.79.108.82 77.79.108.82

 

Bu konfigürasyonla, Mostar-77.79.108.82 isimli bir address oluşturduk. Firewall, Mostar-77.79.108.82 isimli objenin adresi olarak 77.79.108.82 IP’sini tanımaktadır. Bunun yerine aşağıdaki gibi bir tanımlama da yapılabilir.

{primary:node0}[edit]
[email protected]# set security zones security-zone UNTRUST address-book address
Mostar-URL
www.mostar.com.tr

 

Bu tanımın çalışması, yani Firewall tarafından da Mostar-URL isimli objenin tanımlanabilir olması için, Firewall’da, DNS sorgularının gönderilebileceği bir DNS Server’ın tanımlı olması gerekir. Şimdi de Firewall’umuzun CLI’ında bir name server tanımlayalım. DNS Server IP’si 192.168.1.2 olsun. Bunun için aşağıdaki komut çalıştırılır:

 

{primary:node0}[edit]
[email protected]# set system name-server 192.168.1.2

 

Hoşçakalın.

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

Başa dön tuşu

Reklam Engelleyici Algılandı

ÇözümPark Bilişim Portalı gönüllü bir organizasyon olup tek gelir kaynağı reklamlardır. Bu nedenle siteyi gezerken lütfen reklam engelleme eklentinizi kapatın veya Çözümpark web sitesi için izin tanımı yapın. Anlayışınız için teşekkürler.