Tools/OpenVPN

OpenVPN에서 Client 삭제하기

Tongchun 2018. 9. 5. 10:12

발급한 Client 인증서를 삭제해 보겠습니다.

퇴사 등으로 더이상 VPN 접속을 못하게 할때  인증서를 삭제하고 openVPN에 적용해야 합니다.


먼저 EasyRSA로 이동 후 발급된 인증서를 확인합니다.

$ cd ~/EasyRSA-3.0.4/
$ ll pki/issued/
total 32
drwx------ 2 ngle ngle 4096  8월 31 15:09 ./
drwx------ 6 ngle ngle 4096  8월 31 15:09 ../
-rw------- 1 ngle ngle 4552  8월 30 11:39 server.crt
-rw------- 1 ngle ngle 4438  8월 31 15:09 testNgle.crt
-rw------- 1 ngle ngle 4438  8월 30 13:10 tongchun.crt

여기서 testNgle을 삭제하겠습니다.


easyrsa 명령을 사용하며 옵션은 revoke <삭제하려는 계정명> 입니다.

$ ./easyrsa revoke testNgle

Note: using Easy-RSA configuration from: ./vars


Please confirm you wish to revoke the certificate with the following subject:

subject=
    commonName                = testNgle


Type the word 'yes' to continue, or any other input to abort.
  Continue with revocation:

명령을 실행하면 삭제할 것인지 묻는 메시지가 나오고 yes 라고 입력합니다.

위 명령이 성공했더라도 인증서가 삭제된 것은 아닙니다. certificate revocation list (CRL)에 기록해 줘야 합니다.

crl에 기록하는 명령은 easyrsa gen-crl 입니다.

$ ./easyrsa gen-crl

Note: using Easy-RSA configuration from: ./vars
Using configuration from ./openssl-easyrsa.cnf

An updated CRL has been created.
CRL file: /home/ngle/EasyRSA-3.0.4/pki/crl.pem

certificate revocation list 파일(crl.pem)이 생성되었습니다.

이후 삭제되는 계정이 추가될 경우 certificate revocation list에 계속 추가하는 개념입니다.


이제 이걸 openVPN에 적용해야 합니다. crl.pem 파일을 openvpn 폴더로 복사합니다.

$ sudo cp ~/EasyRSA-3.0.4/pki/crl.pem /etc/openvpn/

openvpn에서 certificate revocation list (CRL)를 적용하려면 먼저 server.conf 파일에 써줘야 합니다.

openvpn의 server.conf 파일을 열고 가장 마지막 줄에 아래 내용을 추가 합니다.

$ sudo vim /etc/openvpn/server.conf

server.conf 파일에 추가할 내용입니다.

crl-verify crl.pem

server.conf 파일을 저장하고 openvpn을 재시작 해줍니다.

$ sudo systemctl restart openvpn@server

이제 ngleTest 계정은 openVPN에 접속할 수 없습니다.


마찬가지로 다른 계정을 삭제해야 한다면 아래와 같은 작업을 반복하면 됩니다.

1. easyrsa로 계정을 revoke 한다.   ./easyrsa revoke <계정명>

2. certificate revocation list (CRL)에 추가한다.   ./easyrsa gen-crl

3. 새로 생성된 crl.pem 파일을 openvpn 폴더로 이동한다.   sudo cp ~/EasyRSA-3.0.4/pki/crl.pem /etc/openvpn/

4. openVPN을 재시작 한다.   sudo systemctl restart openvpn@server


여기까지 openVPN 계정 삭제였습니다.