IEEE 802.1X ve Kurulumu

Jan 9th, 2008

IEEE 802.1X ve Kurulumu

Yazım sitillerinin anlamları:

<değişkenleri belirtir>

dosya ya da dizin ismi

yapılandırma komutları

 

Tanım:

 

IEEE 802.1X port tabanlı ağ erişim kontrol stanardıdır. Kullanıcı bilgileri (kullanıcı adı-parola) yardımı ile ağa bağlanılmasına izin verilmesini sağlar (Bazı özel durumlarda MAC adreside kullanılmaktadır.). Kullanıcı doğrulama sırasında EAP (extensible authentication protocol -RFC2284) yöntemi kullanılır. Bir çok EAP yöntemi bulunmaktadır, bunlar arasında EAP-TTLS (EAP-Tunneled Trasport Layer Security) ağ erişimi isteyen cihazdan doğrulama yapan mekanizmaya kadar kullanıcı bilgilerin sürekli şifreli gitmesini sağlar.

 

Sistemin kablolu ve kablosuz ağ bağlantıları için bazı farkları vardır. Kablosuz ağlarda, erişim cihazından sanal portlar sayesinde 1′den çok kullanıcı aynı anda ağa erişim için izin alabilmektedir. Ancak kablolu ağlarda IEEE 802.1X destekleyen anahtar cihazların (switch) her bir fiziksel portundan sadece bir yetkilendirme yapılabilmektedir. Yetkili giriş aktif olduğu zaman buradan gelen her türlü trafik ağ cihazı tarafından kabul edilmektedir. Bazı üretici firmalar kablosuz ağlarda kullanılan çoklu yetkilendirme yöntemini uygulamaktadırlar. Bu sayede IEEE 802.1X uygulamalarının maliyeti aşağıya çekilebilmektedir.

IEEE 802.1X yapmak için hangi elemanlara ihtiyaç vardır?

 

A. Kullanıcı tarafında:

IEEE 802.1X standartlarında kullanıcı bilgilerini gönderebilecek bir yazılım. Linux ortamında wpa_suplicant, MAC OS X’de doğrudan kurulu gelen ağ yapılandırma programı, Microsoft ürünlerinde üçüncü parti yazılımlar (SecureW2) veya sürücüye özel bağlantı uygulamaları bu işi yapabilmektedir.

 

B. Ağ yönetim tarafında:

  1. IEEE 802.1X anlayan ağ anahtarları ya da kablosuz ağ erişim cihazları

  2. Yetkilendirme sunucusu (örnek: FreeRadius )

  3. Kullanıcı bilgilerinin tutulduğu sistem (örnek: LDAP) (opsiyonel)

 

1. IEEE 802.1X’ten anlayan cihazların ayarları:

 

İki tane kablolu bir tane de kablosuz cihazda IEEE 802.1X için girilmesi gereken komutları aşağıda açılımları ile yazıyorum.

 

 

a. Cisco 2950 Ethernet Anahtar:

 

RADIUS sunucusunu anlatalım cihaza:

 

radius-server host <radius sunucu ip adresi> auth-port 1812 acct-port 1813 timeout 3

radius-server retransmit 3

radius-server attribute nas-port format b

radius-server key 7 <sunucuya özel anahtar kelime>

 

Kullanıcı doğrulama yöntemini belirtelim:

 

dot1x system-auth-control

aaa authentication dot1x default group radius

aaa accounting dot1x default start-stop group radius

aaa accounting system default start-stop group radius

 

Portlara tanımın girilmesi:

 

dot1x port-control auto

 

b. HP-Procurve 2650 Ethernet Anahtar:

 

RADIUS sunucusunu anlatalım cihaza:

 

radius host <radius sunucu ip adresi> key <sunucuya özel anahtar kelime>

 

Kullanıcı doğrulama yöntemini belirtelim:

 

aaa port-access authenticator active

aaa authentication port-access eap-radius

 

Portlara tanımın girilmesi:

 

aaa port-access authenticator <port listesi> control auto

 

c. Cisco 1130 Kablosuz Cihazı:

 

RADIUS sunucusunu anlatalım cihaza:

 

radius-server host <radius sunucu ip adresi> auth-port 1812 acct-port 1813 key 7 <sunucuya özel anahtar kelime>

 

Kullanıcı doğrulama yöntemini belirtelim:

 

aaa group server radius rad_eap1

server <radius sunucu ip adresi> auth-port 1812 acct-port 1813

aaa group server radius rad_acct1

server <radius sunucu ip adresi> auth-port 1812 acct-port 1813

 

aaa authentication login eap_methods1 group rad_eap1

aaa accounting network acct_methods1 start-stop group rad_acct1

 

Yayın tanımın girilmesi:

 

dot11 ssid <yayın adı>

vlan <vlan no>

authentication open eap eap_methods1

authentication network-eap eap_methods1

authentication key-management wpa

accounting acct_methods1

guest-mode

mbssid guest-mode

 

2. FreeRADIUS yapılandırması:

 

Burada her ne kadar FreeRadius kullanmış olsak da diğer yetkilendirme uygulamaları da kullanılabilir. FreeRadius kurulumu her işletim sistemi için farklılık göstereceğinden burada bu konulara girilmemiştir. Okuyanın bu konulara aşikar olduğu varsayılmıştır.

 

FreeRADIUS’un kurulum dizini içinde (varsayılan /etc/freeradius) yapılandırma dosyalarında bazı işlemler yapmamız gerekecek.

 

a. radius.conf dosyasında:

1. EAP modülünün aktif edilmesi (modules başlığı altında) gerekir

$INCLUDE ${confdir}/eap.conf

2. Kullanıcı yetkilendirmesi için EAP kullanılmasının aktif edilmesi (authorize başlığı altında) gerekir.

eap

3. Kullanıcı doğrulaması için EAP kullanılmasının aktif edilmesi (authenticate başlığı altında) gerekir.

eap

 

4. Kullanıcı doğrulama için kullancılacak modulde (örnek LDAP üzerinde olacak) gerekli düzenlemeleri yapılması (modules başlığı altında) gerekir.

server = “<ldap sunucusu ip adresi>”

basedn = “dc=<ornek>, dc=edu, dc=tr”

filter = “(uid=%{Stripped-User-Name:-%{User-Name}})”

password_attribute = <LDAP Kullanıcı Parametresi>

 

 

b. eap.conf dosyasında:

1. EAP ayarları için openssl sertifikalarının kurulmuş olması gerekmektedir.

Kısaca aşağıdaki komut ile elde edilebilir;

$ openssl req -new -x509 -days 365 -newkey rsa:1024 \

-keyout cacert.pem -out cert-srv.pem

cacert.pem dosyasını güvenli bir yerde tutmanız önerilir.

Daha fazla detay vermeği uygun bulmadık. Bu konuda ayrıca başka bir dökümana başvurmak yerinde olacaktır.2. varsayılan EAP metodu ttls olarak ayarlanması.

default_eap_type = ttls

3. Sertifika ayarları için (tls başlığı altında) düzenlemeler yapılması.

private_key_password = <sertifika oluştururken atanan parola>

private_key_file = ${raddbdir}/certs/cert-srv.pem

certificate_file = ${raddbdir}/certs/cert-srv.pem

CA_file = ${raddbdir}/certs/demoCA/cacert.pem

dh_file = ${raddbdir}/certs/dh

random_file = ${raddbdir}/certs/random

 

 

c. Kullanıcı doğrulaması için sorgu yapacak olan ağ cihazını tanımlanması:

 

Tanımlama clients.conf dosyasına yapılır.

 

client <anahtar cihazın ip adresi> {

secret = <sunucuya özel anahtar kelime>

shortname = <sizin belirleyeceginiz herhangi bir isim>

}

 

Aynı zamanda FreeRadius sunucusunun loglarını (güncelerini) düzgün tutmalarını sağlamak önem arz etmektedir. Nitekim yeni yasa ile sorumluluklarımız da artmıştır.

 

Sonuç olarak toplarsak FreeRadius dosyaları:

 

$ cat radiusd.conf

.. Kesildi ..

.

modules {

..

$INCLUDE ${confdir}/eap.conf

..

ldap {

..

server = “<ldap sunucusu ip adresi>”

basedn = “dc=<ornek>, dc=edu, dc=tr”

filter = “(uid=%{Stripped-User-Name:-%{User-Name}})”

password_attribute = <LDAP Kullanıcı Parametresi>

}

..

}

..

authorize {

preprocess

eap

files

..

}

 

authenticate {

Auth-Type PAP {

pap

}

Auth-Type LDAP {

ldap

}

..

eap

}

 

$ cat eap.conf

.. Kesildi ..

eap {

default_eap_type = ttls

tls {

private_key_password = <sertifika oluştururken atanan parola>

private_key_file = ${raddbdir}/certs/cert-srv.pem

certificate_file = ${raddbdir}/certs/cert-srv.pem

CA_file = ${raddbdir}/certs/demoCA/cacert.pem

dh_file = ${raddbdir}/certs/dh

random_file = ${raddbdir}/certs/random

..

}

ttls {

default_eap_type = md5

copy_request_to_tunnel = no

use_tunneled_reply = yes

..

}

..

}

 

$ cat clients.conf

.. Kesildi ..

..

client <anahtar cihazın ip adresi> {

secret = <sunucuya özel anahtar kelime>

shortname = <sizin belirleyeceginiz herhangi bir isim>

}

..

 

Editörler: İbrahim Çalışır, Hüsnü Demir. ODTÜ Bilgi İşlem.

Tags:
No comments yet.