İstemci: Xsupplicant'ın Kurulması

İstemci kimlik kanıtlamasına gereksinim duyan genellikle bir dizüstü bilgisayar veya diğer başka bir (telsiz) aygıttır. Xsupplicant IEEE 802.1X-2001 standartının "İstemci" parçası olduğunu bildirir.

Xsupplicant'ın Kurulumu

Yönerge 4.3. Kurulum

  1. En güncel kaynağı http://www.open1x.org/ adresinden indirin.

    # cd usr/local/src
    # wget http://belnet.dl.sourceforge.net/sourceforge/open1x/xsupplicant-1.0.tar.gz
    # tar zxfv xsupplicant-1.0.tar.gz
    # cd xsupplicant
    

  2. Paketi yapılandırın, derleyin ve kurun:

    # ./configure
    # make
    # make install
    

  3. Eğer yapılandırma dosyası etc dizininin altına kurulmamışsa kendiniz yapın:

    # mkdir -p /usr/local/etc/1x
    # cp etc/tls-example.conf /usr/local/etc/1x
    

Eğer kurulum başarısız olursa kaynağa dahil edilmiş olan README ve INSTALL dosyalarını okuyun. Ayrıca, Resmi Belgelendirme'yi de okuyabilirsiniz.

Xsupplicant'ın Yapılandırılması

Yönerge 4.4. Yapılandırma

  1. İstemci root sertifikasına erişebilmelidir.

    Eğer İstemci Kimlik Kanıtlama Sunucusundan (çift yönlü) doğrulamaya ihtiyaç duyuyorsa, İstemci sertifikalarına da erişebilmelidir.

    Bir sertifika dizini oluşturun ve sertifikaları onun içine taşıyın:

    # mkdir -p /usr/local/etc/1x/certs
    # cp root.pem /usr/local/etc/1x/certs/
    # (seçimlik istemci sertifikalarını aynı dizine kopyalayın)
    

  2. Yapılandırma dosyasını açın ve düzenleyin:

    # startup_command: Xsupplicant ilk başlatılırken çalıştırılacak komut.
    #   Bu komut, kartın ağ ile kusursuz ilişkilendirilmesi için yapılandırılması
    #   gibi şeyleri yapabilir.
    startup_command = <BEGIN_COMMAND>/usr/local/etc/1x/startup.sh<END_COMMAND>
    

    startup.sh çabucak oluşturulacak.

  3. İstemcinin kimlik doğrulaması olunca, bir DHCP isteği iletecektir veya elle bir IP adresi atayacaktır. Burada, İstemci kendi IP adresini startup2.sh dosyasında elle ayarlıyor:

    # first_auth_command: Xsupplicant telsiz bir ağa kimlik doğrulaması
    #   yapacağı zaman çalıştırılacak ilk komut. Bu genellikle
    #   bir DHCP istemci sürecini başlatmak için kullanılır.
    #first_auth_command = <BEGIN_COMMAND>dhclient %i<END_COMMAND>
    first_auth_command = <BEGIN_COMMAND>/usr/local/etc/1x/startup2.sh<END_COMMAND>
    

  4. -i sadece hata ayıklama amacıyla (geliştiricilere göre bu seçenek çıkarılabilir) kullanılabileceği için, allow_interfaces ayarlanmalı:

    allow_interfaces = eth0
    deny_interfaces = eth1
    

  5. Sonra, NETWORK SECTION'ın altında, PEAP'i yapılandıracağız:

    # PEAP'i kullanıyor olacağız
    allow_types = eap_peap
    
    # İlk aşamada (şifrelenmemiş aşama) kullanıcı adını
    # öğrenmek için kulak misafiri olmak isteyenleri istemiyoruz,
    # bu nedenle 'identity hiding' kullanılır
    # (sahte bir kullanıcı adı kullanılır).
    identity = <BEGIN_ID>anonymous<END_ID>
    
    eap-peap {
      # tls'de olduğu gibi, ya bir root sertifikası ya da
      # root sertifikalarırı içeren bir dizin tanımlayın.
      root_cert = /usr/local/etc/1x/certs/root.pem
      #root_dir = /path/to/root/certificate/dir
      #crl_dir = /path/to/dir/with/crl
      chunk_size = 1398
      random_file = /dev/urandom
      #cncheck = myradius.radius.com   # Sunucu sertifikasının CN alanında
                                       # bu değere sahip olduğundan emin olun.
      #cnexact = yes                   # Tam bir eşleşme olmalı mı?
      session_resume = yes
    
      # Şu an 'all' sadece mschapv2.
      # Eğer hiç allow_types tanımlanmamışsa 'all' öntanımlıdır.
      #allow_types = all # burada all = MSCHAPv2, MD5, OTP, GTC, SIM
      allow_types = eap_mschapv2
    
      # Şimdi, PEAP'te bu yöntemlerden her hangi birini uygulayabilirsiniz:
      eap-mschapv2 {
        username = <BEGIN_UNAME>testuser<END_UNAME>
        password = <BEGIN_PASS>Secret149<END_PASS>
      }
    }
    

  6. İstemci ilk olarak erişim noktası ile ilişkilendirilmeli. startup.sh betiği o işi yapar. O aynı zamanda Xsupplicant'ın çalıştırdığı ilk komuttur.

    Not

    iwconfig'e verdiğimiz sahte anahtara dikkat edin (enc 000000000)! Bu anahtar sürücüye şifreli kipte çalışmasını söyler. Anahtar, başarılı kimlik kanıtlamanın ardından başkasıyla değiştirilir. Eğer şifreleme AP'de (deneme amacıyla) kapalıysa bu enc off'a ayarlanabilir.

    startup.sh ve startup2.sh, her ikisi de /usr/local/etc/1x/ altında olmalı.

    #!/bin/bash
    echo "$0: işlem başlatılıyor"
    # Arayüzü devredışı bırakın (eğer çalışıyor ise)
    /sbin/ifconfig eth0 down
    # Rotaların boşaltıldığından emin olmak için
    sleep 1
    # Arayüzü sahte bir anahtarla yapılandırın
    /sbin/iwconfig eth0 mode managed essid testnet enc 000000000
    # Arayüzü başlatın ve çoğa gönderim paketlerini dinlediğinden emin olun
    /sbin/ifconfig eth0 allmulti up
    echo "$0: işlem tamam"
    

  7. Sonraki dosya IP adresini statik olarak ayarlamak için kullanılır. Eğer bir DHCP sunucusu varsa (birçok erişim noktasında genellikle vardır), bu dosya olmayabilir.

    #!/bin/bash
    echo "$0: işlem başlatılıyor"
    # IP adresinin atanması
    /sbin/ifconfig eth0 192.168.1.5 netmask 255.255.255.0
    echo "$0: işlem tamam"