기술나눔

[RHCE] 사용자 인증 및 TLS 암호화 기반의 HTTP 서비스(HTTPS)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

목차

1. 사용자 계정 생성

2. TLS 암호화

3. http 서비스 하위 구성 파일 구성

4. http 서비스에 액세스하기 위한 폴더를 생성하고 입력을 파일로 리디렉션합니다.

5. Linux 로컬 웨어하우스와 Windows에서 로컬 웨어하우스를 구성합니다.

6. 기본 조작

7. 테스트


1. 사용자 계정 생성

사용자 인증

  1. # 创建两个账户
  2. [root@localhost ~]# htpasswd -c /etc/httpd/zhanghao tom
  3. New password:
  4. Re-type new password:
  5. Adding password for user tom
  6. [root@localhost ~]# htpasswd /etc/httpd/zhanghao jerry
  7. New password:
  8. Re-type new password:
  9. Adding password for user jerry
  10. # 查看是否创建成功
  11. [root@localhost ~]# tail /etc/httpd/zhanghao
  12. tom:$apr1$2s/wloz6$G0SlGTKB62a4.2gJmy.AL.
  13. jerry:$apr1$lOxB9Dtq$tOTaJ35Jtt8dWouHbjgWi1

2. TLS 암호화

1. mod_ssl 다운로드

[root@localhost ~]# yum install mod_ssl -y

참고: 소프트웨어를 다운로드하려면 웨어하우스 및 마운트를 구성해야 합니다. 필요한 경우 앞서 작성한 기사를 확인하실 수 있습니다.

2.tls 암호화:

  1. # 创建密钥
  2. [root@localhost certs]# openssl genrsa -aes128 2048 > jiami.key
  3. # 输入密码
  4. Enter PEM pass phrase:
  5. Verifying - Enter PEM pass phrase:
  6. # 创建证书
  7. [root@localhost certs]# openssl req -utf8 -new -key jiami.key -x509 -days 100 -out jiami.crt
  8. Enter pass phrase for jiami.key:
  9. You are about to be asked to enter information that will be incorporated
  10. into your certificate request.
  11. What you are about to enter is what is called a Distinguished Name or a DN.
  12. There are quite a few fields but you can leave some blank
  13. For some fields there will be a default value,
  14. If you enter '.', the field will be left blank.
  15. -----
  16. Country Name (2 letter code) [XX]:86 # 国家
  17. State or Province Name (full name) []:shaanxi # 省份
  18. Locality Name (eg, city) [Default City]:xi'an # 城市
  19. Organization Name (eg, company) [Default Company Ltd]:rhce # 组织
  20. Organizational Unit Name (eg, section) []:peihua # 组织单元
  21. Common Name (eg, your name or your server's hostname) []:www.hehe.com # 主机名!!!
  22. Email Address []:[email protected] # 邮箱

3.모바일 키 위치

  1. # 移动密钥位置
  2. [root@localhost certs]# cd /etc/pki/tls/certs
  3. # 密钥位置为/etc/pki/tls/private/jiami.key
  4. [root@localhost certs]# mv jiami.key ../private/

4. /etc/httpd/conf.d/ssl.conf 파일을 수정합니다.

  1. SSLCertificateFile /etc/pki/tls/certs/jiami.crt
  2. SSLCertificateKeyFile /etc/pki/tls/private/jiami.key

자신이 만든 키와 인증서를 수정하세요.

3. http 서비스 하위 구성 파일 구성

  1. [root@localhost certs]# vim /etc/httpd/conf.d/vhost.conf
  2. # 重启服务时需要输入创建tls时的密码
  3. [root@localhost certs]# systemctl restart httpd
  4. 🔐 Enter TLS private key passphrase for www.hehe.com:443 (RSA) : ******

문서 내용:

  1. <directory /www>
  2. allowoverride none
  3. require all granted
  4. </directory>
  5. # 用户认证
  6. <directory /usr/local/secret>
  7. authtype basic
  8. authname "Please input your passwd: "
  9. authuserfile /etc/httpd/zhanghao
  10. require user tom jerry
  11. </directory>
  12. # tls加密,地址为自己的主机地址,端口为443代表https服务
  13. <virtualhost 192.168.198.151:443>
  14. SSLEngine on
  15. SSLCertificateFile /etc/pki/tls/certs/jiami.crt
  16. SSLCertificateKeyFile /etc/pki/tls/private/jiami.key
  17. documentroot /www/hehe
  18. servername www.hehe.com
  19. alias /hehe /usr/local/secret
  20. </virtualhost>

http 서비스 다시 시작

systemctl restart httpd

4. http 서비스에 액세스하기 위한 폴더를 생성하고 입력을 파일로 리디렉션합니다.

  1. [root@localhost certs]# mkdir /www
  2. [root@localhost certs]# mkdir /www/hehe
  3. [root@localhost certs]# mkdir /usr/local/secret
  4. [root@localhost certs]# echo hehe > /www/hehe/index.html
  5. [root@localhost certs]# echo secret > /usr/local/secret/index.html

5. Linux 로컬 웨어하우스와 Windows에서 로컬 웨어하우스를 구성합니다.

1.Linux 로컬 웨어하우스(/etc/hosts)

  1. [root@localhost certs]# vim /etc/hosts
  2. 192.168.198.151 www.hehe.com

2. Windows에서 로컬 저장소 구성

브라우저에서 테스트해야 하는 경우 Windows 로컬 저장소(C:WindowsSystem32driversetchosts)를 구성해야 합니다.

2.1 win+r 실행창 열기

2.2ctrl+shift+enter, 관리자 권한으로 실행

2.3 "notepad"를 입력하면 메모장이 나타납니다.

2.4 파일 열기

2.5 /windows/system32/drivers/etc/hosts를 선택합니다.

2.6 호스트 파일에 코드 추가

192.168.198.151  www.hehe.com

6. 기본 조작

  1. [root@localhost certs]# systemctl stop firewalld
  2. [root@localhost certs]# setenforce 0
  3. # 修改过子配置文件,都需要重启http服务,生效
  4. [root@localhost certs]# systemctl restart httpd

7. 테스트