나쁜 소식, 여러분! 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를 통해 인증하는 데 필요한 두 가지 주요 사항은 클라이언트 인증서와 Windows 도메인의 계정입니다. 인증 과정에서 Linux 클라이언트는 컴퓨터 인증서를 스위치에 제공하고, 인증서는 인증서를 확인한 RADIUS 서버에이를 제공하고 Active Directory에서 인증서가 할당 된 컴퓨터 계정을 확인합니다. 인증서와 컴퓨터 계정이 유효한 경우 RADIUS 서버는 인증 요청을 스위치로 다시 전송하여 승인하고 Linux 상자가 연결된 포트를 인증합니다.
가장 먼저해야 할 일은 Linux 컴퓨터를 Windows 도메인에 가입시키는 것입니다. Linux는 기본적으로 Windows 도메인에 가입 할 수 없으므로 필요한 소프트웨어를 다운로드해야합니다. 마찬가지로 우리가 이것을 할 수 있도록 소프트웨어를 만듭니다. 우분투에 이것을 설치하려면 매우 간단합니다. 다음 단계를 따르십시오.
- sudo apt-get 업데이트
- 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/like-open 시작
Ubuntu를 실행하지 않는 경우 http://www.likewisesoftware.com/products/likewise_open 에서 소프트웨어를 다운로드 할 수 있습니다 . 이제 도메인 계정을 사용하여 로그 아웃했다가 다시 로그인 할 수 있습니다. 형식 user@domain.com
과 도메인 \ 사용자 모두 작동 한다고 생각합니다 . 나중에 테스트하겠습니다.
이 인증을 수행하려면 Linux 시스템에 세 개의 파일이 있으며 올바르게 구성해야합니다. 이 세 파일은 다음과 같습니다.
- /etc/wpa_supplicant.conf
- / etc / network / 인터페이스
- /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"
}
이제 인터페이스 파일을 편집해야합니다. 인터페이스 파일을 구성하려면 다음 단계를 수행하십시오.
- sudo gedit / etc / network / 인터페이스
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 enter in days how long you want the cert valid for
-nodes -days -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에 인증서를 요청하는 것입니다. 어떤 이유로 든 인증서를 요청하고 다운로드 할 때 Linux와 Windows가 제대로 작동하지 않기 때문에 Windows 시스템에서이 작업을 수행해야합니다. 방금 인증서 요청을 자신에게 이메일로 보내고 Windows 시스템에서 수행하는 것이 더 쉽다는 것을 알았습니다.
인증서 요청을 완료하려면 다음 단계를 수행하십시오.
- Linux 시스템의 홈 디렉토리로 이동하여 인증서 요청 파일을 찾으십시오.
- 파일을 자신에게 이메일로 보내거나 텍스트 편집기 (예 : gedit)를 사용하여 파일을 열고 요청을 이메일에 복사하여 붙여넣고 직접 보내십시오.
- Windows 클라이언트에서 IE를 사용하여 CA 웹 사이트 (예 :)에 웹 페이지를 엽니 다
http://caname/certsrv
.
- 인증서 요청을 선택하십시오.
- 고급 인증서 요청
- 이제 이메일을 열고 이메일로 보낸 인증서 요청을 받으십시오.
- 파일을 전자 메일로 전자 메일로 보낸 경우 메모장에서 파일을 열고 내용을 복사하여 Base-64로 인코딩 된 인증서 요청 상자에 붙여 넣습니다. 파일 자체가 아닌 인증서 요청 파일의 내용을 전자 메일로 보낸 경우 해당 요청을 복사하여 Base-64로 인코딩 된 인증서 요청 상자에 붙여 넣기 만하면됩니다.
- 제출을 클릭하고 DER이 아닌 Base-64 형식으로 인증서를 다운로드하십시오.
- 인증서를 데스크탑에 저장하고 이름을
your Linux machine name
.pem으로 지정하십시오 . 시스템이 자동으로 .cer
끝에를 추가 하므로 삭제하십시오. Linux는 인증서 확장에 .pem을 사용합니다.
- 이 파일을 가지고 자신에게 다시 이메일을 보내십시오.
- 이제 Linux 시스템에서 인증서를 가져 와서 어딘가에 저장하십시오 (바람직하게 정리하고 정리하기위한 홈 폴더).
- 이제 방금받은 인증서를
/etc/ssl/certs
폴더에 복사해야하며 /etc/ssl/private
폴더 에서 이전에 만든 개인 키 / 인증서 및 개인 키를 복사해야 합니다. 이제는 루트 만이 작업을 수행 할 수있는 권한을 가지므로 sudo cp /home/<username>/<certificate>.pem /etc/ssl/private
또는 을 입력하여 명령 줄에서이 작업을 수행 할 수 있습니다 /etc/ssl/certs
. gksudo 명령을 사용하고 노틸러스를 입력하여 복사하여 붙여 넣기하여 GUI에서 수행 할 수도 있습니다. 노틸러스는 우분투에서 사용하는 GUI 파일 브라우저이며 루트로만 액세스 할 수있는 디렉토리에 복사하여 붙여 넣을 수 있도록 루트로 실행합니다.
인증서가 준비되었으므로 openssl에 인증서 사용 방법을 알려야합니다. 이렇게하려면 openssl.cnf 파일을 편집하여 Linux 컴퓨터를 사용자가 아닌 클라이언트로 인증하도록 지시해야합니다.
이렇게하려면 다음 단계를 수행하십시오.
- sudo gedit /etc/ssl/openssl.cnf
- 절반 정도 아래로 스크롤하면이라는 섹션이 표시
[usr_cert]
됩니다. 이 섹션에서 우리 nsCertType
는 "정상적인 클라이언트 사용을 위해 일반적"이라고 정의 된 곳이 필요하며 , 그것이 있어야 nsCertType = client, email
하며 주석 처리 될 것입니다. 이 행의 주석을 해제하고을 표시하도록 이메일을 삭제하십시오 nsCertType = client
. 이제 파일을 저장하십시오.
이제 Linux 도메인을 Windows 도메인 환경에서 실행하고 802.1x를 사용하여 인증하도록 올바르게 구성해야합니다.
이제 남은 것은 네트워킹 서비스를 다시 시작하여 Linux wpa_supplicant.conf
가 이제 eth0
인터페이스에 연결된 파일을 사용 하고 인증하는 것입니다. 그냥 실행하십시오 sudo service networking restart
. 인터페이스가 다시 시작된 후 IP 주소를 얻지 못하면을 입력하여 DHCP 서버에서 IP를 수동으로 요청할 수 있습니다 sudo dhclient
.