OpenVPN에서 Client 삭제하기
발급한 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 계정 삭제였습니다.