FortiGate Firewall Sıkılaştırma: Güvenlik Kontrol Listesi
FortiGate Firewall sıkılaştırma: Fortinet ve NSA'ya göre kontrol listesi; password policy, boşta kalma, SSH şifrelemesi, USB kurulum, maintainer hesabı.
- FortiGate Sıkılaştırma Nasıl Olmalı?
- Ne Zaman ve Kaç Kez?
- FortiGate Password Policy: Açmak Yetmez
- Mevcut Parolalar Bir Sonraki Girişte Değişmek Zorunda
- Eski Parolayı Bilmeden Sıfırlamak
- FortiGate Yönetim Oturumu: Boşta Kalma, Uyarı Metni ve Sertifika
- Girişten Önce Uyarı Metni
- FortiGate SSH Şifrelemesi: Algoritma Pazarlığı
- Fabrika Listesi ve Daraltılmış Liste: Ölçüm
- MAC Denemesindeki Tuzak
- strong-crypto ve Lisans
- FortiGate Güvenilen Adres IPv6’yı da Kapsar mı?
- FortiGate USB Otomatik Kurulum: Fiziksel Erişimin Kestirmesi
- FortiGate Maintainer Hesabı: Parola Kurtarma ile Fiziksel Risk Arasında
- Parolaların Cihazdaki Şifrelemesi: private-data-encryption
- Doğrulama: FortiGate’in Fabrika Yolları Kapandı mı?
- Sonuç: FortiGate’te Sıkılaştırma Listeyle Yapılır
- FortiGate Firewall Sıkılaştırma Hakkında Sık Sorulan Sorular
FortiGate Firewall sıkılaştırma, cihazın fabrika ayarında açık bıraktığı ve kimse fark etmeden duran yolları tek tek bulup kapatmaktır. Fortinet’in kendi en iyi uygulama kılavuzu ve NSA’nın ağ cihazı rehberi bu yolları sayıyor.
İkisinin kesiştiği yerde yerel parolalar en az 15 karakterdir, boşta kalan yönetim oturumu 5 dakikada kapanır, eski şifreleme algoritmaları kabul edilmez. Fiziksel olarak korunamayan cihazda USB’den kurulum da kapatılır.
Bu yazı FortiGate Firewall yapılandırma rehberimizin 18. adımıdır. Yönetim erişimini ve admin hesabını önceki adımlarda kendi yazılarında sıkılaştırdık; burada önce hepsini tek bir listede topluyorum, sonra başka hiçbir yazının ölçmediği ayarları cihazda ölçüyorum.
Lab’da üç şey beklenenden farklı çıktı. Password policy açılınca gelen değerler zayıftı: en az 8 karakter, karakter şartı yok, eski parolayı yeniden kullanmak serbest. Policy’ye uymayan eski parolalar bir sonraki girişte değiştirilmeden içeri girmedi; lab’ın kendi üç yerel hesabının parolası da kurala uymuyordu. Policy açıkken başka bir yöneticinin parolasını, eski parolasını yazmadan değiştirmek de mümkün olmadı.
Örnekteki sınır kapısında ana bariyer iyi korunuyor olabilir, ama çitte, kapı yapıldığı günden beri açık duran küçük bir arka kapı da bulunabilir. O kapı kimseye kendini göstermez; ancak elinde listeyle çiti dolaşan biri bulur ve kapatır. FortiGate’te ana bariyer kural seti ve yönetim erişimi, arka kapılar da fabrika ayarında açık gelen yollardır.
Bu yazı, Kurumsal Network Kurulumu hizmetimizde devraldığımız her FortiGate’te ilk hafta geçtiğimiz listeyi anlatır.
FortiGate Sıkılaştırma Nasıl Olmalı?
Sıkılaştırma bir listeyle yapılır ve liste cihazın yaşamı boyunca tekrar geçilir: cihaz devralındığında, her firmware sürümü değiştiğinde ve kurumun düzenli denetiminde. Her maddenin arkasında bir kaynak durur.
Bu listeyi üç kaynak birlikte tarif ediyor:
- Fortinet FortiOS 7.0 Best Practices, Administrative settings: yöneticilerin boşta kalma süresi düşük, tercihen on dakikanın altında tutulur. Zayıf şifreleme protokolleri kapatılır. Cihazın fiziksel güvenliği garanti edilemiyorsa bakım hesabı (maintainer) kapatılır. HTTPS yönetiminin sertifikası cihazın adını ya da adresini taşıyan güvenilir bir sertifikayla değiştirilir. Aynı kılavuzun Hardening sayfası fiziksel olarak korunamayan cihazda USB’den yapılandırma ve firmware yüklemenin kapatılmasını, güçlü şifreleme için
strong-crypto enable,ssl-static-key-ciphers disablevedh-params 8192ayarlarını, parolaların cihaza özel anahtarla saklanması içinprivate-data-encryption’ı istiyor. User authentication for management network access sayfası yerel hesaplarda password policy’yi şart koşuyor. - NSA Network Infrastructure Security Guidance (Mart 2022, sürüm 1.0): parolalar dört karakter sınıfını da kullanır, en az on beş karakter uzunluğunda olur ve son parolayla aynı ya da ona benzer olmaz (bölüm 5.6). Dönemsel parola değişimini gerekli görmez, parola ele geçirildiğinde hemen değiştirilir (bölüm 5.8). Yönetim oturumunun zaman aşımı beş dakika ya da daha kısa olur (bölüm 7.5). Cihaz, girişten önce yetkisiz kullanımı yasaklayan bir uyarı metni gösterir (bölüm 10.1).
- RFC 4253 (SSH taşıma katmanı, bölüm 7.1): SSH’ta seçilen şifre, istemcinin listesinde olup sunucunun listesinde de bulunan ilk algoritmadır. Aşağıdaki şifreleme bölümünün dayanağı bu cümle.
Listenin maddeleri, kaynakları ve lab cihazının bugünkü değerleri:
| # | Kontrol | Kaynak | Lab cihazında | Ayrıntı |
|---|---|---|---|---|
| 1 | Yönetim erişimi yalnız yönetim arayüzünde | Fortinet BP | port1’de SSH, SNMP, HTTP; ötekilerde yalnız ping | Yönetim erişimi |
| 2 | Her hesapta güvenilen adres | Fortinet BP | Bütün hesaplarda 192.168.10.0/24 ya da tek adres | Trusted host, IPv6 için bu yazı |
| 3 | Hatalı girişte kilitlenme | NSA 4.6 | 3 deneme, 60 saniye (fabrika) | Kilitlenme |
| 4 | Telnet ve HTTP ile yönetim kapalı | NSA 7.1 | admin-telnet disable (bu yazıda); HTTP açık, çünkü deneme lisansı HTTPS vermiyor | Yönetim portları |
| 5 | Kişiye ait hesap, iki aşamalı doğrulama | Fortinet BP, NSA 5.4 | AD grubu ag-yoneticileri, acil durum hesabı xt2vbx9; öteki yerel hesaplar lab ölçümleri için | Admin hesabı |
| 6 | Password policy | NSA 5.6, Fortinet BP | 15 karakter, dört sınıf, yeniden kullanım kapalı | Bu yazı |
| 7 | Boşta kalan oturumun kapanması | NSA 7.5, Fortinet BP | 5 dakika | Bu yazı |
| 8 | Girişten önce uyarı metni | NSA 10.1 | Açık, Türkçe metin | Bu yazı |
| 9 | Yönetim sertifikası | Fortinet BP | self-sign (deneme lisansı HTTPS vermiyor) | Bu yazı |
| 10 | Güçlü şifreleme | Fortinet BP, NSA 7.2 | SSH listesi daraltılmış; strong-crypto açılamıyor (deneme lisansı) | Bu yazı |
| 11 | USB’den otomatik kurulum | Fortinet BP | Kapalı | Bu yazı |
| 12 | Maintainer hesabı | Fortinet BP | Açık (sanal makine, fiziksel erişim yok) | Bu yazı |
| 13 | Parolaların cihaza özel anahtarla saklanması | Fortinet BP | Seçenek deneme lisansında yok | Bu yazı |
| 14 | Saat eşitlemesi | NSA 6.4 | 192.168.1.15 ve dc01 | NTP ayarı |
| 15 | Logun cihaz dışına gönderilmesi | NSA 6.2 | Syslog 192.168.1.46 | Log ayarları |
| 16 | Cihaz dışında şifreli yedek | Fortinet BP | Yedek sunucusu her gece anahtarla çekiyor | Yedek alma |
| 17 | Güncel firmware | Fortinet BP | 7.0.10; lab’da güncellenmiyor | Rehberin 19. adımı |
İlk beş madde yönetim kapısının kendisi; onları kendi yazılarında ölçtük. 6-13 arasındaki maddeler, cihazın kimseye göstermeden açık tuttuğu yollar. Yazının kalanı bunlarla ilgili.
Ne Zaman ve Kaç Kez?
Fortinet de NSA da listeye bir sıklık vermiyor; Fortinet cihazın sızma testiyle sınanmasını istiyor. Pratik karşılığı üç an:
- Cihaz devralındığında: önceki ekipten kalan ayarlar hiçbir uyarı vermez.
- Firmware sürümü değiştiğinde: ayarların kendisi sürümle değişir. Fortinet SSH’taki
ssh-hmac-md5vessh-cbc-cipherseçeneklerini 7.0.2’de kaldırdı, maintainer hesabını 7.2.4’te tamamen kaldırdı. - Kurumun düzenli denetiminde: yılda en az bir kez.
FortiGate’in arayüzünde bu işi kendisi yapan bir ekran da var: Security Fabric → Security Rating. Lab cihazımda açmak istediğimde şunu yazdı: Security Rating is unavailable when VM license is in evaluation mode or when HTTPS is unavailable., yani sanal makine lisansı değerlendirme kipindeyken ya da HTTPS kullanılamıyorken güvenlik puanlaması çalışmaz. Lisanslı bir cihazda listenin bir kısmını bu ekran kendisi denetler, geri kalanı elle geçilir.
FortiGate Password Policy: Açmak Yetmez
Menü yolu: System → Settings → Password Policy. Password scope lab cihazımda fabrika ayarında Off idi; Admin seçilince alanlar açıldı. Açılan alanların fabrika değerleri:
- Minimum length:
8. NSA’nın sınırı 15. - Character requirements: kapalı. Açınca dört alanın dördü de
0geldi; yani anahtarı açmak tek başına hiçbir şart koymuyor. - Allow password reuse: açık. NSA son parolanın tekrar kullanılmamasını istiyor.
- Password expiration: kapalı. NSA dönemsel değişimi gerekli görmediği için kapalı kalır.
Policy’yi NSA’nın sınırıyla doldurdum:
Minimum number of new characters alanına 4 yazdım: yeni parola, eskisinde olmayan en az dört karakter taşımalı. NSA “son parolaya benzer olmasın” diyor ama bir sayı vermiyor. Kaydın CLI karşılığı:
config system password-policy
set status enable
set apply-to admin-password
set minimum-length 15
set min-lower-case-letter 1
set min-upper-case-letter 1
set min-non-alphanumeric 1
set min-number 1
set min-change-characters 4
set expire-status disable
set reuse-password disable
endSonra parola-deneme adında bir hesap açıp ona 7 karakterlik bir parola vermeyi denedim. FortiGate hesabı kaydetmedi ve sebebini yazdı:
gmfw01 (parola-deneme) # set password [7 karakter]
New password must conform to the password policy enforced on this device:
minimum-length=15 upper-case-letter=1 lower-case-letter=1 number=1 non-alphanumeric=1; the new password must have at least 4 unique character(s) which don't exist in the old password.; must not be same as last two passwords
node_check_object fail! for password *
value parse error before '*'
Command fail. Return code -49Mesajın son parçası bir sınırı da söylüyor: yeniden kullanım kapalıyken FortiGate yalnız son iki parolayı hatırlıyor.
Mevcut Parolalar Bir Sonraki Girişte Değişmek Zorunda
Policy yazıldığı anda var olan parolalara dokunmuyor; onları ilk girişte yakalıyor. Lab cihazındaki fabrika admin hesabının parolası 8 karakterdi. Bu hesapla arayüze girdim:
SSH’ta da aynısı oldu; giriş, parola değişikliği sorusunda durdu:
Using username "admin".
You are forced to change your password. Old password:Lab’ın öteki iki yerel hesabının parolası da kurala uymuyordu: sistemkusu ve ölçümleri yaptığım ilker.pehlivan parolalarında işaret karakteri yoktu, yani bir sonraki girişte aynı ekrana düşeceklerdi. Üç hesabın parolasını da kurala uygun yeni parolalarla değiştirdim. Acil durum hesabı xt2vbx9’un parolası 23 karakterdi ve dört sınıfı da taşıyordu; değişmesi gerekmedi.
Bu sıralamanın bir tuzağı var. Parolası kurala uymayan acil durum hesabı, merkezi girişin çöktüğü gün parola değiştirme ekranına düşer. Policy açılmadan önce her yerel hesabın parolası, acil durum hesabınınki dahil, kurala göre kontrol edilir.
Eski Parolayı Bilmeden Sıfırlamak
Üç hesabın parolasını super_admin yetkili hesabımla değiştirmek istediğimde FortiGate eski parolayı sordu:
gmfw01 (admin) # set password [YENI]
Please input the old password!
Command fail. Return code -204Komut ancak set password [YENI] [ESKI] biçiminde çalıştı. Sebebi ayırmak için geçici bir hesapla denedim: min-change-characters 0 iken aynı değişiklik eski parola sorulmadan geçti. FortiGate yeni parolanın kaç yeni karakter taşıdığını sayabilmek için eskisini istiyor.
Sonucu bir yöneticinin parolasını unuttuğu gün görürsünüz: super_admin bile o hesabın parolasını sıfırlayamaz. Yol, ayarı geçici olarak 0 yapmak, parolayı değiştirmek ve ayarı geri almaktır; üç adım da olay loguna düşer.
FortiGate Yönetim Oturumu: Boşta Kalma, Uyarı Metni ve Sertifika
Aynı ekranın Administration Settings bölümünde üç madde daha var:
- Idle timeout: boşta kalan yönetim oturumunun kaç dakika sonra kapanacağı (1-480). Lab cihazında 5. Boşta bıraktığım bir SSH oturumu 301 saniye sonra
Timeoutyazıp kapandı. Kapatılan tarayıcının oturumu bitirmediğini yönetim erişimi yazımızda ölçtük; bu süre o oturumun da ömrüdür. - HTTPS server certificate: fabrika değeri
self-signve ekran bunu kendisi uyarıyor: You are using a default built-in certificate, which will not be able to verify your server’s domain name (your users will see a warning)., yani yerleşik varsayılan sertifika sunucunun alan adını doğrulayamaz ve kullanıcılar uyarı görür. Her girişte çıkan uyarı, gerçek bir tehlikenin uyarısını ayırt edilmez hâle getirir. Fortinet’in önerisi cihazın adını taşıyan güvenilir bir sertifikadır, kurumun iç sertifika otoritesinden alınabilir. Lab cihazım HTTPS yönetimi vermediği için bu adımı ölçemedim. Ekrandaki metin ölçümün kendisi. - Telnet port: Telnet’i genel ayarda kapatınca (
set admin-telnet disable) bu alan ekrandan kalktı. Lab cihazında yalnız arayüzlerde kapalıydı; genel ayarı bu yazıda kapattım.
Girişten Önce Uyarı Metni
NSA, cihazın girişten önce yetkisiz kullanımı yasaklayan bir uyarı göstermesini istiyor. FortiGate’te bu metin fabrika ayarında kapalı (pre-login-banner disable), açılınca gösterilecek fabrika metni ise ABD hukukuna göre yazılmış İngilizce bir uyarı (PRE WARNING: This is a private computer system...). NSA’nın kendisi de metnin kurumun hukukuna göre yazılmasını istiyor. Lab’da kısa ve olgusal bir Türkçe metin yazdım:
config system global
set pre-login-banner enable
end
config system replacemsg admin "pre_admin-disclaimer-text"
set buffer "UYARI: Bu cihaz Sistem Kusu yonetim agina aittir.
Yalniz yetkili yoneticiler girebilir.
Tum yonetim islemleri kullanici adi ve kaynak adresiyle kayda gecer."
endArayüz metni girişten önce Accept ve Decline düğmeleriyle gösterdi:
SSH’ta da metin, kimlik doğrulamadan önce geldi. Bir yan etkisi oldu: lab’da arayüze giren ölçüm betiğim bu pencerede takıldı ve betiğe “uyarı varsa kabul et” adımını eklemem gerekti. Arayüzü betikle kullanan bir araç varsa uyarıyı açmadan önce o araç da denenir.
FortiGate SSH Şifrelemesi: Algoritma Pazarlığı
İki kişi gizli konuşmak için bir şifre seçecek. Biri bildiği şifreleri en sevdiğinden başlayarak sayar; öteki o sırada ilerler ve kendi de bildiği ilk şifrede durur. Ötekinin bildikleri arasında çoktan çözülmüş eski bir şifre de varsa, yalnız o eski şifreyi bilen biri de konuşmaya katılabilir ve o konuşma kolayca dinlenir.
Bu sahneyi sınır kapısının dört parçası taşıyor:
- SSH istemcisi kapıya gelen sürücüdür; bildiği şifreleri kendi tercih sırasıyla sayar.
- FortiGate’in algoritma listesi görevlinin masasındaki şifre kitaplarıdır.
- Eski algoritmalar (
3des-cbc,hmac-md5, SHA-1’li anahtar değişimi) masada duran, çoktan çözülmüş eski şifre kitaplarıdır. - Liste daraltmak eski kitapları masadan kaldırmaktır;
strong-cryptobunu tek kuralla yapan ayardır.
Örnekteki sınır kapısında hangi kitabın kullanılacağına sürücünün sırası karar verir, görevlinin masası ise yalnız izin verir. Masada eski bir kitap durdukça, yalnız onu bilen bir sürücü de kapıdan geçer. FortiGate’te mekanizma şöyle işliyor:
- İstemci listesini gönderir: güncel bir istemcinin listesi güçlü algoritmalarla başlar.
- FortiGate kendi listesini gönderir.
- Seçim istemcinin sırasıyla yapılır: RFC 4253’e göre istemcinin listesinde olup FortiGate’in listesinde de bulunan ilk algoritma kullanılır.
- Ortak algoritma yoksa bağlantı kurulmaz.
Bu sıranın kazancı: liste daraltıldığında güncel istemciler hiçbir şey fark etmez, yalnız eski ya da zorlanmış bağlantılar düşer. Bedeli de aynı yerden: listeden çıkan bir algoritmayı kullanan eski bir yönetim aracı ya da betik, değişiklikten sonra bağlanamaz.
Fabrika Listesi ve Daraltılmış Liste: Ölçüm
Algoritma listesini geçici olarak fabrika ayarına aldım ve ntp01’den bağlanırken OpenSSH istemcisinin ayrıntılı kipte (ssh -vv) yazdığı, FortiGate’in sunduğu listeye baktım:
debug2: KEX algorithms: diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: MACs ctos: hmac-md5,hmac-md5-etm@openssh.com,hmac-md5-96,hmac-md5-96-etm@openssh.com,hmac-sha1,hmac-sha1-etm@openssh.com,hmac-sha2-256,hmac-sha2-256-etm@openssh.com,hmac-sha2-512,hmac-sha2-512-etm@openssh.com,hmac-ripemd160,...Liste 3des-cbc, arcfour ve hmac-md5 gibi çoktan bırakılmış algoritmaları da içeriyordu. Gerçekten kabul edildiklerini görmek için istemciyi her seferinde tek bir eski algoritmaya zorladım; olmayan bir kullanıcıyla bağlandığım için Permission denied, şifrelemenin anlaşıldığını ve bağlantının parola aşamasına geldiğini söylüyor:
-o Ciphers=3des-cbc: deneme@192.168.10.1: Permission denied (publickey,password).
-o Ciphers=aes128-ctr -o MACs=hmac-md5: deneme@192.168.10.1: Permission denied (publickey,password).
-o KexAlgorithms=diffie-hellman-group14-sha1: deneme@192.168.10.1: Permission denied (publickey,password).Fabrika ayarında üçü de kabul edildi. Listeyi yalnız güçlü algoritmalara indirdim:
config system global
set ssh-enc-algo chacha20-poly1305@openssh.com aes128-ctr aes192-ctr aes256-ctr aes128-gcm@openssh.com aes256-gcm@openssh.com
set ssh-kex-algo diffie-hellman-group-exchange-sha256 curve25519-sha256@libssh.org ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521
set ssh-mac-algo hmac-sha2-256 hmac-sha2-256-etm@openssh.com hmac-sha2-512 hmac-sha2-512-etm@openssh.com
endAynı denemeleri tekrarladım; bu kez üçü de daha anlaşma aşamasında reddedildi:
-o Ciphers=3des-cbc: Unable to negotiate with 192.168.10.1 port 22: no matching cipher found. Their offer: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
-o Ciphers=aes128-ctr -o MACs=hmac-md5: Unable to negotiate with 192.168.10.1 port 22: no matching MAC found. Their offer: hmac-sha2-256,hmac-sha2-256-etm@openssh.com,hmac-sha2-512,hmac-sha2-512-etm@openssh.com
-o KexAlgorithms=diffie-hellman-group14-sha1: Unable to negotiate with 192.168.10.1 port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521Değişiklikten sonra kendi SSH bağlantımı yeni bir oturumla denedim ve çalıştı. Fortinet’in güçlü şifreleme maddesindeki öteki iki ayarı da uyguladım (ssl-static-key-ciphers disable, dh-params 8192); SSH girişi yine çalıştı, çünkü anahtar değişimi curve25519 ile yapılıyor.
MAC Denemesindeki Tuzak
MAC denemesini ilk yaptığımda yalnız -o MACs=hmac-md5 verdim ve daraltılmış listeye rağmen bağlantı parola aşamasına geldi. Ayrıntılı çıktı sebebini gösterdi:
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: noneİstemci şifre olarak chacha20-poly1305’i seçmişti. Bu şifre bütünlük denetimini kendisi taşıdığı için MAC hiç pazarlık edilmiyor ve zorlanan hmac-md5 hiç kullanılmıyor. MAC listesini sınarken şifreyi de bu özelliği taşımayan bir şifreye zorlamak gerekiyor (-o Ciphers=aes128-ctr); yukarıdaki ölçümler bu yüzden öyle.
strong-crypto ve Lisans
Fortinet’in Hardening sayfası listenin tek tek daraltılmasından önce strong-crypto enable’ı istiyor. Lab cihazımda ayar kapalıydı ve açılamadı:
gmfw01 (global) # set strong-crypto enable
command parse error before 'strong-crypto'
Command fail. Return code -61Sebebi lisans: Fortinet’in sanal makine kılavuzuna göre değerlendirme lisansı yalnız düşük şifrelemeyle çalışıyor (yönetim arayüzüne HTTPS ile girilemiyor). Lisanslı bir cihazda ilk kontrol bu yüzden tek satırdır: get system global | grep strong komutu enable göstermeli. Bir not daha: güncel OpenSSH istemcisi lab cihazına her bağlanışta kuantum sonrası anahtar değişimi kullanılmadığını uyardı (connection is not using a post-quantum key exchange algorithm). Bu, listeyle değil sürümle çözülen bir eksik.
FortiGate Güvenilen Adres IPv6’yı da Kapsar mı?
Yönetici hesaplarında IPv4 güvenilen adresin yanında bir de IPv6 alanı duruyor ve fabrika değeri ::/0, yani okuyana “her yer” gibi görünüyor. Bunu ölçmek için yönetim arayüzüne geçici bir IPv6 adresi verdim ve yalnız 192.168.10.225/32’den girebilen bir deneme hesabıyla ntp01’den bağlandım. IPv4’ten bağlantı beklendiği gibi kapandı (Connection closed). IPv6’dan ise bağlantı hiç kurulmadı; debug flow paketin yönetim girişi denetiminde düştüğünü gösterdi:
id=20085 trace_id=1 func=fw6_local_in_handler line=386 msg="iprope6_in_check() check failed,id=0 drop"Hesaba IPv6 güvenilen adres olarak yalnız ntp01’in adresini yazınca aynı bağlantı açıldı. Yani bu sürümde IPv4 güvenilen adresi tanımlı bir hesap, IPv6’dan ancak IPv6 adresi ayrıca yazılınca girebiliyor; ::/0 yolu açmıyor. Ölçümden sonra IPv6 adresini ve deneme hesabını kaldırdım. Yönetimde IPv6 kullanılacaksa her hesaba IPv6 güvenilen adres de yazılır ve aynı deneme kendi cihazınızda yapılır.
FortiGate USB Otomatik Kurulum: Fiziksel Erişimin Kestirmesi
USB girişi olan bir FortiGate, yeniden başlarken o girişteki diske bakabiliyor. Ayar System → Settings → Start Up Settings altında USB auto-install adıyla duruyor. Lab cihazımın fabrika hâli:
auto-install-config : enable
auto-install-image : enable
default-config-file : fgt_system.conf
default-image-file : image.outİki satır da açık: cihaz yeniden başlarken takılı USB diskte fgt_system.conf adlı bir yapılandırma ya da image.out adlı bir firmware bulursa onu yükler.
Fortinet’in teknik ipucu yazısı riski açıkça yazıyor: cihaza fiziksel erişimi olan bir saldırgan, USB portundan yeni bir yapılandırma ya da firmware yükleyip elektriği keserek cihazı yeniden başlatabilir. Hardening sayfası da cihaz fiziksel olarak korunamıyorsa ikisinin kapatılmasını istiyor.
Detect configuration ve Detect firmware anahtarlarının CLI karşılığı:
config system auto-install
set auto-install-config disable
set auto-install-image disable
endLab cihazımda ayar yeniden başlatma istemedi. Cihaz sanal makine olduğu için USB girişi yok; yüklemenin kendisini ölçemedim, ayarın fabrika değerini ve Fortinet’in tarifini aktarıyorum. Firewall’un kilitli bir kabinde değil de bir ofis köşesinde durduğu yerlerde bu madde ertelenmez.
FortiGate Maintainer Hesabı: Parola Kurtarma ile Fiziksel Risk Arasında
Lab cihazımda admin-maintainer enable fabrika değeriyle duruyor. Fortinet’in CLI başvurusu bu hesabı şöyle tarif ediyor: maintainer hesabı (bakım hesabı), sert bir yeniden başlatmadan sonra konsoldan giriş için kullanılabilir ve parolası “bcpb” followed by the FortiGate unit serial number. Parolası unutulan bir cihaza dönmenin yolu budur. Hesabı kapatınca FortiGate önce şunu yazdı:
*** WARNING *** WARNING *** WARNING ***
Disabling global.admin_maintainer
will disable the password recovery mechanism during boot up.
Do not disable this option if you do not have a backup plan for recovery.
The only way to restore access to the unit will require loading the
firmware via the boot menu, resulting in the unit resetting to factory
default configuration.
*** WARNING *** WARNING *** WARNING ***Cihaz uyarıyı yazdı ama onay istemedi; ayar hemen disable oldu. Aynı kapı, cihaza fiziksel olarak erişen biri için de açıktır ve seri numarası gizli bir bilgi değildir: lab cihazımda panelin ilk kutusunda, System Information altında yazıyor. Fortinet’in ölçütü de bu yüzden fiziksel güvenlik. Karar cihazın durduğu yere göre verilir:
- Cihaz kilitli bir kabinde ve konsol erişimi denetimliyse
maintainerhesabı açık kalabilir; parola kaybında işi kurtaran odur. - Cihaz herkesin ulaşabildiği bir yerdeyse
maintainerhesabı kapatılır (set admin-maintainer disable). O durumda parolası kaybolan cihaza dönmenin yolu firmware’i yeniden yüklemektir ve yapılandırma fabrika ayarına döner; bu yüzden cihaz dışındaki şifreli yedek hazır tutulur.
Lab cihazı bir sanal makine; konsoluna yalnız sanallaştırma sunucusundan ulaşılıyor. Bu yüzden ölçümden sonra hesabı yeniden açtım. Fortinet bu hesabı 7.2.4 sürümünde tamamen kaldırdı; ayrıntısı rehberin 20. adımında. 7.0’daki bir cihazda karar hâlâ sizin.
Parolaların Cihazdaki Şifrelemesi: private-data-encryption
Yapılandırmadaki parolalar ENC ile şifreli görünür, ama Fortinet’in FG-IR-19-007 bildirimine göre bu değerler sabit bir anahtarla şifrelenir; yapılandırmaya ya da yedek dosyasına erişen kişi onları çözebilir.
Hardening sayfasının çözümü config system global altında set private-data-encryption enable: cihaz, yöneticinin verdiği 32 haneli onaltılık bir anahtarı kullanır. Lab cihazımda bu seçenek deneme lisansında komut satırında yoktu; ölçümü yedek alma yazımızda anlattık. Lisanslı bir cihazda açılırsa anahtar ayrıca saklanır: Fortinet’e göre bu yapılandırmayı başka bir FortiGate’e geri yüklemek için aynı anahtar gerekir.
Doğrulama: FortiGate’in Fabrika Yolları Kapandı mı?
get system password-policystatus enable,minimum-length 15, dört karakter şartı1vereuse-password disablegösteriyor; her yerel hesabın parolası bu kurala uyuyor.get system globaliçindeadmintimeout 5,admin-telnet disable,pre-login-banner enable.- SSH listesi daraltılmış:
3des-cbcve SHA-1’li anahtar değişimiyle zorlanan bağlantıUnable to negotiatealıyor; lisanslı cihazdastrong-crypto enable. get system auto-installiki satırda dadisable.- Maintainer hesabı kararı cihazın durduğu yere göre verilmiş ve not edilmiş.
- Yönetimde IPv6 kullanılıyorsa her hesabın IPv6 güvenilen adresi yazılmış ve bir denemeyle sınanmış.
- Betikler ve araçlar yeni password policy, SSH listesi ve giriş uyarısıyla yeniden denenmiş.
Sonuç: FortiGate’te Sıkılaştırma Listeyle Yapılır
FortiGate’in fabrika ayarında açık gelen yolları hiçbir ekran kırmızıyla göstermez. Fortinet’in ve NSA’nın kesiştiği listede yerel parolalar 15 karakter ve dört sınıftır, boşta kalan oturum 5 dakikada kapanır, eski algoritmalar listeden çıkar, fiziksel olarak korunamayan cihazda USB’den kurulum ve maintainer hesabı kapanır. Lab’da beş şey beklenenden farklı çıktı:
- Password policy açılınca gelen değerler zayıftı: 8 karakter, dördü de
0olan karakter şartları, açık yeniden kullanım. - Policy’ye uymayan eski parola bir sonraki girişte değiştirilmeden içeri girmedi; lab’ın kendi üç yerel hesabının parolası da kurala uymuyordu.
min-change-charactersaçıkkensuper_adminbile başka bir hesabın parolasını eskisini yazmadan değiştiremedi.- Daraltılmış listede yalnız
hmac-md5’e zorlanan bağlantı geçti, çünkü seçilen şifre MAC’i kendisi taşıyordu; MAC ancak şifre de zorlanınca sınandı. - IPv6 güvenilen adres alanındaki
::/0yolu açmadı; IPv6’dan giriş ancak adres ayrıca yazılınca mümkün oldu.
Örnekteki sınır kapısında çitteki arka kapı, kapı yapıldığı günden beri açıktır ve bunu kimse söylemez; onu, yani fabrika ayarında açık kalan yolu, elinde listeyle çiti dolaşan görevli kapatır. Switch tarafındaki aynı listeyi switch sıkılaştırma yazımızda, cihazdan bağımsız kısmını siber güvenlik sıkılaştırma sayfamızda anlattık. Açılış listesinin kalanı 20 adımlık kontrol listesinde duruyor.
FortiGate Firewall Sıkılaştırma Hakkında Sık Sorulan Sorular
BT Danışmanı | Ağ, Sistem ve Güvenlik Yönetimi
İlker Pehlivan, karmaşık BT altyapılarını ölçeklenebilir ve güvenli sistemlere dönüştürür. Buradaki rehberleri kendi laboratuvarında kurup ölçerek yazar.
LinkedInBenzer Makaleler
FortiGate Firewall Yapılandırma Rehberi: Kontrol Listesi
FortiGate Firewall yapılandırma rehberi: yeni bir cihazı konsoldan sıkılaştırmaya kadar 20 adımda canlıya almak; her adımın sırası, kimde gerektiği ve nedeni.
Kurumsal Firewall Kurulumu, Yönetimi ve Danışmanlığı
Kurumsal firewall kurulumu, yönetimi ve danışmanlığı: Fortinet, Palo Alto ve pfSense ile kural yönetimi, IPS/IDS, VPN ve sürekli izleme hizmeti sunuyoruz.
FortiGate Firewall Admin Hesabı: Yetki Profilleri
FortiGate Firewall admin hesabı: AD'den LDAPS ile yönetici girişi, tek yerel acil durum hesabı, prof_admin farkı ve salt okunur profil; NSA ve NIST ile.
FortiGate Firewall Firmware Güncelleme: Yükseltme Yolu
FortiGate Firewall firmware güncelleme: neden ve ne zaman yükseltilir, yükseltme yolu, yedek ve geri dönüş, HA kümesi. Cihazın 'up to date' demesi neden yetmez?
FortiGate Firewall Şifre Sıfırlama ve Fabrika Ayarları
FortiGate Firewall şifre sıfırlama lab'da: maintainer hesabı, factoryreset ile factoryreset2 farkı ve 7.2.4 sonrası parolası silinmiş yedekle kurtarma.
FortiGate Firewall Sorun Giderme: Debug Flow ve Sniffer
FortiGate Firewall sorun giderme: Fortinet'in teşhis sırası, Packet Capture ve sniffer, oturum tablosu, debug flow; logda iz bırakmayan düşüşü bulun.
Kurumsal Network Kurulumu altındaki diğer 114 makale
- FortiGate Firewall Yedek Alma ve Geri Yükleme
- FortiGate Firewall Adres Nesneleri ve Adlandırma Standardı
- FortiGate Firewall DHCP Sunucusu: Kapsam ve Rezervasyon
- FortiGate Firewall DNS Ayarı: Ad Çözümleme ve DNS Sunucusu
- FortiGate Firewall İlk Kurulum: Konsol ve İlk Giriş
- FortiGate Firewall Log Ayarları: Disk, Syslog ve 5651
- FortiGate Firewall NAT Ayarı: IP Pool ve Central NAT
- FortiGate Firewall NTP Ayarı: Saat Dilimi ve Zaman Sunucusu
- FortiGate Firewall Policy Yapılandırması: Kural Seti
- FortiGate Firewall SNMP Ayarı: İzleme Sistemine Bağlamak
- FortiGate Firewall Statik Rota Yapılandırması
- FortiGate Firewall VLAN Yapılandırması: Alt Arayüz ve Trunk
- FortiGate Firewall WAN Ayarı: Statik IP, DHCP ve PPPoE
- FortiGate Firewall Zone ve DMZ Yapılandırması
- FortiGate Firewall Yönetim Erişimi: HTTPS ve Trusted Host
- Alan Adı Güvenliği: Transfer Kilidi, Yenileme ve WHOIS
- DNS Önbelleği Temizleme: flushdns, Chrome ve DNS Sunucusu
- Mail Başlığı Nasıl Okunur? From, Return-Path ve Received
- SPF, DKIM ve DMARC Nedir? Mail Kimliği Nasıl Doğrulanır?
- FortiGate Firewall Active Directory Entegrasyonu: LDAP
- FortiGate Firewall Antivirüs Profili: Flow ve Proxy Farkı
- FortiGate Firewall Bant Genişliği Sınırlama: Traffic Shaping
- FortiGate Firewall BGP Yapılandırması: Komşuluk ve Duyuru
- FortiGate Firewall HA Yapılandırması: FGCP ile İki Cihaz
- FortiGate Firewall IPS Yapılandırması: Sensör ve İmzalar
- FortiGate Firewall IPsec VPN: Şubeler Arası Tünel
- FortiGate Firewall İleri Seviye Rehberi: VPN, SD-WAN ve BGP
- FortiGate Firewall RADIUS: Merkezi Yönetici Girişi
- FortiGate Firewall SD-WAN: Yedek Hat ve Performans SLA
- FortiGate Firewall SSL Inspection: Derin Denetim ve Muafiyet
- FortiGate Firewall Uygulama Kontrolü: Uygulama Engelleme
- FortiGate Firewall Uzaktan Erişim VPN: IPsec ve FortiClient
- FortiGate Firewall Web Filtre: Kategori ve Güvenli Arama
- PPPoE Nedir? Modem Köprü Modu ve Çift NAT
- Yönlendirme Tablosu Nedir? Statik ve Varsayılan Rota
- Firewall Nedir? Güvenlik Duvarı Nasıl Çalışır?
- FortiGate Firewall Nasıl Kullanılır? Günlük Yönetim Rehberi
- Ethernet Nedir? Çerçeve Yapısı, Hızlar ve Kablo Çiftleri
- Full Duplex ve Half Duplex Nedir? Tam ve Yarım Çift Yön
- Switch 802.1X Yapılandırması: MAB ve İzleme Kipi
- Switch DHCP Snooping Yapılandırması: Trust ve Hız Sınırı
- Switch Port Teşhisi: Duplex Uyuşmazlığı ve Kablo Testi
- LACP Nedir? Link Aggregation ve Port Channel Farkı
- Layer 3 Switch Nedir? SVI ve VLAN'lar Arası Yönlendirme
- LLDP Nedir? Komşu Keşfi, LLDP-MED ve CDP Farkı
- Switch LACP Yapılandırması: Port Channel Nasıl Kurulur?
- Switch LLDP Yapılandırması: Port Tespiti ve Güvenlik
- Switch SNMP Yapılandırması: SNMPv3, Trap ve Inform
- Switch Syslog Ayarı: Log Sunucusu, Seviye ve Komut Kaydı
- Switch VLAN Yapılandırması: VLAN Oluşturma ve Port Atama
- Switch'te VLAN'lar Arası Yönlendirme: SVI Yapılandırması
- Ağ Segmentasyonu Nedir? VLAN Planı Nasıl Yapılır?
- BPDU Guard Nedir? PortFast, Root Guard ve Storm Control
- Spanning Tree (STP) Nedir? RSTP, BPDU ve Ağ Döngüsü
- Switch ACL Yapılandırması: Yönetim Erişimini Daraltmak
- Switch Nedir, Ne İşe Yarar? Çeşitleri ve Router Farkı
- Switch Sıkılaştırma: Yönetim, Kontrol ve Veri Düzlemi
- Switch Yapılandırma Yedeği: Elle ve Otomatik Yedekleme
- Switch RADIUS Yapılandırması: NPS ile Yönetici Girişi
- Switch DNS Server Ayarı: Name Server ve Alan Adı
- Switch SSH Yapılandırması: Telnet ve HTTP'yi Kapatmak
- Management VLAN Nedir? Yönetim Ağını Kullanıcıdan Ayırmak
- Switch TACACS+ Yapılandırması: Giriş, Komut Yetkisi ve Kayıt
- Switch NTP Server Ayarı: Saati İç NTP Sunucusuna Bağlamak
- Switch Yapılandırma Rehberi: Adım Adım Kontrol Listesi
- Switch'e Konsoldan Bağlanmak: Konsol Kablosu ve PuTTY
- Switch'te Yerel Yönetici Hesabı: Kullanıcı, Yetki ve Parola
- TACACS+ Nedir? RADIUS Farkı ve Linux'ta TACACS+ Sunucusu
- VPN Nedir? Site-to-Site, Uzaktan Erişim ve IPsec
- VRRP Nedir? Sanal IP ile Varsayılan Ağ Geçidini Yedeklemek
- Yönetilebilir Switch Ayarları: Ad, IP ve VLAN Planı
- Bulut Santral: Özellik Seçimi, Devreye Alma ve Geçiş
- IP Santral Kurulumu: Dahili Planı, Çağrı Akışı ve Ağ
- Kartlı Geçiş Sistemi Kurulumu: PDKS, Turnike ve Dizin
- Kurumsal İnternet Hattı: Tarife, Statik IP ve Yedek Hat
- SIP Trunk ve İş Telefon Hattı: Numara Taşıma
- IP Kamera Sistemi Kurulumu: Ağ, Kayıt ve KVKK
- Ağ Erişim Kontrolü: 802.1X, NAC ve Çok Faktörlü Doğrulama
- Fiber Optik Kablolama: Çekim, Sonlandırma ve Ölçüm Raporu
- Sistem Odası Kurulumu: Kabinet Düzeni, Güç ve Soğutma
- Misafir Wi-Fi ve Hotspot Kurulumu: Captive Portal ve 5651
- Network Danışmanlığı: Ağ Analizi, Optimizasyon ve QoS
- Şubeler Arası Bağlantı: SD-WAN, Metro Ethernet, Yedekli Hat
- Kurumsal Wi-Fi Kurulumu: Isı Haritası, Access Point ve Test
- Yapısal Kablolama Hizmeti: Keşif, Montaj ve Test Raporu
- Yapısal Kablolama ve Zayıf Akım: Kurumsal Bina Altyapısı
- IMAP Nedir, POP3 Nedir? Aralarındaki Fark
- SMTP Nedir? Mail Nasıl Gönderilir ve Neden Gitmez?
- TLS Nedir? SSL ile Farkı, Sürüm Pazarlığı ve Ölçümü
- FTP, FTPS ve SFTP Nedir? Aralarındaki Fark
- Syslog Nedir? Facility, Severity ve 514 Portu
- TFTP Nedir? Port 69, Switch Yedeği ve PXE
- NAT Nedir? Ağ Adresi Çevirisi Nasıl Çalışır?
- RDP Nedir? Uzak Masaüstü Protokolü ve Güvenliği
- SNMP Nedir? MIB, OID ve Trap Mekanizması
- ICMP Nedir? Ping, TTL ve Tracert Komutu
- VLAN Nedir? 802.1Q Etiketi, Access ve Trunk Farkı
- ARP Nedir? MAC Adresi, ARP Tablosu ve Spoofing
- IP Adresi Nedir? Subnet Maskesi, CIDR ve IPv6
- Port Nedir? TCP ve UDP Farkı, Bağlantı Arızası Tespiti
- SSH Nedir? Şifreli Yönetim ve Anahtar Tabanlı Giriş
- Telnet Nedir? Şifresiz Yönetim Protokolü ve Riskleri
- NFS Nedir? NAS ve Sanallaştırmada Dosya Paylaşımı
- HTTP ve HTTPS Nedir? Aradaki Fark ve Şifreleme
- RADIUS Sunucusu Nedir? 802.1X ile Ağ Kimlik Doğrulama
- LDAP ve LDAPS Nedir? Dizin Sorgulama ve 636 Portu
- SMB Nedir? Port 445, Dosya Paylaşımı ve SYSVOL
- Kerberos Nedir? Kimlik Doğrulama ve Bilet Mantığı
- DNS Nedir, Nasıl Çalışır? Kayıt Türleri ve TTL
- DHCP Nedir? Ağda IP Adresi Nasıl Dağıtılır?
- Kurumsal Ağ Protokolleri: DHCP'den LDAP'a
- NTP Nedir? Kurumsal Ağda Saat Senkronizasyonu
- Kurumsal Kablosuz Ağ Tasarımı: Survey'den Kuruluma
- Switch Kurulumu, VLAN ve Yönlendirici Yapılandırma Hizmeti
Ücretsiz Değerlendirme
FortiGate'inizde fabrika ayarında açık kalan yollar hangileri? On yedi maddeyi birlikte geçelim.
İçindekiler
Ana Hizmet
Kurumsal Network Kurulumu