
Günümüzde veri iletişimi güvenliği büyük önem taşımaktadır. Kurumsal ağlar arasından gerçekleştirilen veri aktarımı çoğu zaman şifreleme yöntemleriyle güvence altına alınmaktadır. IP tabanlı Güvenli Paylaşım (IP Security veya kısaca IPsec) protokolü bu amaçla sıklıkla kullanılmaktadır. Bu makalede IPsec protokolü ve network adres çevirme (NAT) kullanımındaki IPsec uygulaması NAT’lı IPsec anlatılmaya çalışılacaktır.
IPsec Protokolü
IPsec, Internet Engineering Task Force (IETF) tarafından geliştirilen ve IP tabanlı veri iletimi sırasında güvenlik sağlamak üzere tasarlanan bir protokoldür. IPsec, IP tabakasının üst katmanlarında çalışarak verileri şifreler, bütünlük sağlar ve kimlik doğrulaması yapar. Böylece kötü niyetli erişimler engellenir ve veriler hedefe güvenli bir şekilde ulaştırılır.
IPsec’in temel özellikleri arasında gizlilik, bütünlük, kimlik doğrulama ve zaman damgası yer almaktadır. Protokol katman 3 seviyesinde çalıştığı için özellikle sanal özel ağ (VPN) kurmada sıklıkla tercih edilmektedir. IPsec tünelleriyle ağlar arasında güvenli bir haberleşme kanalı oluşturulabilmektedir.
NAT’lı IPsec
IPsec VPN bağlantısının kurulduğu ağlardan birinde network adres çevirmesi (NAT) kullanılıyorsa bu duruma NAT’lı IPsec denilmektedir. NAT cihazı arkasındaki iç ağ cihazlarının gerçek IP adresleri gizlenmiştir. Ancak IPsec bağlantısı kurulduğunda adres çevirme olmadan doğrudan iletişim kurulması gerekir.
Bu sebeple NAT cihazı IPsec tüneli için hem iç hem de dış ağ adresine sahip olmalıdır. IPsec paketleri NAT cihazı üzerinden alınıp hedefe yönlendirilir. Böylelikle NAT arkasındaki cihazlar IPsec bağlantısını gerçek IP adresleri görünmeden kullanabilirler.
IPSec Site-to-Site VPN
| Site A Firewall Gateway IP: | 1.1.1.1 |
| Site A Firewall Subnet(s): | 10.1.1.0/24 |
| Site A Firewall Marka & Model: | Fortigate 60F |
| Site B Firewall Gateway IP: | 2.2.2.2 |
| Site B Firewall Subnet(s): | 192.168.1.0/24 |
| Site B Firewall Marka & Model: | Fortigate 60F |
Phase 1
| Preshared Key: | https://cloud.google.com/network-connectivity/docs/vpn/how-to/generating-pre-shared-key | *Recommended: At least 16 characters, with a mixture of upper & lower case, numbers, special characters |
| Mode (Main/Aggressive): | Main | *Typically Main Mode |
| Encryption: | AES256 | *Supported: AES256, AES192, AES128, 3DES, DES |
| Authentication: | SHA256 | *Supported: SHA1, SHA2/SHA256, MD5 |
| DH Group: | 2 | *Supported: 14, 5, 2, 1 |
| Key Lifetime: | 28800 | *Typically 86400 (seconds) |
| Ike Version | 1 | 1-2 |
Phase 2
| Encryption: | AES256 | *Supported: AES256, AES192, AES128, 3DES, DES |
| Authentication: | SHA256 | *Supported: SHA1, SHA2/SHA256, MD5 |
| PFS (On/Off): | on | *Typically On when supported |
| DH Group: | 2 | *Supported: 14, 5, 2, 1 (only used when PFS is On) |
| Key Lifetime: | 28800 | *Typically 28800 (seconds) |
Site A
Site A’dan Site B’ye Yapılandırma adımları aşağıdaki gibidir.



Phase 1 adımında dikkat edilmesi gereken 5 adım bulunmaktadır. Bu adımlar;
1-Ip Address: Karşı Firewall cihazının ip adresi yazılmalıdır.
2-İnterface: Wan interface seçilmelidir.
3-Pre-shared Key: Gizlilik derecesi önemlidir. Burada Google Generate önerebilirim.
4-Ike Version: En yaygın kullanılan sürümler IKEv1 ve IKEv2’dir. IKEv2 daha güvenlidir ancak eski cihazlar IKEv1’i destekleyebilir. Cihaz yetenekleri göz önünde bulundurulmalıdır.
5-Ike Mode: Main ve Aggressive modlar mevcuttur:
- Main modu daha güvenlidir çünkü öncelikle kimlik doğrulaması yapılır. Ancak daha yavaştır.
- Aggressive mod daha hızlı ancak güvenliği riske atar. Kimlik doğrulaması sonra yapılır.

1-Şifreleme (Encryption): IPsec Faz 1’de kullanılacak güçlü bir şifreleme algoritması seçilmelidir. Örneğin, AES (Advanced Encryption Standard) genellikle tercih edilen bir şifreleme algoritmasıdır. Uygun bir şifreleme algoritması seçmek, verilerin güvenli bir şekilde iletilmesini sağlar.
2-Kimlik Doğrulama (Authentication): IPsec Faz 1’de kimlik doğrulama için bir yöntem seçilmelidir. Bu, güvenilirliği sağlamak ve taraflar arasındaki iletişimin gizlilik ve bütünlüğünü korumak için önemlidir. Örneğin, HMAC (Hash-based Message Authentication Code) ile kimlik doğrulama yapılabilir.
3-Diffie-Hellman (DH) Anahtar Değişimi: IPsec Faz 1’de kullanılacak DH anahtar değişimi protokolü seçilmelidir. DH, güvenli bir şekilde anahtarlar oluşturmak için kullanılan bir yöntemdir. Genellikle, daha güçlü anahtar uzunluklarına sahip olan DH grupları tercih edilmelidir.
4-Anahtar Ömrü (Key Lifetime): IPsec Faz 1’de kullanılan anahtarların ömrü belirlenmelidir. Bu, anahtarların ne kadar süreyle kullanılacağını ve ne zaman yenileneceğini belirler. Anahtar ömrü, güvenlik seviyesini korumak ve saldırılara karşı savunmayı güçlendirmek için düzenli olarak yenilenmelidir.
1-Local Adres: IPsec Faz 2’de, yerel cihazın IP adresi belirtilmelidir.
2-Remote Adres: IPsec Faz 2’de, uzak cihazın IP adresi belirtilmelidir.
3-Encryption (Şifreleme): IPsec Faz 2’de kullanılacak şifreleme algoritması belirlenmelidir. Verilerin güvenli bir şekilde iletilmesini sağlamak için güçlü bir şifreleme algoritması seçilmelidir.
4-Authentication (Kimlik Doğrulama): IPsec Faz 2’de kimlik doğrulama yöntemi belirlenmelidir. Bu, VPN tünelinin tarafları arasındaki iletişimin güvenli ve güvenilir olmasını sağlar. Örneğin, HMAC ile kimlik doğrulama yapılabilir.
5-Replay Detection (Tekrar Oynatma Tespiti): IPsec Faz 2’de tekrar oynatma saldırılarını önlemek için replay detection (tekrar oynatma tespiti) etkinleştirilmelidir. Bu, saldırganların geçmişte kaydedilmiş paketleri tekrar göndererek güvenliği tehlikeye atmasını engeller.
6-Perfect Forward Secrecy (PFS): IPsec Faz 2’de PFS özelliği etkinleştirilmelidir. Bu, her oturum için geçerli olan tek bir anahtarın saldırıya uğraması durumunda bile geçmiş oturumların güvenliğini korur.
7-Auto-Negotiate (Otomatik Müzakere): IPsec Faz 2’de otomatik müzakere etkinleştirilmelidir. Bu, VPN tünelinin otomatik olarak en uygun parametreleri belirleyebilmesini sağlar.
8-Auto Keep Alive (Otomatik Canlı Tutma): IPsec Faz 2’de otomatik canlı tutma özelliği etkinleştirilmelidir. Bu, VPN tünelinin aktif kalmasını ve oturumun kesilmesini önler.
9-Key Lifetime (Anahtar Ömrü): IPsec Faz 2’de kullanılan anahtarların ömrü belirlenmelidir. Bu, anahtarların ne kadar süreyle kullanılacağını ve ne zaman yenileneceğini belirler. Anahtar ömrü, güvenlik seviyesini korumak ve saldırılara karşı savunmayı güçlendirmek için düzenli olarak yenilenmelidir.

Static Route(Statik Yol): Karşı site bloğu istek attığında ipsec tüneline girebilmesi adına karşı site bloğuna statik route yazılmıştır.

Ipsec tünelinden gelen istekler internal tarafa yönlendirilirken aşağıdaki adımlar izlenmelidir;
Site B tarafında paylaşmış olduğumuz 105.20.20.20 Ip adresine doğru istekler yönlendirilmiştir. Bu isteklerin iç tarafa yönlendirilmesi için Destination tarafında bir Virtual IPs oluşturulacaktır.

Site B tarafında tanımlanan 105.20.20.0/24 Ip bloğu internal tarafa aktarılması için 10.1.1.0/24 adresine natlanmıştır.

Ipsec tüneline gönderilen istekler Site B tarafa yönlendirilirken aşağıdaki adımlar izlenmelidir;
Site B tarafına trafiğin iletilmesi adına internal Ip adresinin natlanması gerekmektedir. Öncelikle Firewall üzerinde 105.20.20.0/24 adresinin tanımlı olmadığı için destination tarafına buraya yönlendirilmesi sağlanmıştır. Natlama ise Ip pool yöntemi ile sağlanmıştır.

10.1.1.0/24 olan internal adres çıkış bacağında ıpsec tüneline yönlendirilmesi için Site B üzerinde tanımlı olan 105.20.20.0/24 ıp adresine yönlendirilmiştir.
Site B
Site B’den Site A’ya Yapılandırma adımları aşağıdaki gibidir.


Site A tarafında değindiğimiz konular site B içinde geçelidir. İki site yapılandırmasının da aynı olmasına dikkat edilmelidir.

Site A tarafında ki gibi yapılandırılmalıdır. Olası bir up olmaması durumunda eğer sorun Phase 1 ise dikkat edilmesi gereken noktalar ise;
1-Encryption-Authentication
2-Pre-shared Key
3-Ip Address kontrol edilmelidir.

Local Adres olarak Site A ya verilen Nat ıp yazılmalıdır. Remote Address ise Site A tarafından alınan Nat ıp adresidir. Ek olarak dikkat edilmesi gereken diğer bir nokta ise PFS olmalıdır. Farklı PFS olması durumunda Phase 2 down olacaktır.

Site A tarafından alınan adresi Site B firewall tarafından trafiğe alınması için static route yazılmıştır.

Site A tarafına verilen 210.10.10.0/24 Ip adresi internal tarafa yönlendirilmesi için Nat yapılmıştır.

Nat Ipsi internal Ip ye yönlendirilmiştir. Diğer türlü Gelen trafik internal tarafa yönlendirilmediği için drop olacaktır.

İnternal bloktan ıpsec tüneline yönlendirme yapılmıştır. Dikkat edilmesi gereken nokta ise internaldan tünele doğru yönlendirilmesi için çıkış Nat’ında Ip pool yapılandırılması gerekmektedir.

Tünele trafiğin yönlendirilmesi için internal ıp adresi nat ıp adresine yönlendirilmiştir.
NOT
Verilen Nat Iplerin Public Ip olmaları sorun yaratmamaktadır. Yapılan yönlendirmeler ile birlikte ipsec tüneline girdiği için public ıp te bir sorun yaratmayacaktır.
