Kimlik Kanıtlama Sunucusu: FreeRADIUS'un Kurulması

FreeRADIUS tamamen GPL'li RADIUS sunucu uygulamasıdır. Kimlik kanıtlama mekanizmalarını geniş çapta destekler, ama bu belgede örnek olarak PEAP kullanılmıştır.

FreeRADIUS'un Kurulumu

Yönerge 4.1. Kurulum

  1. FreeRADIUS sitesine gidin, http://www.freeradius.org/ ve en son sürümü indirin.

    # cd /usr/local/src
    # wget ftp://ftp.freeradius.org/pub/radius/freeradius-1.0.0.tar.gz
    # tar zxfv freeradius-1.0.0.tar.gz
    # cd freeradius-1.0.0
    

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

    # ./configure
    # make
    # make install
    

    configure betiğini çalıştırırken seçenek belirtebilirsiniz. Daha fazla bilgi için ./configure --help kullanın veya README dosyasını okuyun.

Çalıştırabilir dosyalar /usr/local/bin ve /usr/local/sbin'e, yapılandırma dosyaları ise /usr/local/etc/raddb altına kurulur.

Eğer birşey yanlış giderse, kaynakla birlikte gelen INSTALL ve README dosyalarını okuyun. RADIUS SSS'de değerli bilgiler içerir.

FreeRADIUS'un Yapılandırılması

FreeRADIUS büyük ve güçlü bir yapılandırma dosyasına sahiptir. O kadar büyüktür ki, bu dosya daha küçük birkaç dosyaya parçalanıp daha sonra bu dosyalar ana radius.conf dosyasına "dahil edilmektedir".

İstediğinizi yapmanız için FreeRADIUS'u kullanmanın ve ayağa kaldırmanın çeşitli yolları vardır: örn., kullanıcı bilgisini LDAP, SQL, PDC, Kerberos, vs.'den alın. Bu belgede, düz metin dosyası users'taki kullanıcı bilgisi kullanılmaktadır.

İpucu

Yapılandırma dosyalarına ayrıntılı bir şekilde yorum satırları eklenmiştir, ama eğer yeterli gelmezse kaynakla birlikte gelen doc/ dizini ek bilgi içerir.

Yönerge 4.2. Yapılandırma

  1. Yapılandırma dosyaları /usr/local/etc/raddb/ altında bulunabilir.

    # cd /usr/local/etc/raddb/
    

  2. Ana yapılandırma dosyasıradiusd.conf'u açın, ve yorum satırlarını okuyun! Şifreli PEAP tüneli içinde, MS-CHAPv2 kimlik kanıtlama mekanizması kullanılır.

    1. MPPE [RFC3078] PMK'yi AP'ye göndermekten sorumludur. Aşağıdaki ayarların yapıldığından emin olun:

      # MODULES altında mschap'ın yorum satırı gibi yer almadığından emin olun!
      mschap {
        # authtype değeri, eğer varsa, kimlik kanıtlama süresince
        # Auth-Type'ın üstüne yazmak (veya eklemek) için kullanılacak.
        # Normalde, MS-CHAP olmalı.
        authtype = MS-CHAP
      
        # eğer use_mppe no'ya ayarlanmamışsa, mschap,
        # MS-CHAPv2 için,MS-CHAPv1 ve MS-MPPE-Recv-Key/MS-MPPE-Send-Key
        # için MS-CHAP-MPPE-Keys ekleyecektir.
        use_mppe = yes
      
        # eğer mppe etkinse, require_encryption ile
        # şifreleme etkinleştirilebilir.
        #
        require_encryption = yes
      
        # require_strong her zaman 128 bitlik anahtar
        # şifrelemesi gerektirir.
        #
        require_strong = yes
      
        authtype = MS-CHAP
        # modül kimlik kanıtlamayı kendi kendine yapabilir VEYA
        # bir Windows Domain Controller kullanabilir. Bunun nasıl
        # yapılacağı için radius.conf dosyasına bakınız.
      }
      

    2. authorize ve authenticate'in şunları içerdiğinden emin olun:

      authorize {
          preprocess
          mschap
          suffix
          eap
          files
      }
      
      authenticate {
      
            #
            #  MSCHAP kimlik kanıtlaması.
            Auth-Type MS-CHAP {
                  mschap
            }
      
            #
            #  EAP kimlik kanıtlamasına izin ver.
            eap
        }
      

  3. clients.conf dosyasını hangi ağa hizmet ettiğini belirlemek için değiştirin:

    # Burada, hangi ağa hizmet verdiğimizi belirliyoruz:
    client 192.168.0.0/16 {
        # Bu Kimlik Kanıtlayıcı (erişim noktası) ve Kimlik
        # Kanıtlama Sunucusu (RADIUS) arasında paylaşılan sırdır.
        secret          = SharedSecret99
        shortname       = testnet
    }
    

  4. eap.conf da oldukça açık olmalı.

    1. default_eap_typepeap'e ayarlayınız:

      default_eap_type = peap
      

    2. PEAP TLS kullandığı için TLS bölümü şunları içermeli:

      tls {
          # Özel anahtar parolası
             private_key_password = SecretKeyPass77
          # Özel anahtar
          private_key_file = ${raddbdir}/certs/cert-srv.pem
          # Güvenilir Üst Sertifika Yetkilisi
          CA_file = ${raddbdir}/certs/demoCA/cacert.pem
          dh_file = ${raddbdir}/certs/dh
          random_file = /dev/urandom
          }
      

    3. peap bölümünü bulun ve aşağıdakini içerdiğinden emin olun:

      peap {
        #  Tünelli EAP oturumu tünelsiz EAP modülünden farklı
        #  bir EAP türüne ihtiyaç duyar.
        #  PEAP tünelinde Windows istemcileri tarafından
        #  desteklenen öntanımlı tür olarak MS-CHAPv2
        #  kullanmanızı tavsiye ederiz.
        default_eap_type = mschapv2
      }
      

  5. Kullanıcı bilgisi bir düz metin dosyası olan users'ta tutulur. Kullanıcı bilgisini tutmak için daha karmaşık bir çözüm tercih edilebilirdi (SQL, LDAP, PDC, vs.)., şu an bir IETF taslağıdır.

    users dosyasının aşağıdaki kaydı içerdiğinden emin olun:

    "testuser"      User-Password == "Secret149"