Abilitare HTTPS su server Apache

Per poter utilizzare il protocollo https su server apache 2 in debian o ubuntu linux è necessario inizialmente attivare il modulo specifico: ssl. 

Abilitare il modulo ssl

a2enmod ssl

I moduli di apache sono presenti nella cartella

/etc/apache2/mods-available

I moduli abilitati sono visibili nella cartella

/etc/apache2/mods-enabled

Creare la cartella per i certificati 

mkdir /etc/apache2/ssl

assegnare i permessi alla cartella consigliato 700 

chmod 700 /etc/apache2/ssl

Per poter utilizzare la porta 403 è necessario disporre dei certificati SSL. In questi caso  procediamo a generare dei certificati SSL autofirmati 

openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.key

Il certificato private key apache.key

-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDR8QHagw+6LWR8
5oQeauCrvdau9KPiOrk/rqQxb2tTyQ3lXZ04/K6GVVzziTIGb2CDrRTyAJDBCHKs
iHvH79aJ7RZZoVmMntsaHMteDWbsssssDyYuZaCanLht8bnmFlyuo1qAbq1iuItf
1bJGY2uw2FCuF3kl/jRLO1uFc8ickqluDNw+IE2HMyqUL0/ITPQcD75emdiVanml
bjhdWYO+zPFy1t2dDPPiCvy1hp52KozG9DOpicrTRjoJWBICPYRbCfKp+dFJp+Bj
C203dDav/pY69xlW5ByH9YnmSMXlEpxm3Gj9+6x4uLv2YcAiii4EPqsFxBX2NXAO
Xdl2uNxFAgMBAAECggEBAMmRV1FAYrpDWObewF0gCqR6OYRzWGIeNbyh5f2c13Rz
ZkchMZIEcWCC1yLwR7qL9yOV67VKu7DKdqesdfsf+cglfT8DPqJX50/T86JSxchF
x9a7IdKMOr4X2K+e1fjG4ae/KWaEXS6atx6FY4xXao85sYTk/qluvzC4RfAEsck4
/BnLIy+W/Ewy5GD0arhQ/qI+UQEs+7ZN9WxM2AFlA8nI9pufhT1e2cwwHUCLySEF
MKTCXGOWQyXazg/2PTJmsXO7KEI1sG4JRx/wRHtYKN6xVo/2+fI66bixW/0tMNGk
6a0bunrTKr1P67b6B0A9+/DHy+q6S5iqhm6XuQ4PffffCgYEA/pRGQpUwtkTbEs7+
m2Vi+PBKk4/W7TZgje5Pi0aKXg+mS2D/bVlev1Gj3YkLo/VeQwhOJdRSMYlwIF+1
ghPFHE8O9ycV5IBLiniE7HfLL9sBI3mozM1eU02rFPTnYTlnJanBxpjkXRAf9JO3
cqjW+D5lWSctqfH30z3SO5sJ/00CgYEA0xz1FisRsXSLS9Ov4MZAM0MN4LgLC62B
JvzbNivFEqxN1rCE8FLla/4gJ1xi60BQy5X+EhKK5cmLfffsdAoJ6FPstdhxNToI
r/RVN0DhVmIewoMVqpMpT17i6FScDF6KebRa7hL/v1aWSvwAreWbYmaaaAMSnVSh
BFceCserRNkCgYEAmoqYPEMkdddlnH1bwinB8yyrmPhwmH+yDXblgr7HsGH/qTKw
3EisY6fDufA/yMBjAH5CMmS5oKi2EHEJVnV56r1zcEWh3JylPuH6jzIJfnuMLWTl
O65P3HIBsS8aZsLaAtsSbuTRfE0VmPszGb+0/+2gyIYoCkqBDxMwVE7BuuECgYAS
8cFIiPrger3ZQxjASeoO75B6Pum21Y4GaqBdPxZDM7UUc+iqDDZMN5S5E4BI7g+S
BVa0VneiYTCoosG6mggDkixmsRKPnTKUX4+aErdl4g4ylELIeMY3OiOQh68tKPqy
Ky4RuSC8EdAQ0IZbFISaEuz+MnBkL+j3E749Z2eGGQKBgCvnAFaJJRy3YVFgH1+5
TpcoGBJoZVm/El86G17IH1XB18o8sjujQl3AcxcWo1RIGp8WGwmucjVmCjbWoUsh
BZJyQgZTXM1OMESPnpBBfehwe0pSKP3hntY1lo2wSYXHC2zH2MdVq/EXY1H1F2HJ
Qu2NqhegBXgG4EOy+m03EqLj
-----END PRIVATE KEY-----

assegnare i permessi ai certificati consigliato 600 

chmod 600 /etc/apache2/ssl/apache.*

Adesso è necessario configurare apache perchè stia in ascolto sulla porta 443 la porta di default per il protocollo https:

vi /etc/apache2/ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 80

<IfModule ssl_module>
 Listen 443
</IfModule>

<IfModule mod_gnutls.c>
 Listen 443
</IfModule>

La configurazione del virtual host di default che fornisce i dati tramite il protocollo https è presente nel file

/etc/apache2/sites-available/default-ssl

Da modificare secondo le proprie esigenze attenzione alla presenza  di

<VirtualHost *:443>

Per abilitare l’host virtuale digitare:

 a2ensite default-ssl

Verrà inserito un link simbolico nella directory

/etc/apache2/sites-enabled/default-ssl

al file

/etc/apache2/sites-available/default-ssl

Le modiciche saranno disponibili a seguito del riavvio del server o con il comando

 service apache2  reload

L’accesso utilizzando il protocollo 443 determinerà comunque un messaggio di  warning da parte del browser. Il certificato infatti essendo stato generato autonomamente e non acquistato da una autority riconosciuta viene intepretato come insicuro.

 

 

 

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...