大雪山 銀線台 
Date/Time: 2015:09:21 07:56:50
Camera: PENTAX
Model: PENTAX K-5 II s
Exporsure Time: 1/160 [s]
FNumber: 9.0
Aperture Value: 6.3
Focal Length: 21.0 [mm]

y2blog » ArubaのAPを用いて認証VLANを実装してみる#3(自己認証証明書の設定)

5

06

2025

ArubaのAPを用いて認証VLANを実装してみる#3(自己認証証明書の設定)

自己認証局を作成しサーバ証明書やクライアント証明書を発行する


今回はクライアントPCとRADIUSサーバ間でEAP認証(802.1x)を行うが、実装が容易でそれなりに利用実績が多いPEAP(MS-CHAPV2)プロトコルをメインとして用いることにする.PEAPではEAPの通信内容がTLSによって暗号化された状態で行われる.この暗号化通信を行うためにPKI証明書(PEAPではサーバ証明書)が必要になる.


FreeRADIUSにはこのPKI証明書をユーザが自分自身で発行できるように、自己認証局(所謂オレオレ認証局、オレオレ証明書)を簡単に立ち上げることができるように、スクリプトファイルやMakefileが用意されている.今回はFreeRADIUSの自己認証局作成ツールを用いることにする.


FreeRADIUSのPKI証明書関連の設定ファイルは、”/etc/raddb/certs” 配下に置かれている.”REAME” ファイルに各種証明書を発行するための手順が記載されているので、このドキュメントを参照しながら証明書を発行すると良いだろう.


先ず最初に行うことは、証明書にお墨付きを与える認証局を設置することだ.認証局の設定ファイルは “ca.cnf” で、予め記載されている項目を、自分の環境に合わせて適宜修正する. 証明書の有効期間が30日と短いので、自分で管理しやすい適当な期間に設定を変更する.自己認証局なので任意の期間を設定可能だが、あまり期間を長くするとセキュリティー的に問題があるので、1年〜数年程度が現実的な期間だろう.同様に失効リストの更新間隔も適切に設定しておくこと.企業などでは退職者を失効リストに記載して、退職者の証明書を失効させることが可能だが、この間隔を長くしすぎると、退職後も暫くの間失効されないので注意が必要だ.


企業などで自己認証局をきちんと運用を行うには失効リスト(Certificate Revocation List)を正しく設定しなければならないが、運用の手間を考えるとこの失効リストを維持・管理することは難しい.今回は家庭での自己認証局なので、EAP認証の設定ファイルで、証明書のCRL情報をチェックしないことにする.


認証局の作成




[root@nsauth6 certs]# pwd
/etc/raddb/certs

[root@nsauth6 certs]# ls -la
total 80
drwxrwx---. 2 root radiusd 4096 May  6 21:36 .
drwxr-xr-x. 9 root radiusd 4096 May  6 19:00 ..
-rw-r-----. 1 root radiusd 6739 Nov 13 01:30 Makefile
-rw-r-----. 1 root radiusd 8876 Nov 13 01:30 README
-rwxr-x---. 1 root radiusd 2940 Nov 13 01:30 bootstrap
-rw-r-----  1 root radiusd 1421 May  6 21:19 ca.cnf
-rw-r-----  1 root radiusd 1432 May  6 14:12 ca.cnf.org
-rw-r-----  1 root radiusd 1096 May  6 21:20 client.cnf
-rw-r-----  1 root radiusd 1103 May  6 14:12 client.cnf.org
-rw-r-----  1 root radiusd 1121 May  6 21:16 inner-server.cnf
-rw-r-----  1 root radiusd 1131 May  6 21:12 inner-server.cnf.org
-rw-r--r--  1 root radiusd  164 May  6 21:26 passwords.mk
-rw-r--r--  1 root radiusd  166 May  6 16:11 passwords.mk.org
-rw-r-----  1 root radiusd 1618 May  6 21:22 server.cnf
-rw-r-----  1 root radiusd 1627 May  6 14:12 server.cnf.org
-rw-r-----  1 root radiusd 3048 May  6 21:36 xpextensions
-rw-r-----  1 root radiusd 3046 May  6 21:32 xpextensions.org
[root@nsauth6 certs]# 

【"/etc/raddb/certs/ca.cnf" 】

[ ca ]
default_ca		= CA_default

[ CA_default ]
dir			= ./
certs			= $dir
crl_dir			= $dir/crl
database		= $dir/index.txt
new_certs_dir		= $dir
certificate		= $dir/ca.pem
serial			= $dir/serial
crl			= $dir/crl.pem
private_key		= $dir/ca.key
RANDFILE		= $dir/.rand
name_opt		= ca_default
cert_opt		= ca_default
default_days		= 60                <=== 証明書の有効期間(日数)
default_crl_days	= 30                <=== 証明書の失効確認間隔(日数)
default_md		= sha256
preserve		= no
policy			= policy_match
crlDistributionPoints	= URI:http://www.example.org/example_ca.crl  <=== 証明書失効リストのURL

[ policy_match ]
countryName		= match
stateOrProvinceName	= match
organizationName	= match
organizationalUnitName	= optional
commonName		= supplied
emailAddress		= optional

[ policy_anything ]
countryName		= optional
stateOrProvinceName	= optional
localityName		= optional
organizationName	= optional
organizationalUnitName	= optional
commonName		= supplied
emailAddress		= optional

[ req ]
prompt			= no
distinguished_name	= certificate_authority
default_bits		= 2048
input_password		= whatever
output_password		= whatever
x509_extensions		= v3_ca

[certificate_authority]
countryName		= FR                                <=== 認証局の情報(国レベル)
stateOrProvinceName	= Radius                            <=== (州、県レベル)
localityName		= Somewhere                         <=== (郡や市町村レベル)
organizationName	= Example Inc.                      <=== (組織・部局などの情報)
emailAddress		= admin@example.org                 <=== (管理メールアドレスなど)
commonName		= "Example Certificate Authority"  <=== (認証局の名称)

[v3_ca]
subjectKeyIdentifier	= hash
authorityKeyIdentifier	= keyid:always,issuer:always
basicConstraints	= critical,CA:true
crlDistributionPoints



"ca.cnf"ファイルの設定が終わったら、認証局を作成する一連のスクリプトを実行するが、"Makefile" の内容に従ってmakeを実行するが、その前に証明書失効URLの情報を "xpextensions" に設定する.




【"/etc/raddb/certs/xpextensions"】

#
#  File containing the OIDs required for Windows
#  and iOS
#
#  http://support.microsoft.com/kb/814394/en-us
#
#  https://support.apple.com/en-us/HT210176
#
[ xpclient_ext]
extendedKeyUsage = 1.3.6.1.5.5.7.3.2
crlDistributionPoints = URI:http://www.example.com/example_ca.crl  <=== 証明書失効リストのURL

[ xpserver_ext]
extendedKeyUsage = 1.3.6.1.5.5.7.3.1
crlDistributionPoints = URI:http://www.example.com/example_ca.crl  <=== 証明書失効リストのURL

# Enterprise Wi-Fi clients from 2020 onwards which have the
# Wi-Fi Certified WPA3 Release 2 (December 2019) certification 
# honour the following two policies for enhanced security 
# posture regarding certificate validation:
#
 
 ...


認証局の作成や各種証明書の作成に失敗した場合は、設定ファイルを修正し、作業ファイル類を削除する.

    rm -f *.pem *.der *.csr *.crt *.key *.p12 serial* index.txt*




[root@nsauth6 certs]# make ca.pem     <=== 認証局を作成

[root@nsauth6 certs]# make ca.pem
make[1]: Entering directory '/etc/raddb/certs'
make[1]: Leaving directory '/etc/raddb/certs'
make[1]: Entering directory '/etc/raddb/certs'
make[1]: Leaving directory '/etc/raddb/certs'
openssl req -new -x509 -keyout ca.key -out ca.pem \
	-days '360' -config ./ca.cnf \
	-passin pass:'whatever' -passout pass:'whatever' -noenc
.......+......+.........+........+.........+++++++++++++++++++++++++++++++++++++++*..+..+.+..+......+.+.....

 ...

......+...+..+...+.......+...++++++
-----
chmod g+r ca.key
chown root:radiusd ca.*
chmod 640 ca.*
[root@nsauth6 certs]# 

root@nsauth6 certs]# ls -la
total 92
drwxrwx---. 2 root radiusd 4096 May  6 21:45 .
drwxr-xr-x. 9 root radiusd 4096 May  6 19:00 ..
-rw-r-----. 1 root radiusd 6739 Nov 13 01:30 Makefile
-rw-r-----. 1 root radiusd 8876 Nov 13 01:30 README
-rwxr-x---. 1 root radiusd 2940 Nov 13 01:30 bootstrap
-rw-r-----  1 root radiusd 1421 May  6 21:19 ca.cnf
-rw-r-----  1 root radiusd 1432 May  6 14:12 ca.cnf.org
-rw-r-----  1 root radiusd 1704 May  6 21:45 ca.key
-rw-r-----  1 root radiusd 1684 May  6 21:45 ca.pem
-rw-r-----  1 root radiusd 1096 May  6 21:20 client.cnf
-rw-r-----  1 root radiusd 1103 May  6 14:12 client.cnf.org
-rw-r--r--  1 root root       0 May  6 21:45 index.txt
-rw-r-----  1 root radiusd 1121 May  6 21:16 inner-server.cnf
-rw-r-----  1 root radiusd 1131 May  6 21:12 inner-server.cnf.org
-rw-r--r--  1 root radiusd  164 May  6 21:26 passwords.mk
-rw-r--r--  1 root radiusd  166 May  6 16:11 passwords.mk.org
-rw-r--r--  1 root root       3 May  6 21:45 serial
-rw-r-----  1 root radiusd 1618 May  6 21:22 server.cnf
-rw-r-----  1 root radiusd 1627 May  6 14:12 server.cnf.org
-rw-r-----  1 root radiusd 3048 May  6 21:36 xpextensions
-rw-r-----  1 root radiusd 3046 May  6 21:32 xpextensions.org
[root@nsauth6 certs]# cat serial
01
[root@nsauth6 certs]# 

[root@nsauth6 certs]# cat ca.key
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCx3FXvuOylK79Y
sH9zgXdYMt8GM86lq4XWnV2DRFIjDDh3PqMv8Ovls0GVl04NOT8EkNqf/tZ3aLRR
XMhPxNI4gr/FGaqdXbkdS86zj/0vFQj+BpZRogykSt05I6kOgsU0NA2CIO8TEZub

 ...

7UBkk3NYFApKgQ9SwdCA4VbzqtHCPGpPFGCCzPthAoGAZlAUJxnaslC2GCD7YqKi
aDcypS+RcjGUqIhaoxXwW31ILVsr89uePpajMxoa/6gTPua8JrolcNbaju1OVnGZ
6wTII9KHaItOsCuoMeWp/keZDlpB2PuEn00RFcBdHoj0s+eTA3XWAi4/7a9N9irX
fYY0vfuDf4cLEV6lKQsTN78=
-----END PRIVATE KEY-----

[root@nsauth6 certs]# cat ca.pem  
-----BEGIN CERTIFICATE-----
MIIErTCCA5WgAwIBAgIUPWigtEFpnUh90pY7u/zHUWuQDMUwDQYJKoZIhvcNAQEL
BQAweTELMAkGA1UEBhMCSlAxETAPBgNVBAgMCEthbmFnYXdhMREwDwYDVQQHDAhZ
b2tvaGFtYTEPMA0GA1UECgwGWTJUZWNoMR8wHQYJKoZIhvcNAQkBFhBhZG1pbkB5

 ...

vBb+0sXwmWnVd6rts/j40spp6wLq+k9MWCMpBaSlYUNXrThUsu9IWBrIdv6LBvu
LEO9FLyKZqleCdbHHNoRKN97rTJ9LqeAfLNeyCLCzN4jgu/GqL/0E2yhjkCx3stl
0B+dTIa6pEe9iMsXt4gQPT1FMYpcSDHxKyMbHTj7zUuCvcrS7PkHFp6qQH3u4kde
Ew==
-----END CERTIFICATE-----
[root@nsauth6 certs]# 


実行結果のメッセージ出力から判るように、"make ca.pem" は単純にopensslコマンドを実行しているだけだ.この辺の手順は普段サーバ証明書の発行手続きを行ったことがあれば、makeを使わずに自分で手動で設定しても良いだろう.



サーバ証明書の作成

サーバ証明書発行用の設定ファイルは "/etc/raddb/certs/server.cnf" で、認証局の場合と同様に有効期間など必要な項目を修正しておく.[server]の項目にある、"commonName" にはそのサーバの名前を記載するが、WEBサーバ用の証明書の場合は必ずサイトのFQDNを記載することになるが、WEBサーバではないのでFQDNである必要は無い.一般的には、"commonName"としてRADIUSサーバのFQDNを記載しておく方が無難だ.





[root@nsauth6 certs]# make server.pem   <=== サーバ証明書の発行
openssl req -new  -out server.csr -keyout server.key -config ./server.cnf -noenc
...........+...+...+..+.+.....+.+....

 ...

+......+......+.+..............++++++
-----
chmod g+r server.key
openssl ca -batch -keyfile ca.key -cert ca.pem -in server.csr  -key 'whatever' -out server.crt -extensions xpserver_ext -extfile xpextensions -config ./server.cnf
Using configuration from ./server.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 1 (0x1)
        Validity
            Not Before: May  6 12:47:33 2025 GMT
            Not After : May  1 12:47:33 2026 GMT
        Subject:
            countryName               = JP
            stateOrProvinceName       = Kanagawa
            organizationName          = Y2Tech
            commonName                = auth.vl100.home.yoko
            emailAddress              = admin@xxxx.yyyy
        X509v3 extensions:
            X509v3 Extended Key Usage: 
                TLS Web Server Authentication
            X509v3 CRL Distribution Points: 
                Full Name:
                  URI:https://auth.vl100.home.yoko/y2ca/y2_ca.crl
            X509v3 Certificate Policies: 
                Policy: 1.3.6.1.4.1.40808.1.3.2
Certificate is to be certified until May  1 12:47:33 2026 GMT (360 days)

Write out database with 1 new entries
Database updated
openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12  -passin pass:'whatever' -passout pass:'whatever'
chmod g+r server.p12
openssl pkcs12 -in server.p12 -out server.pem -passin pass:'whatever' -passout pass:'whatever'
chmod g+r server.pem
chown root:radiusd server.*
chmod 640 server.*

[root@nsauth6 certs]# ls -la
total 136
drwxrwx---. 2 root radiusd 4096 May  6 21:47 .
drwxr-xr-x. 9 root radiusd 4096 May  6 19:00 ..
-rw-r--r--  1 root root    4804 May  6 21:47 01.pem
-rw-r-----. 1 root radiusd 6739 Nov 13 01:30 Makefile
-rw-r-----. 1 root radiusd 8876 Nov 13 01:30 README
-rwxr-x---. 1 root radiusd 2940 Nov 13 01:30 bootstrap
-rw-r-----  1 root radiusd 1421 May  6 21:19 ca.cnf
-rw-r-----  1 root radiusd 1432 May  6 14:12 ca.cnf.org
-rw-r-----  1 root radiusd 1704 May  6 21:45 ca.key
-rw-r-----  1 root radiusd 1684 May  6 21:45 ca.pem
-rw-r-----  1 root radiusd 1096 May  6 21:20 client.cnf
-rw-r-----  1 root radiusd 1103 May  6 14:12 client.cnf.org
-rw-r--r--  1 root root     109 May  6 21:47 index.txt
-rw-r--r--  1 root root      21 May  6 21:47 index.txt.attr
-rw-r--r--  1 root root       0 May  6 21:45 index.txt.old
-rw-r-----  1 root radiusd 1121 May  6 21:16 inner-server.cnf
-rw-r-----  1 root radiusd 1131 May  6 21:12 inner-server.cnf.org
-rw-r--r--  1 root radiusd  164 May  6 21:26 passwords.mk
-rw-r--r--  1 root radiusd  166 May  6 16:11 passwords.mk.org
-rw-r--r--  1 root root       3 May  6 21:47 serial
-rw-r--r--  1 root root       3 May  6 21:45 serial.old
-rw-r-----  1 root radiusd 1618 May  6 21:22 server.cnf
-rw-r-----  1 root radiusd 1627 May  6 14:12 server.cnf.org
-rw-r-----  1 root radiusd 4804 May  6 21:47 server.crt
-rw-r-----  1 root radiusd 1184 May  6 21:47 server.csr
-rw-r-----  1 root radiusd 1704 May  6 21:47 server.key
-rw-r-----  1 root radiusd 2803 May  6 21:47 server.p12
-rw-r-----  1 root radiusd 3758 May  6 21:47 server.pem
-rw-r-----  1 root radiusd 3048 May  6 21:36 xpextensions
-rw-r-----  1 root radiusd 3046 May  6 21:32 xpextensions.org
[root@nsauth6 certs]# 
[root@nsauth6 certs]# cat server.key
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDHYg7yrij1T/O3
ARPzO2wd14yf5p0CMygI+2jVoW+DYwByduchgIVtk0LypdGPR6FEnPsa07il34xe
BD6RR+AoE+fLNixkiuvbtbgGfO6IFqa3prUcOEf/0eEg3AlMVcQflylrIokqHmUW

  ...

m3x0zETKHc4C6K2fK8DpOVHi73mkDp3DzYEGb122cApVJcDPSnms0PgP5usDOxVU
yK/cGyxaCyAhUnD/sMOEpTknUPqo1FO6EzJbKrG4bMrJII1XURh4zfCk0GPJuTo/
T+3DfEoQe4q+CK5CVW3uKA==
-----END PRIVATE KEY-----
[root@nsauth6 certs]# cat server.pem
Bag Attributes
    localKeyID: 8A E1 94 44 E9 AA AD 26 2E CE 5E 96 44 A4 5C C7 3F 2D 5E 4B 
subject=C=JP, ST=Kanagawa, O=Y2Tech, CN=auth.vl100.home.yoko, emailAddress=admin@xxxx.yyyy
issuer=C=JP, ST=Kanagawa, L=Yokohama, O=Y2Tech, emailAddress=admin@xxxx.yyyy, CN=Y2Tech CA
-----BEGIN CERTIFICATE-----
MIIEETCCAvmgAwIBAgIBATANBgkqhkiG9w0BAQsFADB5MQswCQYDVQQGEwJKUDER
MA8GA1UECAwIS2FuYWdhd2ExETAPBgNVBAcMCFlva29oYW1hMQ8wDQYDVQQKDAZZ
MlRlY2gxHzAdBgkqhkiG9w0BCQEWEGFkbWluQHkydGVjaC5uZXQxEjAQBgNVBAMM

 ... 

Crv2VI2GhmqiCIrexUUKEsx/BtI1o8TeSXwFd2ldHxUv8WUQEgJSQEISM2u7+4C6
JsiCbSNGtYmYQeKcQobJL0ujMfcZBxdilOz9QQEjy/5/CeLUlm2geFsb2OSvSzgK
1/PHIv1kwpNHWqJFzMFIxt3TuSfL66THkQrQl6JAhozuEZA6nW955Vs4nWmTBEBd
/9mouDiveRS+74UE7Z9cjC58esugXT1pn+wD4mUdbeeYy5gPeg==
-----END CERTIFICATE-----
Bag Attributes
    localKeyID: 8A E1 94 44 E9 AA AD 26 2E CE 5E 96 44 A4 5C C7 3F 2D 5E 4B 
Key Attributes: 
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFNTBfBgkqhkiG9w0BBQ0wUjAxBgkqhkiG9w0BBQwwJAQQxZ16/OYd7Z7Ql9T3
saPE8AICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEASoEEMgjfIyjDnZSSHQ3
ntqDZSIEggTQtHn9V2dQ/PvSG2GC3YeMNepzlHFZOF7W9dAoNqU4cNk/6/6koMOs
6sV8nUGQpay26SlfKjww+MGg+g2QJGbs3H5N5NzKEFont0p7BEJhpXcN/APt9bUR

 ...

jmoEL+6kk3lAOoagczww0m/dm8ypCPe/OZG22Hbm3+g/nsUaUQJHT8DpOgGernV8
FqNVeFzG8Pewe+BtP+yhvmxEdAkvwOlnkjyW876jBfmJznt9Hv5CI5XsGJYDIuRS
sT9RmUIQSi+7gl2sLOw/EPybfN7Rcr2vy2IQ9RiF8nqmvQ6DEPxicoprHM3nmSPL
oJcSowuf89cebL00oVFsKwgu4Z+6zTCNQYX50w0hxjgLIqWwmx0A9ww=
-----END ENCRYPTED PRIVATE KEY-----

"make server.pem" が行っている内容も、実行結果のログから一連のopensslコマンドを実行していることが確認できる.


今回はMS-CHAP(PEAP)方式を採用するのでえ、クライアント証明書を発行する必要は無いが、EAP-TLS方式を採用する場合は同様に "make client.pem" を実行して、クライアント証明書を発行することが可能だ.





[root@nsauth6 certs]# make client.pem
openssl req -new  -out client.csr -keyout client.key -config ./client.cnf -noenc
.....+...........+..........+.....+................+......+..+.+..+++++++++++++++++++++++++++++++++++++++*...+++++++++++++++

...

...+...+.........+..+.+..+......+...................+..++++++
-----
chmod g+r client.key
openssl ca -batch -keyfile ca.key -cert ca.pem -in client.csr  -key 'whatever' -out client.crt -extensions xpclient_ext -extfile xpextensions -config ./client.cnf
Using configuration from ./client.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 2 (0x2)
        Validity
            Not Before: May  6 13:01:11 2025 GMT
            Not After : May  1 13:01:11 2026 GMT
        Subject:
            countryName               = JP
            stateOrProvinceName       = Kanagawa
            organizationName          = Y2Tech
            commonName                = nanashi@y2tech.net
            emailAddress              = nanashi@y2tech.net
        X509v3 extensions:
            X509v3 Extended Key Usage: 
                TLS Web Client Authentication
            X509v3 CRL Distribution Points: 
                Full Name:
                  URI:https://auth.vl100.home.yoko/y2ca/y2_ca.crl
Certificate is to be certified until May  1 13:01:11 2026 GMT (360 days)

Write out database with 1 new entries
Database updated
openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12  -passin pass:'whatever' -passout pass:'whatever'
chmod g+r client.p12
openssl pkcs12 -in client.p12 -out client.pem -passin pass:'whatever' -passout pass:'whatever'
chmod g+r client.pem
cp client.pem 'y2@y2tech.net'.pem
chown root:radiusd client.*
chmod 640 client.*
[root@nsauth6 certs]# 

[root@nsauth6 certs]# cat client.crt
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 2 (0x2)
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=JP, ST=Kanagawa, L=Yokohama, O=Y2Tech/emailAddress=admin@y2tech.net, CN=Y2Tech CA
        Validity
            Not Before: May  6 13:01:11 2025 GMT
            Not After : May  1 13:01:11 2026 GMT
        Subject: C=JP, ST=Kanagawa, O=Y2Tech, CN=nanashi@y2tech.net/emailAddress=nanashi@y2tech.net
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:93:6e:71:61:c7:33:7d:f5:23:9f:61:0c:49:19:
                    8a:7a:ec:96:72:5e:7b:fc:11:fe:0f:ce:bd:02:a1:
                    51:d9:a6:41:4c:da:78:e4:95:91:00:2b:21:e2:e7:
                    73:0c:04:f3:32:eb:66:a3:cf:17:66:0b:e0:25:b8:
                    2c:8f:83:3c:e6:25:03:fe:f2:54:5b:af:6c:14:ac:
                    8c:aa:09:68:f2:36:d0:e9:c7:a1:e6:0a:ec:ac:20:
                    51:1b:41:e1:73:87:6e:f9:82:b4:bb:37:6e:e4:63:
                    dc:e4:7e:60:2d:f5:59:15:4b:fc:42:5d:f0:84:56:
                    78:3e:70:25:2a:b9:58:99:7f:dd:54:a2:c1:75:5b:
                    92:34:fb:fa:39:e9:dd:fd:48:54:62:fe:0b:ea:c3:
                    58:7c:a6:74:f1:6f:2b:f9:0d:79:86:29:01:ff:b2:
                    9a:f6:fa:a8:b5:22:8a:18:f4:f1:04:b0:74:de:f8:
                    8c:39:c5:50:d5:21:a4:93:2a:98:c7:75:0c:72:6d:
                    42:3e:f2:b8:f9:17:ca:4d:ce:dc:ed:91:c6:3d:fa:
                    7e:8d:ce:b3:e3:f7:c2:91:2e:b8:b8:b0:0b:e8:08:
                    f0:3c:ce:0b:87:f8:30:f1:75:19:8f:4a:6e:b6:8e:
                    14:a2:29:c6:f1:48:b3:d8:f9:2e:d0:77:6c:9e:75:
                    2d:39
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Extended Key Usage: 
                TLS Web Client Authentication
            X509v3 CRL Distribution Points: 
                Full Name:
                  URI:https://auth.vl100.home.yoko/y2ca/y2_ca.crl
            X509v3 Subject Key Identifier: 
                BF:32:DF:77:4B:CF:9D:B8:71:A9:BC:E4:65:69:2C:F3:28:4B:81:43
            X509v3 Authority Key Identifier: 
                DC:A1:19:DC:B4:F8:90:10:76:25:86:BE:B5:14:16:56:A3:97:07:82
    Signature Algorithm: sha256WithRSAEncryption
    Signature Value:
        c0:ed:58:64:f3:45:38:35:3a:2b:7d:ea:07:7d:7a:1a:b7:37:
        26:b2:8c:16:7b:44:8d:bb:8c:17:4a:5f:0b:09:eb:dc:7f:21:
        e6:84:f2:55:71:02:f7:5c:57:9b:7d:c4:c7:69:53:68:72:95:
        8c:52:fc:df:7a:f4:d1:b0:ca:81:98:5a:2b:88:c2:eb:cb:26:
        a5:f1:48:03:13:36:aa:e6:ab:db:26:dd:bf:a8:48:dd:33:75:
        a4:15:5d:a5:08:c8:8e:da:71:a8:f4:85:8e:d9:ef:9f:9d:77:
        3d:0d:8f:63:2b:db:70:ef:6d:bb:01:e6:53:98:11:43:65:62:
        55:50:73:84:65:71:cf:25:67:5c:58:8f:2a:5f:25:84:05:90:
        9c:89:f6:0a:33:3a:a3:36:40:1d:73:72:7f:56:37:24:48:5a:
        12:d1:a6:38:e3:bb:b9:d1:c4:80:54:80:6d:49:ab:06:bf:3d:
        4f:96:4c:b7:d2:e6:7e:67:62:aa:08:81:ff:98:26:4c:bf:27:
        4e:0b:f3:dd:9e:f7:e7:3c:27:33:4a:13:6b:6c:69:d6:57:dc:
        da:eb:77:ed:c0:3e:ee:df:0d:4d:6a:7f:2a:99:6c:26:f4:24:
        cf:1f:84:ec:7b:1d:8f:13:b7:3a:b6:df:fc:04:33:c7:72:bd:
        5b:dc:c0:39
-----BEGIN CERTIFICATE-----
MIID8jCCAtqgAwIBAgIBAjANBgkqhkiG9w0BAQsFADB5MQswCQYDVQQGEwJKUDER
MA8GA1UECAwIS2FuYWdhd2ExETAPBgNVBAcMCFlva29oYW1hMQ8wDQYDVQQKDAZZ

 ...

nvfnPCczShNrbGnWV9za63ftwD7u3w1Nan8qmWwm9CTPH4Tsex2PE7c6tt/8BDPH
cr1b3MA5
-----END CERTIFICATE-----


[root@nsauth6 certs]# cat client.pem
Bag Attributes
    localKeyID: 1D EB 5D 7E 2D A6 7D E2 CA 45 0D C1 8F 11 99 4B 62 7B 4F 32 
subject=C=JP, ST=Kanagawa, O=Y2Tech, CN=nanashi@y2tech.net, emailAddress=nanashi@y2tech.net
issuer=C=JP, ST=Kanagawa, L=Yokohama, O=Y2Tech, emailAddress=admin@y2tech.net, CN=Y2Tech CA
-----BEGIN CERTIFICATE-----
MIID8jCCAtqgAwIBAgIBAjANBgkqhkiG9w0BAQsFADB5MQswCQYDVQQGEwJKUDER
MA8GA1UECAwIS2FuYWdhd2ExETAPBgNVBAcMCFlva29oYW1hMQ8wDQYDVQQKDAZZ

  ...

nvfnPCczShNrbGnWV9za63ftwD7u3w1Nan8qmWwm9CTPH4Tsex2PE7c6tt/8BDPH
cr1b3MA5
-----END CERTIFICATE-----
Bag Attributes
    localKeyID: 1D EB 5D 7E 2D A6 7D E2 CA 45 0D C1 8F 11 99 4B 62 7B 4F 32 
Key Attributes: 
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFNTBfBgkqhkiG9w0BBQ0wUjAxBgkqhkiG9w0BBQwwJAQQdEwYVf3BU5yo4w1x
0/OR7wICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEASoEEKcR8RCh/Yr+ZTZj

 ...

x1QG7Peu4+r4BiS5SLMom8dHlyIOrGNceoGVYSy02JWjguW840lHxBqPYxXotKq8
TwDCumB0NDDvSQlrCinCjftGhZPQzI45owS7zRPOFcwleoTIttaiF0Q=
-----END ENCRYPTED PRIVATE KEY-----
[root@nsauth6 certs]# 

root@nsauth6 certs]# ls -la
total 180
drwxrwx---. 2 root radiusd 4096 May  6 22:01 .
drwxr-xr-x. 9 root radiusd 4096 May  6 19:00 ..
-rw-r--r--  1 root root    4813 May  6 21:58 01.pem
-rw-r--r--  1 root root    4665 May  6 22:01 02.pem
-rw-r-----. 1 root radiusd 6739 Nov 13 01:30 Makefile
-rw-r-----. 1 root radiusd 8876 Nov 13 01:30 README
-rwxr-x---. 1 root radiusd 2940 Nov 13 01:30 bootstrap
-rw-r-----  1 root radiusd 1421 May  6 21:19 ca.cnf
-rw-r-----  1 root radiusd 1432 May  6 14:12 ca.cnf.org
-rw-r-----  1 root radiusd 1704 May  6 21:58 ca.key         <=== CA秘密鍵
-rw-r-----  1 root radiusd 1679 May  6 21:58 ca.pem         <=== CA証明書
-rw-r-----  1 root radiusd 1096 May  6 21:20 client.cnf
-rw-r-----  1 root radiusd 1103 May  6 14:12 client.cnf.org
-rw-r-----  1 root radiusd 4665 May  6 22:01 client.crt    <=== クライアント証明書
-rw-r-----  1 root radiusd 1029 May  6 22:01 client.csr
-rw-r-----  1 root radiusd 1704 May  6 22:01 client.key   <=== クライアント秘密鍵
-rw-r-----  1 root radiusd 2771 May  6 22:01 client.p12     <=== クライアント証明書(P12形式)
-rw-r-----  1 root radiusd 3704 May  6 22:01 client.pem     <=== クライアント証明書(PEM形式)
-rw-r--r--  1 root root     208 May  6 22:01 index.txt
-rw-r--r--  1 root root      21 May  6 22:01 index.txt.attr
-rw-r--r--  1 root root      21 May  6 21:58 index.txt.attr.old
-rw-r--r--  1 root root     109 May  6 21:58 index.txt.old
-rw-r-----  1 root radiusd 1121 May  6 21:16 inner-server.cnf
-rw-r-----  1 root radiusd 1131 May  6 21:12 inner-server.cnf.org
-rw-r--r--  1 root radiusd  164 May  6 21:26 passwords.mk
-rw-r--r--  1 root radiusd  166 May  6 16:11 passwords.mk.org
-rw-r--r--  1 root root       3 May  6 22:01 serial
-rw-r--r--  1 root root       3 May  6 21:58 serial.old
-rw-r-----  1 root radiusd 1618 May  6 21:22 server.cnf
-rw-r-----  1 root radiusd 1627 May  6 14:12 server.cnf.org
-rw-r-----  1 root radiusd 4813 May  6 21:58 server.crt      <=== サーバ証明書
-rw-r-----  1 root radiusd 1184 May  6 21:58 server.csr
-rw-r-----  1 root radiusd 1704 May  6 21:58 server.key      <=== サーバ秘密鍵
-rw-r-----  1 root radiusd 2819 May  6 21:58 server.p12      <=== サーバ証明書(P12形式)
-rw-r-----  1 root radiusd 3762 May  6 21:58 server.pem      <=== サーバ証明書(PEM形式)
-rw-r-----  1 root radiusd 3058 May  6 21:57 xpextensions
-rw-r-----  1 root radiusd 3046 May  6 21:32 xpextensions.org
-rw-r-----  1 root root    3704 May  6 22:01 nanashi@y2tech.net.pem  <=== クライアント証明書(PEM形式)
[root@nsauth6 certs]# 


MS-CHAP(PEAP)の設定


自己認証局によるサーバ証明書の発行ができたところで、RADIUSサーバにEAP-PEAP(MSCHAPV2)認証を行うための設定を加えて行くことにする.


FreeRADIUSサーバで、EAP認証関連の設定は "etc/raddb/mods-available/eap" で行う.

Calendar

May 2025
S M T W T F S
 123
45678910
11121314151617
18192021222324
25262728293031
  • Blogroll

  • Meta