Partage de technologie

[RHCE] Service HTTP (HTTPS) basé sur l'authentification des utilisateurs et le cryptage TLS

2024-07-12

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

Table des matières

1. Créez un compte utilisateur

2. Cryptage TLS

3. Configurez le fichier de sous-configuration du service http

4. Créez un dossier pour accéder au service http et redirigez l'entrée vers le fichier

5. Configurez l'entrepôt local Linux et l'entrepôt local sous Windows

6. Opérations de base

7. Testez


1. Créez un compte utilisateur

Authentification d'utilisateur

  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. Cryptage TLS

1. Téléchargez mod_ssl

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

Remarque : Pour télécharger le logiciel, vous devez configurer l'entrepôt et le monter. Si nécessaire, vous pouvez consulter l'article que j'ai écrit plus tôt.

Cryptage 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. Emplacement de la clé mobile

  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. Modifiez le fichier /etc/httpd/conf.d/ssl.conf

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

Modifier les clés et certificats que vous avez créés pour vous-même

3. Configurez le fichier de sous-configuration du service 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) : ******

contenu du document :

  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>

Redémarrer le service http

systemctl restart httpd

4. Créez un dossier pour accéder au service http et redirigez l'entrée vers le fichier

  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. Configurez l'entrepôt local Linux et l'entrepôt local sous Windows

1.Entrepôt local Linux (/etc/hosts)

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

2. Configurez le référentiel local sous Windows

Si vous devez tester dans le navigateur, vous devez configurer le référentiel local Windows (C:WindowsSystem32driversetchosts)

2.1 win+r pour ouvrir la fenêtre en cours d'exécution

2.2ctrl+shift+enter, exécuter en tant qu'administrateur

2.3 Entrez « bloc-notes » et le bloc-notes apparaîtra.

2.4 Ouvrir le fichier

2.5 Sélectionnez /windows/system32/drivers/etc/hosts

2.6 Ajouter le code au fichier hosts

192.168.198.151  www.hehe.com

6. Opérations de base

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

7. Testez