Merhabalar Arkadaşlar,
bu makalemde fortinet’in industrial db ve scada’lara özel IPS modülünün nasıl aktif edildiğini ve neler yapılması gerektiğini anlatacağım
belli başlı bazı ürünler var scada ips imzalarını çalıştıran ve fortinet bu cihazlardan bir tanesi, fakat fortigate firewall default lisanlarında bu özellik gelmez bu imzalar için özel database’i vardır ve bunun için birde lisansı (industrial db) lisans olarak geçer bu lisansın amacı indusrial IPS imzalarının güncelleştirmesi ve indirilmesi fonksiyonlarının aktif edilmesidir
şimdi öncelikle lisans tarafını kontrol edelim,
yukarıdaki belirttiğim yerde ( Industrial DB ) lisansınız olması gerekiyor bu lisans olmadan SCADA ips imzalarının cihazın üzerindeki IPS database’ine düşmez, ( mutlaka update yapmayı unutmayın )
bir sonraki aşama ise CLI üzerinden bütün ( Industrial DB ) imzaların Profile’ında görünmesi ve Features’ların aktif olması için aşağıdaki adımları izleyin
bir sonraki adım ise IPS Profile’larının oluşturulması
yukarıdaki adımda / Blocm malicious olan URLs aktif edelim ve / Botnet C&C altındaki Scan Outgoing Connections to Botnet Sites Block olarak işaretleyelim
daha sonra Create New diyip imzaları ekleyelim,
Yukarıdaki ekranda / Type- Signature işaretleyin / Action- Reset olarak işaretleyin / Packet loggin-Status Enable olarak işaretleyin
Search kısmına scada protokolü olan / Modbus-ICCP-MMS / aratıp hepsini işaretleyip
son olarak aşağıdaki gibi olacak
daha sonra firewall policy’lere bu oluşturduğunuz ips profile’ını scada sunucunuza erişen scada terminallerine match edebilirsiniz
bu protocol sadece scada sistemlerinde çalışmaktadır.
Son olarakta bu logları inceleyebilirsiniz
Aşağıdaki sekmeden
LOG & Report
Intrusion Prevention
CLI komutu;
config ips global set exclude-signatures none end
CLI üzerinden özel olarak modbus imzalarının loglarının debug çıktılarını alarak özelleştirip imzaları ekleyebilirsiniz komutları aşağıda
diagnose ips debug enable all diagnose debug enable
APPLİCATİON KONTROL;
Evet son adım olan Application filter işlemlerine geçeceğiz,
Bu işlem scada terminallerinden sahaya gönderilen vana açma, kapatma, ve reset komutları, yada sistemin boru hatlarındaki otomasyonlarından farklı hatlara yönlendirme gibi kritik seviyedeki komutların kontrolleri ve belirli ip adreslerine izin verilmesi gibi konutları anlatacağım
application filter tarafında yukarıda bahsettiğim terminallerden sahaya gönderilen komutları kontrol edebilirsiniz,
bunun için application filter’dan profile yazmalısınız
Bu komutları işleyen modül industrial db üzerinde gelen application filter’dir,
bu işlemler için
SECURİTY PROFİLE – APPLİCATİON CONTROL – CREATE NEW
AŞAĞIDAKİ PROSEDÜRDE
APPLİCATİON AND FİLTER OVERRİDES – KISMINDA
CREATE NEW
Type- APPLICATION
arama kısmına – INDUSTRİAL yazıp industrial kategorisindeki bütün imzaları eklemelisiniz
Son olarak sahaya gönderilen komutları application loglarından görebilirsiniz
Scada IPS imzaları;
MMS_GetNameList.Request
MMS_GetNamedVariableListAttributes.Request
MMS_GetVariableAccessAttributes.Request
MMS_Identify.Request
MMS_Initiate.Request
MMS_Read.Request
MMS_Reset.Request
ICCP_Transfer.Reporting
ICCP_Create.Dataset
ICCP_Abort
ICCP_Start.Transfer.DSTransferSet
ICCP_Get.Dataset.Element.Values
ICCP_Get.Next.DSTransfer.Set.Value
ICCP_Delete.Dataset
ICCP_Start.Transfer.IMTransferSet
Örnek Scada Application imzaları;
F-SBID( --name "ModBusRTU.Close.Custom";--protocol tcp;--flow from_client; --dst_port 502; --pattern "|06 0b ec 54 60|"; --context packet; --distance 3,context; --within 5,context; --weight 20; --app_cat 26; ) F-SBID(--name "ModBusRTU.Shutdown.Custom";--protocol tcp;--flow from_client; --dst_port 502; --pattern "|05 00 27 ff 00|"; --context packet; --distance 3,context; --within 5,context; --weight 20;--app_cat 26; ) F-SBID(--name "ModBusRTU.Shutdown.Custom2";--protocol tcp;--flow from_client; --dst_port 8095; --pattern "|05 00 69 00 00|"; --context packet; --distance 3,context; --within 5,context; --weight 20;--app_cat 26; ) F-SBID(--name "ModBusRTU.Shutdown_1.Custom";--protocol tcp;--flow from_client; --dst_port 502; --pattern "|05 00 27 ff 00|"; --context packet; --distance 3,context; --within 5,context; --tag set,MODBUS_SHUTDOWN_ST1.Custom; --weight 20;--app_cat 26; )