Etiket arşivi: Firewall

Linux Firewall – Guvenlik Duvarı – Iptables Bolum 1

Günümüzde internet kullanımının artması ile birlikte, sistemlere izinsiz girişlerde çoğalma başladı. Büyük şirketler bu konuda ciddi önlemler alırken, ev kullanıcıları, küçük ve orta ölçekli işletmelerde maalesef güvenlik konusunun ne kadar ciddi bir konu olduğu henüz anlaşılmış değil. Genelde de saldırganların hedefi de bu kitleler oluyor.

Birazdan aşağıda okuyacağınız makalede, size mümkün olan en sade şekilde evinizde yâda işyerinizde bir Linux makinesini nasıl bir güvenlik duvarı(Firewall) haline getireceğinizi anlatmaya çalışacağım.

Bu yazıyı, sistem ve network bilgisi olanlar, Linux kullananlar ve en azından Linux kurmayı bilenler için hazırladım.

Güvenlik Duvarları(Firewalls)

Yukarıda da belirttiğim gibi, internet ile birlikte sistemlere izinsiz girişler de çoğaldı. Bu tür saldırıların önüne geçmek için biz sistem yöneticilerin kullandığı bazı yolların başında güvenlik duvarları(Firewalls), veri şifrelemesi(encryption) ve kimlik doğrulama işlemleri(Authentication) gelir.

Güvenlik Duvarları, bağlantı kurulumu sırasında, izin verilmemiş bağlantıları engellerken, veri şifreleme izin verilmiş kullanıcıların bağlantıları esnaipsında akan verinin güvenliğini sağlar. Kimlik doğrulama ise, belirttiğimiz bu işlemleri yapan kişinin doğru kişi olup olmadığını kanıtlar.

Şu an geçerli Linux çekirdeklerinde Iptables güvenlik duvarı görevini üstlenmiştir.  Bu güvenlik duvarını yapılandırmanız için yapmanız gereken sadece sisteminize ne tür bağlantılara izin vereceğinizi bir takım kurallar ile belirtmeniz olacaktır. Ayrıca IPTables kurulu makineniz eğer geçerli ağ geçidi olarak kullanılıyorsa(Default Gateway), o zaman ağınızı dışarıdan gelecek tüm saldırılara karşı başarı ile koruyacaktır.

Veri şifreleme için SSH ve kimlik doğrulama için Kerberos konularını internet üzerinde araştırmanızı tavsiye ederim. Makale konumuz olmadığından, bu başlıklara girmiyorum.

IPtables

Yerel ağlarınıza kullanabileceğiniz en güzel kaynaklardan biri bir Linux makinesi edinerek, bu sistemi güvenlik duvarı olarak yapılandırmanızdır. Iptables küçük ağlardan geniş ağlara kadar hizmet verebileceği gibi, ücretsiz olarak Linux çekirdeği içine gömülü gelir.  Daha fazla bilgi için www.netfilter.org adresini ziyaret edebilirsiniz.

Aslında daha derine baktığınızda iptables’ ın ana görevinin paket filtreleme yaparak, hangi paketin iç ağımıza geçiş izni olup olmadığını kontrol etmesi olduğunu göreceksiniz. Basit olarak açıklamak gerekirse paket filtreleme kaynak adres ve hedef adrese bakarak, eğer izin verilmiş ise, paketlerin gönderilmesinden sorumludur.

Diğer bir görevi adres yönlendirmesidir(NAT- Network Address Translation).  Adres yönlendirme işlemi ise gelen paketlerin,  NAT tablosunda belirtilen adreslere gönderimesi olarak açıklayabiliriz.  Gerçekleştirdiği işlemler sırası ile paketlerin belirtilen adreslere yönlendirilmesi, diğer ağlara iletilmesi ve kaynak adreslerin IP Maskeleme(IP Masquerading) kullanılarak saklanmasıdır.

http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/Deployment_Guide-en-US/ch-fw.html adresinde Iptables ile ilgili birçok faydalı bilgi bulabilirsiniz.

NAT ve paket filtreleme işlemlerini yapmak için komut satırından iptables komutu kullanılır. Ancak paket filtreleme ve NAT işlemleri ayrı komut ve tabloları kullanılır. Her tablo kendi programı için gerekli komutları içerir. Ayrı tablolarda tutulmasının sebebi sistemin paket filtreleme yaparken aynı tablo üzerinde aynı zamanda NAT görevini yerine getirip asılı kalmasını(overhead) önlemektir. NAT işlemleri ayrıca karışmaması için paket filtreleme işlemlerinden tamamen ayrılmıştır.

Her iki işlemi de gerçekleştirmek için iptables komutu kullanılır. Ancak NAT işlemlerinde iptables komutuna –nat opsiyonu eklenir.

IP6tables

Adından da anlaşılacağı üzere ip6tables Ipv6 desteği verir. Iptables kullanımı ile aynıdır ancak sadece IPv6 adreslerini destekler. Tüm filtreleme komutları desteklenir. Ancak NAT tablosu desteklenmez.

MODULLER

Genelde tüm moduller iptables ile gelir. Ancak ek moduller eklemek istiyorsanız, mesela durum modülü(state module) , kuralları tanımlamadan önce bu modülleri eklemeniz gerekir. Fedora sistemleri üzerinde moduller /usr/src/kernels/kernel-versiyonu/net/ipv4/netfilter dizinin de bulunur. Otomatik olarak yüklenen modüler ipt_prefix olarak yer alırken, yüklenebilecek olanlar ip_prefix formatında olurlar.

Yüklemek istediğiniz modülleri /etc/sysconfig/ dizininde olan iptables-config dosyası içerisinde IPTABLES_MODULES bölümüne yazarak otomatik olarak başlatabilirsiniz. iptables-config dosyası iptables başlatma yazılımı her çalıştığında otomatik olarak bu yazılım tarafından okunurak gerekli modüller yüklenir. ip6tables konfigürasyonu için ise ip6tables-config dosyası kullanılır. Iptables servisini çalıştırmak için komut satırına aşağıdaki komut yazılır.

# service iptables start

Iptables üzerinde paket filtreleme için filter,nat ve mangle tabloları üzerindeki kurallar kullanılır. Paket filtreleme paketleri red etme(drop) ve kabul etme(accept) üzere bir filtre tablosu üzerine kurulmuştur. NAT işlemleri, IP maskeleme gibi, IP maskeleme kurallarının tanımlı olduğu NAT tablosu üzerinde tutulur. MANGLE tablosu ise, Türkçe karşılığı olarak sıkıştırma yâda mengene tablosu da diyebiliriz, özel paket değişimleri için kullanılır. Paketler gönderilmeden, kabul edilmeden yâda iletilmeden önce bu değişiklikler yapılabilir.

Değişik tablolar üzerinde tutulması, paketler sistemi ulaştığında tek bir büyük tablo üzerinden kontrol edilmesi yerine, sadece kendi ihtiyaçlarının olduğu tablo üzerinden işlem yapılmasını sağlar. Bu sayede sistem performansı yükseltilmiş olur.

Daha önce de belirttiğim gibi IP tabloları kuralları iptables komutu kullanılarak yönetilir. Bu komut ile yönetmek istediğiniz tabloyu belirtmeniz gerekir.  Geçerli olan filtre tablosudur.  Eklediğiniz kuralları listelemek ve görüntülemek istediğiniz de –L ve –n anahtarlarını kullanabilirsiniz.  –n anahtarı listeleme esnasında IP adres ve port sonuçlarını sadece rakamsal olarak gösterir. Sadece –L anahtarını kullanarak makine isimlerini ve port etiketlerini görüntüleyebilirsiniz.

#iptables –L –n

ZİNCİRLER (CHAINS)

Linux çekirdeği gelen ve giden paketleri yönetmek için chain adı verilen bir kontrol listesine bakar.  Bu kontrol listesi paket işleme konulmadan önce ne tür işlemlerin yapılacağını belirten kurallar içerir. Kuralların işleyişi programcılıkta sıkça kullanılan if-then-else yapısındadır. Kısaca açıklamak gerekirse, paket birinci kurala uymuyor ise, ikinci kural kontrol edilir. Paketin uyduğu kural bulunana kadar bu işlem devam eder. Tabloda paketin uyduğu herhangi bir kural bulunamaz ise o zaman paket rededilir. Paket bir kurala uymazsa o zaman hedefe(target) yönlendirilir ve hedefte bu paketin nasıl değerlendirileceğine karar verilir. Standart hedefler aşağıdaki tabloda açıklanmıştır. Paket burada da herhangi bir kurula uygun değil ise tekrar zincirin(chain) geçerli hedefine(target) yönlendirilirilerek işleme konulur.

HEDEFLER (TARGETS)

Hedef, iptables terimi ile target, diğer bir zincir(chain) yada kullanıcı tanımlı kurallar zinciridir. Sisteme giren her paket hedefine ulaşmadan önce birçok zincir kurallarından geçer. Kullanıcı tanımlı zincirlerde, geçerli hedef daima çağırıldığı zincir içerisindeki bir sonraki kuraldır. Örneğin bir kuralın hedefi kullanıcı tanımlı zincir ise, kullanıcı tanımlı zincir çalışır. Zincir içerisinde herhangi bir eşleşmez ise o zaman ana zincirdeki bir sonraki kural çalışır.

 

image001

 

 

FIREWALL ve NAT ZİNCİRLERİ(Chain)

Güvenlik duvarı üç adet zincir kullanır. INPUT, OUTPUT ve FORWARD. Paket ağ arabirimimize ulaştığında INPUT zinciri bu paket’in nasıl işlem göreceğine karar verir. Daha sonra sistem çekirdeği(kernel) kendi yönlendirme bilgisini(routing information) kullanarak paketin nereye gönderileceğine karar verir. Eğer başka bir sunucu yâda istemciye gönderilecek ise o zaman FORWARD zinciri kontrol edilir. Paketin gönderilmesinden önce ayrıca OUTPUT zinciri de kontrol edilir. Sonuç olarak, iki adet NAT tablo zinciri, POSTROUTING ve PREROUTING zincirleri, IP maskeleme ve paket adres değişimleri için yaratılır. Geçerli iptables zincirleri aşağıda verilmiştir.

 

image002

 

 

 

Buraya kadar iptables ile ilgili birçok bilgi verdik. Bir sonraki bölümde iptables tablolarına nasıl kural ekleyeceğimiz ve eklenen kurallarının nasıl değiştirileceğini anlatacağım.

 

Kaynaklar

www.netfilter.org

McGrawHill – Fedora Core 7 and Red Hat Enterprise Linux – Richard PETERSON

www.redhat.com

www.netfilter.org

McGrawHill – Fedora Core 7 and Red Hat Enterprise Linux – Richard PETERSON

www.redhat.com

Erdal YAZICIOĞLU

Vista Firewall with Advanced Security

Güvenli iletişimin önemli olduğu şu günlerde bireysel korunmanın önemine dikkat çeken Microsoft, Vista ile bir yeniliğe daha imza atmıştır. Bu yenilik, gerek ekstra koruma gerekse kullanım kolaylığı sunan Vista’nın güvenliği gelişmiş firewall aracıdır. Bu makalede Windows Vista’nın gelişmiş firewall aracının yeniliklerini inceleyeceğiz.

Güvenli iletişimin önemli olduğu şu günlerde bireysel korunmanın önemine dikkat çeken Microsoft, Vista ile bir yeniliğe daha imza atmıştır. Bu yenilik, gerek ekstra koruma gerekse kullanım kolaylığı sunan Vista’nın güvenliği gelişmiş firewall aracıdır.

Control Panel’inden veya Security Center arayüzünden ulaşılabilen Windows Firewall aracı, Windows Vista öncesi versiyonlarda bulunan firewall arayüzünden neredeyse bir farkı bulunmamakta; bununla birlikte Administrative Tools klasörü altında Windows Firewall with Advanced Security aracı bambaşka bir arayüzle ve gelişmiş özelliklerle karşımıza çıkmaktadır. ( Resim – 01 ve 02 )

image001

Resim – 01  

image002

Resim – 02

Vista’nın yeni firewall aracında önceki versiyonlarda bulunan tek yönlü port koruması yerine hem içerden hem de dışarıdan (inbound – outbound) portları izole eden gelişmiş bir koruma altyapısı bulunuyor. Bu sayede istenmeyen çıkışlar da önlenebiliyor. Vista firewall ile bir istisna tanımlamak istediğinizde bu iki filtreyi gözönünde tutmanız gerekiyor. Ayrıca Windows’un kendi servisleri için önceden oluşturulmuş istisnalar da bu arayüz kullanılarak yeniden yapılandırlabiliyor.

 

image003

Resim – 03

 

image004

Resim – 04

 

Bunların yanısıra vista firewall aracında farklı çalışma ortamları için üç adet profil barındırıyor. Bu profiller; korunmanın sadece firewall tarafından gerçekleştiği açık ortamlar (Public), korunmanın bir başka firewall (örneğin firewall barındıran adsl modem) arkasında gerçekleştiği daha güvenli ortamlar (Private) ve bir domain’in bulunduğu çalışma ortamları (Domain) için önceden oluşturulmuş konfigürasyonlar bütünü olarak karşımıza çıkıyor. Bu profillerden uygun olanı seçilebileceği gibi tümünü aktif hale getirip bulunulan ortama göre değişmesi de sağlanabiliyor. Aynı zamanda Vista Firewall aracını kullanarak güvenli bağlantı kuralları (ipsec) oluşturulabiliyor. (Resim – 03  ve 04)

Bu makalede ayrıntılı olarak değinmek istediğim konu, kural tanımlayarak istisna (exception) oluşturmak. Dilerseniz bir programın kullandığı tek bir port için yeni bir kural oluşturalım.

 

image005

Resim – 05

 

Giriş penceresinden (Resim – 02) Inbound Rules mensünü seçerek sağ tarafında bulunan Action araç kutusundan New Rule linkini tıklayarak Resim- 05’de görünen sihirbaz penceresini açalım. Burada önemli bir hatırlatma yapmak istiyorum; oluşturacağımız bu kural, firewall aracının ilk arayüzünde bulunan Inbound veya Outbound seçeneklerine göre değişecektir. Ben, Inbound seçeneği altında New Rule linkini seçtiğimden dolayı oluşturacağım kuralı da buna geöre belirlemiş oluyorum.

Hatırlatmadan sonra kaldığımız yerden devam edelim. Sihirbazın ilk sorusu, istisna tanımlamak istediğimiz program için kural türünün ne olduğudur. Burada programın kullanacağı her port için direkt olarak programın kendisine (Program), programın kullanacağı bir veya birden fazla porta (Port), windows’un kendi servislerine (Predefined) istisnalar tanımlayabileceğimiz gibi daha ayrıntılı konfigürasyonlar da yapabiliyoruz. Konuyu daha derin incelemek için bu penceredeki tercihim Custom olacaktır.

 

image006

Resim – 06

Sihirbazın sonraki penceresinde istisna tanımlamak istediğimiz programın yolunu göstermek için This program path kuralını seçip programın bulunduğu yolu Browse butonunu tıklayarak belirliyoruz. Bu pencerede All programs kuralı tüm programlar için istisna oluşturulmasını, Services kuralı ise istenilen bir veya birden fazla windows servisi için istisna oluşturulmasını sağlayacaktır. (Resim – 06 )

 

image007

Resim – 07

Sonraki pencerede belirlediğim program için iletişim protokolü (TCP), lokal portu (1863) ve gerekirse bağlantı kurulacak host’un portunu belirliyoruz. (Resim – 07 )

image008

Resim – 08

Bir sonraki pencerede ise lokal bilgisayarda bulunan bir veya birden fazla network kartına kısıtlama yapmak amacıyla ip numaralarını giriyoruz. Aynı zamanda bağlantı kurulacak host için de bu kısıtlamayı yapabiliyoruz. Bu şekilde kuralımızı noktadan noktaya iletişim gerçekleşecek şekilde sınırlama imkanımız da bulunuyor. Bu pencereyi herhangi bir konfigürasyon yapmadan geçersek lokal host’daki tüm network kartları ile herhangi bir hedef host’a bağlantı kurulmasını belirlemiş oluruz. (Resim – 08 )

image009

Resim – 09

Sonraki pencerede kuralımızın ne amaçla kullanılacağını belirliyoruz. Buradaki amacımız belirli şartlar altında bir bağlantı kurulmasını sağlamak olduğundan Allow the connection seçeneği uygun olacaktır. Eğer bağlantının güvenli bir şekilde (ipsec) gerçekleşmesini istenirse Allow the connection if it is secure kuralı seçilebilir. Bu kural sayesinde bağlantı kurulacak Host’un ve/veya Kullanıcının adını belirleyerek bağlantının sınırlarını iyice daraltabiliriz. Bu penceredeki son seçenek ile (Block the connection) önceki adımlarda belirlenen kurallar doğrultusunda bağlantının kurulmasını engellemek amacı ile kullanılabilir. Yani istenilen uygulama ve/veya port’dan bağlantı kurulamamasını sağlayabiliriz. (Resim – 09 )

 

image010

Resim – 10

Bir sonraki pencerede ise oluşturduğumuz kuralın hangi profiller için geçerli olacağını belirtiyoruz. (Resim – 10 )

 

image011

Resim – 11

 

Sihirbazın son penceresinde kuralımız için tanıtıcı bir isim ve açıklama giriyoruz. Bu adımla birlikte bir inbound rule oluşturmuş olduk. (Resim – 11 )

 

image012

Resim – 12

 

Kuralımızın son halini resim 12’deki gibi görüyoruz. Buradaki kuralların sayısının önceki firewall araçlarında bulunan kurallara nazaran çok daha fazla olduğunu görebiliyoruz. Bu durumda aklıllara gelen ilk soru, bu kuralların ihtiyaç halinde tekrar oluşturulmasının oldukça zaman alıcı bir iş olacağıdır. Tabi ki Vista’nın Firewall aracında hem sistem tarafından oluşturulan kuralları hem de sonradan oluşturduğumuz kuralların tamamını export yöntemiyle yedekleyip import yöntemiyle de ihtiyaç halinde geri yükleyebiliyoruz. (Resim 2 Action Menüsü)

 

image013

Resim – 13

 

Aynı zamanda hali hazırda çalışır durumda olan tüm kuralları görüntülemek için Monitoring menüsünü kullanılabiliyoruz. Bu bölümde sadece istisna kuralları değil, ipsec ile kurulmuş güvenli bağlantıları da izleme imkanımız da bulunmaktadır.

Burada da Vista Firewall aracı ile bütünleşik gelen, Conncection Security Rule sihirbazı ile iki host arasında güvenli iletişim (IPSec) kurmak için nasıl bir yol izleyeceğimize değineceğim.

 

image014

Resim – 14

 

Bu işlemi yapmak için sırasıyla Start > Control Panel > Administrative Tools yolunu izleyerek Resim 14’de görünen Windows Firewall with Advanced Security arayüzünü açalım. Connection Security Rules taşıyıcısına tıkladığımızda menünün sağ tarafında bulunan New Rule linki yardımı ile sihirbazımızı başlatalım.

 

image015

Resim – 15

 

Sihirbazın ilk menüsünde oluşturacağımız kuralın amacını belirtmemiz gerekiyor. Burada, hostlar arası iletişimi engellemek için Isolation, bir kural ile iletişimi engellenmiş host grubu arasından bir host’la iletişim kurmak için yani kural dışı istisna tanımlamak için Authentication excemption, iki host arası güvenli iletişim için Server-to-server, Gateway’ler arasi güvenli iletişim (ör: L2TP VPN) kurmak için Tunnel ya da gelişmiş konfigürasyonlar yapmak için Custom kurallarından birini seçebiliriz. Amacımız iki host arası güvenli iletişim kurmak olduğundan Server-to-server seçeneği uygun olacaktır. (Resim -15)

 

image016

Resim – 16

 

İkinci adımda ise hangi host’lar arası güvenli iletişim kurmak istediğimizi belirtiyoruz. Resim 16’de görüldüğü üzere tek bir host belirleyebileceğimiz gibi birden fazla host grubu veya network belirleme şansımız da var.

 

image017

Resim – 17

Sonraki adımda kuralımızın hangi şartlar altında işleyeceğini belirtiyoruz. ‘Request authentication for inbound and outbound connections’ seçeneği ile güvenli bir iletişim teklif edilir fakat karşı taraf bunu istemezse iletişim normal yollarla gerçekleşir. ‘Require authentication for inbound connections and request authentication for outbound connections’ seçeneği ile gelen bağlantılar için güvenli iletişim şartı aranır, giden bağlantılarda güvenli iletişim teklif edilir fakat kabul görmezse iletişim normal yollarla gerçekleşir. ‘Require authentication for inbound and outbound connections’ seçeneği ile her iki yönde de güvenli iletişim şartı aranır aksi halinde iletişim gerçekleşmez. Amacımıza uygunluğu açısından son seçeneği işaretleyerek devam ediyoruz. (Resim – 17 )

image018

Resim – 18

 

Bir sonraki adımda ise hostların karşılıklı olarak gerçekleştireceği kimlik doğrulama metodunu belirliyoruz. Burada, Computer certificate seçeneği ile her iki host’un güvendiği bir CA’in (Sertifika otoritesi) sertifikasını kullanarak, Preshared Key seçeneği ile iki host arasında önceden belirlenmiş bir anahtar kelime kullanarak ya da Advanced seçeneği ile gelişmiş bir veya birden fazla kimlik doğrulama yöntemini (Kerberos, NTLM vs.) kullanarak iletişim gerçekleşmesi sağlayabiliriz. Preshared Key seçeneği CA’nın ve bir domain yapısının bulunmadığı ortama uygun bir seçenek olacaktır. (Resim – 18)

 

image019

Resim – 19

 

Bu adımda ise kuralımızın hangi firewall profili ile birlikte kullanılacağını seçiyoruz. Tercihen bir veya birden fazla profili seçebiliriz. (Resim – 19)

 

image020

Resim – 20

 

Sihirbazın son adımında kuralımız için bir isim ve açıklama belirtiyoruz. (Resim – 20 )

 

image021

Resim – 21  

Kuralımızın son halini Resim – 21’deki şekli ile görebiliyoruz. 

image022

Resim – 22  

Oluşturmuş olduğumuz kural ile belirli host ve/veya network’ler ile nasıl iletişim kuracağımızı belirlemiş olduk. Firewall aracının giriş menüsünde bulunan Windows Firewall Properties linki ile ulaşabileceğimiz konfigürasyon menüsünde, gerçekleşecek IPSec bağlantılarında kullanılacak anahtar değişimi, veri şifreleme ve kimlik doğrulama işlemleri için kullanılacak yöntemleri belirleyebiliyoruz. (Resim – 22) 

image023

Resim – 23

 

image024

Resim – 24

 

Dilersek, ipsec bağlantısı için gerçekleşecek anahtar değişimi sırasında veri doğrulama (integrity) ve veri güvenliği (encryption) konfigürasyonlarını ayrıntılı bir şekilde düzenleyebilir, farklı algoritmalar kullanılmasını sağlayabiliriz. Buradaki varsayılan metodlar; veri doğrulama için SHA1, veri güvenliği için AES-128 algoritmalarıdır. Burada göz önündebulundurulması gereken bir durum vardır; algoritmaları seçerken Vista öncesi işletim sistemlerinin kullanabileceği algoritmalara uyumlu olmalarına dikkat etmemiz gerekmektedir. Aksi halinde iletişim gerçekleşmeyecektir. Örneğin Vista ipsec bağlantısında veri güvenliği için AES algorimasını desteklemekte fakat XP sadece DES ve 3DES algoritmalarını kullanabilmektedir. (Resim – 23  ve 24)

 

image025

Resim – 25

 

image026

Resim – 26

 

Aynı şekilde, ipsec bağlantısı esnasında gerçekleşecek veri doğrulama ve veri güvenliği için kullanılacak metodları da ayrıntılı olarak yapılandırabiliyoruz. Buradaki varsayılan protokol ESP (Encapsulation Security Payload) ve bu protokolün kullandığı veri doğrulama metodu yine SHA1, veri güvenliği metodu da AES-128’dir. Dilersek, veri doğrulama metodu olarak AH (Authentication Header) ve ESP protokollerini birlikte kullanabiliriz. (Resim – 25  ve 26) Konu hakkında ayrıntılı bilgi http://www.microsoft.com/technet/network/security/ipsecarc.mspx adresinden alınabilir.

 

image027

Resim – 27

 

Farklı kimlik doğrulama yontemleri için de ayrıntılı yapılandırma sözkonusudur. Resim 8’de görüldüğü üzere kullanıcı ve/veya bilgisayar için kerberos, preshared key ve sertifikalı kimlik doğrulama yöntemlerini ayrı ayrı kullanabileceğimiz gibi birden fazla kimlik doğrulama yöntemini de birlikte kullanıp güvenliği maksimum seviyeye çıkarabilme olanağımız da vardır. Burada, iki adımda kimlik doğrulaması yapabilir her adım için farklı yöntemleri (NTLMv2, Kerberos v5, User ve Computer sertifikası) kullanabiliriz. Aynı zamanda bu iki adımdan birini opsiyonel olarak da belirleyebiliriz. (Resim – 27)

Görüldüğü üzere Vista’nın Firewall aracına entegre edilmiş olan IPSec protokolü, güvenli iletişimin öneminin arttığı şu günlerde gerek kullanım kolaylığı gerekse ek güvenlik seçenekleri ile oldukça başarılı bir performans sergiliyor. Bir başka makalede görüşmek dileği ile…

Seymen URAL

Windows Server 2008 Terminal Services Gateway Bolum 1 (Windows Server 2008 TS Gateway Oncesi)

Terminal Services Gateway Nedir ? Hangi firmaların ihtiyaçlarına cevap verir, hangi durumlarda kullanmalıyız gibi sorulara cevap vermeden önce W2008 Terminal Services Gateway dan önce yaşamış olduğumuz sıkıntıları sizler ile paylaşarak, şaha tecrübelerimi aktararak Windows Server 2008 ile birlikte gelen bu yeni özelliğin önemini anlatmak istedim.

Terminal Services Gateway makale dizisi ile , bundan sonra ki makalelerimde kurulumu, yapılandırılması, dizaynı ve uzak ofis mağazalarımız ve yerel istemcilerimiz için kullanıma hazır hale getirilmesinden bahsedeceğim.

image001

Bir firmanın , Terminal Services Teknolojisine ihtiyacı varsa eğer, yukarıda göstermiş olduğum basit bir yapı olup, firmanın Terminal Services ihtiyaçlarını karşılamaktadır.

Yukarıda ki yapıdan bahsetmemiz gerekirse iç networkümüzde, merkezimizde bulunan bir terminal server bulunmakta olup bu terminal serverimizi korumakta olan UTM teknolojisine sahip bir firewall bulunmaktadır. Şirket networkü ihtiyaçları gereği farklı çoğrafi bölgelere yayılmış ve uzak ofisleri – mağazaları bulunmaktadır. Firewallımızın burada ki görevi sadece ama sadece uzak ofislerimizden gelecek olan Terminal Services isteklerini iç networkümüzde bulunan Terminal Serverimizi yönlendirmek için dizayn edilmiştir.

Firewallımızın çalışma mantığı, sahip olduğumuz farklı çoğrafi bölgelerde ki uzak ofislerimizin, merkez networkü ile iletişimini sağlayan internet erişimlerini kiralamış bulunduğumuz kurum üzerinden (Turk Telekom vb. kurumlar) IP adresini sabitleştiriyoruz ve firewallımız üzerinde Virtual IP uygulamasını yapılandırıyoruz. Yapılandırmış olduğumuz bu Virtual IP uygulaması ile uzak ofis ve mağazalarımızın sahip oldukları Dış Sabit IP adresleri firewallımız üzerine tek tek tanımlanıyor ve bu IP adresleri bir grup altında birleştirilip aşağıda ki gibi kural oluşturuluyor.

·         Dış dünyadan gelen

·         Dış IP adeslerinin tanımlamış olduğumuz grubun üyesi olan

·         Tüm Terminal services isteklerini

·         İç networkümüz içinde bulunan Terminal Serverımıza yönlendir.

Yukarıda ki gibi oluşturmuş olduğumuz basit bir kural iç networkümüz içinde bulunan Terminal Serverimizi korumak için yeterli olup bu grubun üyesi olmayan hiç bir IP adresinin isteğini Terminal Serverimiza yönlendirmeden Terminal Serverimiz üzerinde gereksiz kaynak harcatmadan korumayı gerçekleştirmektedir.

Örnek Network Diyagramına bakıldığı zaman kırmızı bölgede ki nokta, kullanıcının IP adresinin, Firewallımıza tanımlı olmadığı için isteğinin yasaklandığını görebilmekteyiz.

image002

Yukarıdaki yapı şirket networkü içinde bulunan Terminal Serverin koruması için yeterli olsa bile bazı özel durumlarda bu güvenlik bizlere dez avantaj getirmekteydi. Örnek olarak bir destek firması bir arıza durumunda uzak , herhangi bir noktadan Terminal Servera bağlanıp problemi çözmek adına hizmet vermek istediği zaman, bağlanmış olduğu noktanın dış ıp adresi firewalla tanımlı olmadığı için isteği firewall tarafında engellenecek ve çözüm üretemeyekti.

Diğer bir örnek ise firmanın sahibi, yönetim üyesi, mağazalar müdürü vb.. kişiler evlerinden veya iş seyahatlerinde Terminal Servera bağlantı isteği duydukları zaman aynı şekilde istekleri firewall tarafından engellenecekti.

Bu gibi problemler ise firewall üzerinde yapılacak olan VPN (Sanal Özel Ağ) yapılandırılması ile çözüm bulunmakta olup, destek firmaları ve firma yetkilileri firewall üzerinde yapılandırılan VPN istekleri ile güvenli ama bir o kadar da yavaş olarak şirket networküne bağlanıyor ve işlemlerini gerçekleştirebiliyordu.

image003

VPN teknolojisini kullanarak Terminal Serverimiza erişimi daha bir esneklik getirmiş olsakta problemlerimiz henüz bitmiş durumda değildir.

Merkez networkümüz içinde bulunan Firewallımız üzerinde nasıl dış dünyadan gelen istekleri iç networkümüz içinde bulunan Terminal Server için gerekli port yönlendirmelerini yaptıysak bağlantıyı kuracak olduğumuz networklerde de iç networkden, dış dünyaya ilgili portların açılması zorunludur.

Ve bu networkler (uzak ofislerimiz, destek departmanının barınmış olduğu network, mağazalar müdürünün evi vb.) bizlerin kontrolü altında olduğu için ve bu portları açmamız da bir sıkıntı olmadığı için bir problem ile karşılaşmıyorduk. İçeriden dışarıya Terminal Services Portunu ve VPN portlarına izin vererek erişimi gerçekleştirebiliyorduk.

Problemleri sırasıyla aşmaya devam ederken her seferinde farklı problemler bizleri beklemektedir.

 image004

Yeni problemimiz ise Mağazalar müdürümüz, on günlüğüne iş seyahatine çıkıyor ve tek düşünmüş olduğu şey, akşamları şirket networküne bağlantı kurarak raporları, günlük satışları vb.. işlemleri kontrol etmektir. Ve bunun için otelden istemiş olduğu tek şey internet erişimidir. İhtiyacı doğrultusunda gerekli internet bağlantısının olup olmadığını soruyor ve internet bağlantısının olduğunu öğrendikten sonra rezervasyonunu yaptırıp, otel networküne giriş yapıyor.

Giriş yaptıktan sonra mağazalar müdürümüz internetini kullanabilmektedir.

Web üzerinde gezinti yapabilmekte ve siteler arasında dolaşabilmektedir. Bu işlemler için gerekli olan port 80 numaralı HTTP isteği otel networkü tarafından misafir kullanıcılara atanmış olup bir sıkıntı yaşamamaktadır.

Misafir internet hattı üzerinden, 443 numaralı HTTPS, güvenli internet erişimlerini de kullanmakta olup şifreli web sayfaları üzerinde işlemlerini yapabilmektedir.

Fakat muhasebe müdürümüzün, şirket networküne bağlana bilmesi için gerekli olan portlar

·         Terminal Services için 3389

·         VPN için 1723

Numaralı portlar misafir kullanıcılarına, şirket networkünü kullanabilmesi için izinli olmamış olup, yapmış olduğu istekler şirket networküne gitmeden, otel networkü tarafından yasaklanmaktadır. Ve muhasebe müdürümüz on günlük tatilini işten uzakta, hiç bir işlemi kontrol etmeden tam bir tatil havasında geçmektedir (!) J

Çünkü muhasebe müdürümüzün gitmiş olduğu networkde bir misafirdir ve ihtyiaç duymuş olduğu portları açtırması tamamen Otel IT yetkililerinin insiyatifindedir. Eğer Otel IT departmanı bu portları açmazsa muhasebe müdürümüz firmaya bağlantı kuramayacak ve kontrollerini gerçekleştiremeyecektir.

image005

 

W2008 Terminal Services’ den önce yaşamış olduğumuz sıkıntıları sizlere bir senaryo çerçevesinde aktarmaya çalıştım ki bu ve benzeri senaryoları zaten günlük hayatda , projelerimiz de yaşamaktayız.

W2008 ile birlikte gelen bu yeni özelliği kullanarak, Otel networkü tarafından Güvenli internet erişimi için bizlere tahsis edilen 443 numaralı HTTPS portunu kullanarak merkez networkü içinde bulunan Terminal Server Gateway serverimiza bağlantıyı kuruyoruz ve Terminal Server Gateway üzerinden iç networkümüzde bulunan Uzak masa üstü aktif duruma getirilmiş

·         Terminal Serverimiza

·         Terminal Serverlarımıza

·         İstemci bilgisayarlarımıza

bağlantıyı gerçekleştirebiliyoruz.

Terminal Server Gateway Rolünün öncelikli özelliği bu olup diğer bir avantajı ise iç networkümüz içinde bulunan çoklu Terminal Serverlar için firewallımız üzerinde farklı portlar açarak veya istemci bilgisayarlarımıza bağlantı kurmak için kullandığımız VNC, Radmin vb. diğer programların portlarını açmaksızın sadece ama sadece 443 numaralı HTTPS portu üzerinden bilgisayarlarımıza bağlantı kurabilmekteyiz.

Firewallımız üzerinde birden fazla port açmayarak güvenliğimizi sağlıyoruz ve bu portları tek tek açmayarak harcamış olduğumuz iş yükümüzü hafifletmiş oluyoruz.

TS Gateway Makale dizimizin sonra ki bölümlerinde Kurulumu, yapılandırılması gibi operasyonlarımızı gerçekleştireceğiz.

 

Fatih KARAALIOGLU