Instalacion de openssh:
#aptitude install opensslHabilitar SSH en apache:
#a2enmod sslVerificar que se este escuchando en el puerto 443 en el archivo /etc/apache2/ports.conf y buscar "Listen 443":
NameVirtualHost *:80 Listen 80Generar clave privada en /etc/ssl/private/# SSL name based virtual hosts are not yet supported, therefore no # NameVirtualHost statement here Listen 443
openssl genrsa -out casaserver.key 1024Generar el archivo csr(Certificate Signing Request):
openssl req -new -key casaserver.key -out casaserver.csrDespues autofirmar en certificado, con un periodo de validez que se desee:
openssl x509 -req -days 365 -in casaserver.csr -signkey casaserver.key -out casaserver.crt
Buscar en /etc/apache2/sites-available/ un sitio como default-ssl o crear uno e incluir:
SSLEngine on
SSLCertificateFile /etc/ssl/private/casaserver.crt
SSLCertificateKeyFile /etc/ssl/private/casaserver.key:
Habilitar el sitio default-ssl:ServerAdmin webmaster@localhost DocumentRoot /var/www/ Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/ssl_access.log combined Alias /doc/ "/usr/share/doc/"Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 # SSL Engine Switch: # Enable/Disable SSL for this virtual host. SSLEngine on SSLCertificateFile /etc/ssl/private/casaserver.crt SSLCertificateKeyFile /etc/ssl/private/casaserver.key #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequireSSLOptions +StdEnvVars SSLOptions +StdEnvVars BrowserMatch ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0
a2ensite default-sslPor ultimo reiniciar apache:
/etc/init.d/apache2 restartPara acceder solo en forma segura se debe dehabilitar el sitio default y crear un sitio para redireccionar.
Para deshabilitar el sitio default de Apache buscar en /etc/apache2/sites-enabled/ y aplicar:
#a2dissite 000-defaultEn este caso el sitio se llamaba 000-default.
Luego en /etc/apache2/sites-available/ crear con un editor el archivo redir con este contenido:
Luego habilitar el modulo rewrite:RewriteEngine on RewriteLog /var/log/apache2/https_rewrite.log RewriteLogLevel 1 RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [L,R]
a2enmod rewriteY reiniciar Apache, asi siempre se accederá con https aun cuando se escriba http.
Sitios de referencia: