nginx 설정 ssl 양 방향 인증 (배경 로그 인 제한)
솔 루 션: nginx 설정 ssl 양 방향 검증
: ubuntu 14.04
openssl : /etc/ssl/openssl.conf
nginx : 1.8.0
nginx ssl : /etc/nginx/admin
-------------------------------------------
1. openssl 을 사용 하여 인증서 센터 구현
(1) 인증서 센터 설정 파일 편집 (/ etc / ssl / openssl. conf)
dir = /etc/ssl
(2) newcerts 만 들 기 목차
mkdir -p /etc/ssl/newcerts
(3) 인증서 비밀 키 만 들 기
cd /etc/ssl
## , 4 HEX
echo 12A8 > serial
##
touch index.txt
## crlnumber ##
echo 12A8 > crlnumber
cd /etc/ssl/private
openssl genrsa -out cakey.pem 2048
(4) 자체 서명 인증서 생 성
cd /etc/ssl/
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3655
2. 서버 인증서 만 들 기
mkdir -p /etc/nginx/admin
cd /etc/nginx/admin
openssl genrsa -out nginx.key 1024
openssl req -new -key nginx.key -out nginx.csr
openssl ca -in nginx.csr -out nginx.crt -days 3650
openssl ca -gencrl -crldays 7 -out ca.crl # crl ,
3. 클 라 이언 트 브 라 우 저 인증서 만 들 기 (예 를 들 어 사용자 만 들 기: 리 레이)
mkdir -p /etc/nginx/admin/user/lilei #
cd /etc/nginx/admin/user/lilei
openssl genrsa -out lilei.key 1024
openssl req -new -key lilei.key -out lilei.csr
openssl ca -in lilei.csr -out lilei.crt -days 3650
#
openssl pkcs12 -export -clcerts -in lilei.crt -inkey lilei.key -out lilei.p12
4. Nginx 서버 인증 설정
ssl on;
ssl_certificate /etc/nginx/admin/nginx.crt;
ssl_certificate_key /etc/nginx/admin/nginx.key;
ssl_client_certificate /etc/ssl/cacert.pem;
ssl_session_timeout 5m;
ssl_verify_client on; #
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
ssl_crl /etc/nginx/admin/ca.crl; #
5. 사용자 인증서 취소
cd /etc/ssl/
grep "lilei" index.txt
V 250817084430Z 12AC unknown /C=CN/ST=FUJIAN/O=xxx/OU=xxxx/CN=xxxxx/emailAddress=xxxxx
12AC
cd /etc/ssl/newcerts
openssl ca -revoke 12AC.pem ##
그리고 index. txt 보기 V 가 R 이 되 는 걸 볼 수 있어 요.
주의해 야 할 것 은 이 파일 을 업데이트 해 야 한 다 는 것 입 니 다. 그렇지 않 으 면 인증 서 를 취소 한 후에 도 인증 을 통과 할 수 있 습 니 다.또한 저 희 는 crl 파일 의 만 료 시간 을 7 일 로 설정 합 니 다. 만약 7 일 후에 crl 파일 을 업데이트 하지 않 으 면 nginx 서버 는 모든 인증서 의 매 칭 을 거부 합 니 다.그래서 우 리 는 crontab 를 열 어 crl 파일 을 정기 적 으로 업데이트 해 야 합 니 다.
정시 작업 스 크 립 트 는 다음 과 같 습 니 다:
#!/bin/sh
NGINX_SSL_PATH=/etc/nginx/admin
cd $NGINX_SSL_PATH
openssl ca -gencrl -crldays 7 -out ca.crl
DATE_NOW1=$(/bin/date +%Y-%m-%d\ %H:%M:%S)
echo "$DATE_NOW1 has success updata" >> /home/cron/updata_cakey.log
/etc/init.d/nginx reload
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.