皆さん、悪いニュースです!Fedora 21には未修正のバグがあるようです:802.1x PEAP / MSCHAPv2との有線接続が機能していません。したがって、以下の回答は他のディストリビューションでも機能する可能性がありますが、Fedora 21ユーザーは現在不運です。
自分で試したことはありませんが、この投稿には、LinuxクライアントとWindowsドメイン間で802.1xをセットアップするためのかなり詳細なチュートリアルが含まれているようです。証明書要求の部分に注意してください。エクスポートできない証明書の問題を解決する必要があります。ソフトウェアのバージョンはかなり古い(Ubuntuは8.04であり、Beyond TrustのPower Brokerも同様です)が、基本的な考え方は固いようです。
上記の投稿を読みやすくするためにフォーマットしました。引用符を使用すると、コードボックスが灰色で灰色になるため、ドロップアウトしました。
免責事項:このガイドは、Linux Ubuntu 8.04ディストリビューションの観点から書かれています。これを他のLinuxまたはUnixディストリビューションで動作させるには、いくつかの変更が必要になる場合があります。
Linuxマシンが802.1xを介して認証するために必要な2つの主なものは、クライアント証明書とWindowsドメインのアカウントです。認証プロセス中、Linuxクライアントはコンピューター証明書をスイッチに提示し、スイッチは証明書を検証するRADIUSサーバーに提示し、Active Directoryで証明書が割り当てられているコンピューターアカウントを検証します。証明書とコンピューターアカウントが有効な場合、RADIUSサーバーは認証要求を承認してスイッチに送り返し、スイッチはLinuxボックスが接続されているポートを認証します。
最初に行う必要があるのは、LinuxコンピューターをWindowsドメインに参加させることです。LinuxはWindowsドメインにネイティブに参加できないため、これを行うために必要なソフトウェアをダウンロードする必要があります。同様に、これを行うためのソフトウェアを作成します。これをUbuntuにインストールするには、非常に簡単です。次の手順に従ってください。
- sudo apt-get update
- sudo apt-get同様に開く
- sudo domainjoin-cli join
enter the FQDN of your domain here
enter your admin account here
の形式を使用できますuser@domain.com
。また、次のようにして、GUIバージョンを使用することもできます。System → Administration → Likewise.
- sudo update-rc.d同様に開くデフォルト
- sudo /etc/init.d/likewise-open start
Ubuntuを実行していない場合は、http://www.likewisesoftware.com/products/likewise_openからソフトウェアをダウンロードできます。ドメインアカウントを使用してログアウトしてからログインし直すことができます。user@domain.com
とdomain \ userのどちらの形式でも機能すると思います。これは後でテストします。
この認証を実行するには、Linuxマシンに3つのファイルがあり、これらを正しく構成する必要があります。これらの3つのファイルは次のとおりです。
- /etc/wpa_supplicant.conf
- / etc / network / interfaces
- /etc/openssl/openssl.cnf
まず、Linuxマシンがクライアント証明書を使用して802.1x対応ネットワークを認証できるようにソフトウェアを構成します。wpa_supplicant
これに使用されます。
以下の手順に従って、wpa_supplicant.confファイルを構成します。
- sudo gedit /etc/wpa_supplicant.conf
以下をファイルに貼り付けて保存します。
# Where is the control interface located? This is the default path:
ctrl_interface=/var/run/wpa_supplicant
# Who can use the WPA frontend? Replace "0" with a group name if you
# want other users besides root to control it.
# There should be no need to chance this value for a basic configuration:
ctrl_interface_group=0
# IEEE 802.1X works with EAPOL version 2, but the version is defaults
# to 1 because of compatibility problems with a number of wireless
# access points. So we explicitly set it to version 2:
eapol_version=1
# When configuring WPA-Supplicant for use on a wired network, we don't need to
# scan for wireless access points. See the wpa-supplicant documentation if you
# are authenticating through 802.1x on a wireless network:
ap_scan=0
network={
ssid="<enter any name here, it doesn't matter>"
key_mgmt=IEEE8021X
eap=TLS
identity="<FQDN>/computers/<Linux computer name>"
client_cert="/etc/ssl/certs/<your authentication certificate name>.pem"
private_key="/etc/ssl/private/<your private key name>.pem"
}
次に、インターフェイスファイルを編集する必要があります。次の手順に従って、interfacesファイルを構成します。
- sudo gedit / etc / network / interfaces
eth0
インターフェイスの下のファイルに次を貼り付けて保存します。
# Configure the system to authenticate with WPA-Supplicant on interface eth0
wpa-iface eth0
# In this case we have a wired network:
wpa-driver wired
# Tell the system we want to use WPA-Supplicant with our configuration file:
wpa-conf /etc/wpa_supplicant.conf
次のステップは、証明書を生成してインストールすることです。自己署名証明書を生成し、作成した自己署名証明書に基づいて証明書リクエストを生成し、証明書をインストールする必要があります。
注:証明書を作成するとき、名前を要求するたびに、認証するコンピューターの名前を指定する必要があります。安全のため、大文字と小文字を区別するなど、コンピューターに割り当てられている名前と一致させることをお勧めします。コンピュータへの割り当て方法がわからない場合は、ターミナルを開いてホスト名を入力します。
次の手順を実行します:
sudo openssl req -x509 -nodes -days enter in days how long you want the cert valid for
-newkey rsa:1024 -keyout enter a name for your private key/certificate here
.pem -out enter a name for your private key/certificate here
.pem
例:sudo openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout privcert.pem -out privcert.pem
openssl req -new -newkey rsa:1024 -nodes -keyout enter a name for your private key here
.pem-out enter a name for your certificate request here
.pem
例:sudo openssl req -new -newkey rsa:1024 -nodes -keyout privkey.pem -out certreq.pem
作成されたすべての証明書は、ホームディレクトリ(/home/<username>
)に配置されます。次の部分は、前の手順で作成された証明書要求を使用して、CAから証明書を要求することです。これはWindowsマシンで実行する必要があります。何らかの理由で、LinuxとWindowsは証明書を要求してダウンロードするときにうまくいかないからです。証明書要求を自分宛にメールで送信し、Windowsマシンで実行する方が簡単だと思いました。
次の手順に従って、証明書リクエストを完了します。
- Linuxマシンのホームディレクトリに移動し、証明書要求ファイルを見つけます
- ファイルを自分宛にメールで送信するか、テキストエディタ(geditなど)でファイルを開いて、リクエストをコピーしてメールに貼り付けて送信します。
- Windowsクライアントで、IEを使用してCAのWebサイト(など
http://caname/certsrv
)にWebページを開きます。
- 証明書のリクエストを選択します
- 高度な証明書リクエスト
- ここで、電子メールを開き、自分で電子メールで送信した証明書要求を取得します。
- ファイルを自分宛にメールで送信した場合は、メモ帳でファイルを開き、内容をコピーしてBase-64エンコードの証明書要求ボックスに貼り付けます。ファイル自体ではなく証明書要求ファイルの内容を自分自身にメールで送信した場合は、そこから要求をコピーして、Base-64でエンコードされた証明書要求ボックスに貼り付けてください。
- [送信]をクリックし、DERではなくBase-64形式で証明書をダウンロードします。
- 証明書をデスクトップに保存し、
your Linux machine name
.pem という名前を付けます。システムは自動的.cer
に末尾に追加するので、削除してください。Linuxは、証明書の拡張子に.pemを使用します。
- このファイルを取り、自分宛にメールで返信します。
- 次に、Linuxマシンで証明書を取得し、どこかに保存します(できれば、整理してまとめておくためにホームフォルダー)。
- ここで、受け取った証明書を
/etc/ssl/certs
フォルダーにコピーする必要があり/etc/ssl/private
ます。また、先ほどフォルダーで作成した秘密キー/証明書と秘密キーをコピーする必要があり ます。現在、これを行う権限を持っているのはrootのみであるため、コマンドラインでsudo cp /home/<username>/<certificate>.pem /etc/ssl/private
またはを入力してこれを行うことができます/etc/ssl/certs
。これは、gksudoコマンドを使用してnautilusを入力してコピーして貼り付けることにより、GUIから実行することもできます。Nautilusは、Ubuntuが使用するGUIファイルブラウザであり、これをrootとして実行して、rootのみがアクセスできるディレクトリにコピーアンドペーストできるようにします。
証明書が準備できたので、証明書の使用方法をopensslに伝える必要があります。これを行うには、openssl.cnfファイルを編集し、Linuxマシンをユーザーではなくクライアントとして認証するように指示する必要があります。
これを行うには、次の手順を実行します。
- sudo gedit /etc/ssl/openssl.cnf
- 約半分下にスクロールすると、というセクションが表示され
[usr_cert]
ます。このセクションでは、どこ必要nsCertType
と定義される「通常のクライアントのために、これは典型的な使用」を、そしてそれが持っている必要がありnsCertType = client, email
、それがコメントアウトされます。この行のコメントを外し、表示されるようにメールを削除しますnsCertType = client
。ファイルを保存します。
これで、Windowsドメイン環境でLinuxマシンを実行し、802.1xを使用して認証するために必要なすべてのものを適切に構成できます。
Linuxがインターフェイスにwpa_supplicant.conf
関連付けられたファイルを使用してeth0
認証できるように、ネットワークサービスを再起動するだけです。だから実行してくださいsudo service networking restart
。インターフェイスが復旧した後にIPアドレスを取得できない場合は、を入力してDHCPサーバーからIPを手動で要求できますsudo dhclient
。