Application Based Bandwidth Management on Juniper SRX Firewall
SRX cihazlar üzerinde Appsecure lisansı aktif ise uygulama bazlı trafik yönetimi yapılabilmektedir. Appsecure modülü aşağıdaki alt modülleri içermektedir.
AppTrack : Application tracking ve analiz yapar. Bu sayede application visibility sağlamış olur. Application ın source-destion adresini, user id sini, zone bilgisini track ederek bandwidth management veya reporting işlemlerini gerçekleştirir.
AppFW : Uygulama bazlı policy işlemlerini gerçekleştirir. Kriterde belirtilen uygulamayı bloklar veya izin verir.
AppQos : Uygulama bazlı trafik önceliklendirme işlemini gerçekleştirir. Örneğin şirket için çok önemli bir video uygulaması var diyelim. Mevcut trafik içerisinde Apptrack in tespit ettiği bu video uygulaması için traffic prioritization sağlar.
IPS : IPS Feature ı AppSecure ile entegre çalışacak network ve uygulama seviyesindeki atak ve vulnurability leri önler.
FTP den yapılan upload ve download trafiğini limitleme işlemini COS (Class of Services) ile yapabiliriz.
Cihaz üzerinde herhangi bir konfigürasyon yapmadan önce 2 mib/sn ile dosya upload edebiliyorum.
Sonrasında upload hızım düşüyor olacak.
Konfigürasyon Adımları:
Önce rate-limiters tanımlıyoruz.
set class-of-service application-traffic-control rate-limiters RATELIMITFTP bandwidth-limit 1000
set class-of-service application-traffic-control rate-limiters RATELIMITFTP burst-size-limit 13000
Sonra FTP uygulaması ile eşleşecek rule-set imizi tanımlıyoruz.
set class-of-service application-traffic-control rule-sets APPQOSFTP rule 0 match application junos:FTP
Limiti hem sunucudan istemciye hem de istemciden sunucuya doğru yapıyor olacağız.
set class-of-service application-traffic-control rule-sets APPQOSFTP rule 0 then rate-limit client-to-server RATELIMITFTP
set class-of-service application-traffic-control rule-sets APPQOSFTP rule 0 then rate-limit server-to-client RATELIMITFTP
Logging i de aktif ediyoruz.
set class-of-service application-traffic-control rule-sets APPQOSFTP rule 0 then log
Son adım olarak FTPLIMIT isimli bir Security Policy oluşturuyorum. Uygulama olarak junos-ftp yi seçiyorum. ve yukarıda oluşturduğum apptraffic control rule setini import ediyorum.
set security policies from-zone Internal to-zone Internet policy FTPLIMIT match source-address any destination-address any application junos-ftp
set security policies from-zone Internal to-zone Internet policy FTPLIMIT then permit application-services application-traffic-control rule-set APPQOSFTP
İşlemlerden sonra SRX üzerindeki konfigürasyon çıktım aşağıdaki gibi
root@SRX240> show configuration | display set | match FTP
set class-of-service application-traffic-control rate-limiters RATELIMITFTP bandwidth-limit 1000
set class-of-service application-traffic-control rate-limiters RATELIMITFTP burst-size-limit 13000
set class-of-service application-traffic-control rule-sets APPQOSFTP rule 0 match application junos:FTP
set class-of-service application-traffic-control rule-sets APPQOSFTP rule 0 then rate-limit client-to-server RATELIMITFTP
set class-of-service application-traffic-control rule-sets APPQOSFTP rule 0 then rate-limit server-to-client RATELIMITFTP
set class-of-service application-traffic-control rule-sets APPQOSFTP rule 0 then log
set security policies from-zone Internal to-zone Internet policy FTPLIMIT match source-address any
set security policies from-zone Internal to-zone Internet policy FTPLIMIT match destination-address any
set security policies from-zone Internal to-zone Internet policy FTPLIMIT match application junos-ftp
set security policies from-zone Internal to-zone Internet policy FTPLIMIT then permit application-services application-traffic-control rule-set APPQOSFTP
Şimdi dosya upload veya download etmek istediğimde hızımın düştüğü görülüyor.
Oysa aynı dosyayı http üzerinden yüksek hızla indirebiliyorum.
Monitoring Adımları:
emre@SRX240> show security flow session extensive destination-port 21
Session ID: 24733, Status: Normal
Flag: 0x42
Policy name: FTPLIMIT/10
Source NAT pool: Null, Application: junos-ftp/1
Dynamic application: junos:FTP,
Application traffic control rule-set: APPQOSFTP, Rule: 0
Rate limiters client to server: RATELIMITFTP, bandwidth-limit 1000, burst-size-limit 10000
Rate limiters server to client: RATELIMITFTP, bandwidth-limit 1000, burst-size-limit 10000
Maximum timeout: 1800, Current timeout: 1678
Session State: Valid
Start time: 1309397, Duration: 128
Client: FTP ALG, Group: 3, Resource: 0
In: 10.10.21.10/62521 –> 159.253.43.90/21;tcp,
Interface: vlan.0,
Session token: 0x6, Flag: 0x2621
Route: 0x130010, Gateway: 10.10.21.10, Tunnel: 0
Port sequence: 0, FIN sequence: 0,
FIN state: 0,
Pkts: 16, Bytes: 797
Out: 159.253.43.90/21 –> 10.10.21.10/62521;tcp,
Interface: ge-0/0/0.0,
Session token: 0x7, Flag: 0x2620
Route: 0xa0010, Gateway: 10.10.20.2, Tunnel: 0
Port sequence: 0, FIN sequence: 0,
FIN state: 0,
Pkts: 18, Bytes: 1557
emre@SRX240> show class-of-service application-traffic-control counter
pic: 0/0
Counter type Value
Sessions processed 33
Sessions marked 0
Sessions honored 0
Sessions rate limited 33
Client-to-server flows rate limited 33
Server-to-client flows rate limited 33