Compartir tecnología

[RHCE] Servicio HTTP (HTTPS) basado en autenticación de usuario y cifrado TLS

2024-07-12

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

Tabla de contenido

1. Crea una cuenta de usuario

2. Cifrado TLS

3. Configurar el archivo de subconfiguración del servicio http

4. Cree una carpeta para acceder al servicio http y redirigir la entrada al archivo.

5. Configure el almacén local de Linux y el almacén local en Windows.

6. Operaciones básicas

7. prueba


1. Crea una cuenta de usuario

Autenticacion de usuario

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

1. Descargar mod_ssl

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

Nota: Para descargar el software, debe configurar el almacén y montarlo. Si es necesario, puede consultar el artículo que escribí anteriormente.

Cifrado 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.Ubicación de la llave móvil

  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. Modifique el archivo /etc/httpd/conf.d/ssl.conf

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

Modifique las claves y los certificados que creó usted mismo

3. Configurar el archivo de subconfiguración del servicio 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) : ******

contenido del documento:

  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>

Reiniciar el servicio http

systemctl restart httpd

4. Cree una carpeta para acceder al servicio http y redirigir la entrada al archivo.

  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. Configure el almacén local de Linux y el almacén local en Windows.

1.Almacén local de Linux (/etc/hosts)

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

2. Configurar el repositorio local en Windows

Si necesita realizar la prueba en el navegador, debe configurar el repositorio local de Windows (C:WindowsSystem32driversetchosts)

2.1 win+r para abrir la ventana en ejecución

2.2ctrl+shift+enter, ejecutar como administrador

2.3 Ingrese "bloc de notas" y aparecerá el Bloc de notas.

2.4 Abrir archivo

2.5 Seleccione /windows/system32/drivers/etc/hosts

2.6 Agregar el código al archivo de hosts

192.168.198.151  www.hehe.com

6. Operaciones básicas

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

7. prueba