Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
apacheservidor_de_www [2024/05/28 16:13] – creado - editor externo 127.0.0.1apacheservidor_de_www [2024/09/16 20:59] (actual) – [9.  Proxy inverso] kasandra
Línea 7: Línea 7:
 ===== Prerequistos ===== ===== Prerequistos =====
  
-- Apache2\\ +- Apache2 
-php4, perl, python+php, perl, python
  
 ===== Procedimiento ===== ===== Procedimiento =====
Línea 14: Línea 14:
 Instale los paquetes necesarios apache2 y sus plugins incluido ssl Instale los paquetes necesarios apache2 y sus plugins incluido ssl
  
-A. Verifique que apache esta corriendo incluido https visitando desde un navegador\\ +A. Verifique que apache esta corriendo incluido https visitando desde un navegador 
-\\+
 http:%%//%%localhost -- y https:%%//%%localhost -- http:%%//%%localhost -- y https:%%//%%localhost --
  
-B. Tambien garantice que los modulos de php y perl estan arriba. Se necesitan para las aplicaciones.+B. También garantice que los módulos de php y perl están arriba. Se necesitan para las aplicaciones.
  
 ===== Configuración ===== ===== Configuración =====
Línea 24: Línea 24:
 ==== A. Cambio de las paginas por Default ==== ==== A. Cambio de las paginas por Default ====
  
-Por defecto el sistema instala las páginas en /var/www/html (o /var/www en debians), pero no es\\ +Por defecto el sistema instala las páginas en /var/www/html (o /var/www en debians), pero no es 
-lo adecuado porque requiere permisos de root. Por tal motivo se crea un usuario paginas del grupo\\ +lo adecuado porque requiere permisos de root. Por tal motivo se crea un usuario paginas del grupo 
-users se redirecciona Apache para que las paginas por defecto esten alla:\\ +users se redirecciona Apache para que las paginas por defecto estén alla: 
-\\+
 - Adicionar al sistema un usuario asi: - Adicionar al sistema un usuario asi:
  
-> #> adduser -g users -d /home/paginas -p paginas -s /bin/bash -c paginas paginas\\+> #> adduser -g users -d /home/paginas -p paginas -s /bin/bash -c paginas paginas
  
--Crear un directorio public_html en el home del usuario y copie la paginas web\\+-Crear un directorio public_html en el home del usuario y copie la paginas web
 de skina en ese directorio, de skina en ese directorio,
  
 > #> mkdir /home/paginas/public_html > #> mkdir /home/paginas/public_html
  
-- Cambiar la pagina por defecto de Apache. Edite el archivo /etc/httpd/conf/httpd.conf\\ +- Cambiar la pagina por defecto de Apache. Edite el archivo /etc/httpd/conf/httpd.conf 
-(/etc/apache2/sites-available/default en debians) que incluya\\ +(/etc/apache2/sites-available/default en debians) que incluya 
-\\ + 
-Document Root /home/paginas/public_html\\ +Document Root /home/paginas/public_html 
-\\+
 y lo mismo en el archivo de configuracion de SSL y lo mismo en el archivo de configuracion de SSL
  
-/etc/httpd/conf.d/41_mod_ssl.default-vhost.conf\\ +/etc/httpd/conf.d/41_mod_ssl.default-vhost.conf 
-o\\+o
 /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf
  
-Tambien es necesario cambiar los permisos del directorio /var/www/html .. y ponerselos a\\+Tambien es necesario cambiar los permisos del directorio /var/www/html .. y ponerselos a
 al directorio /home/paginas/public_html. al directorio /home/paginas/public_html.
  
Línea 132: Línea 132:
 ==== 6. Multiples dominios con diferente certificado ==== ==== 6. Multiples dominios con diferente certificado ====
  
-https:%%//%%unix.stackexchange.com/questions/336925/apache-multiple-domains-and-multiple-ssl-to-same-ip-and-folder#343164 +https://unix.stackexchange.com/questions/336925/apache-multiple-domains-and-multiple-ssl-to-same-ip-and-folder#343164 
  
 ==== 7. Pruebas de Stress ==== ==== 7. Pruebas de Stress ====
  
-http:%%//%%www.linuxjournal.com/article/6691 --+http://www.linuxjournal.com/article/6691 --
  
 ==== 8. Hardening ==== ==== 8. Hardening ====
  
-https:%%//%%geekflare.com/es/apache-web-server-hardening-security/+https://geekflare.com/es/apache-web-server-hardening-security/
  
-https:%%//%%beaglesecurity.com/blog/article/apache-web-server-hardening.html\\+https://beaglesecurity.com/blog/article/apache-web-server-hardening.html\\
 \\ \\
-https:%%//%%wiki.debian.org/Apache/Hardening   Hay unas ideas cheveres para limitar las conexiones usando el firewall\\+https://wiki.debian.org/Apache/Hardening   Hay unas ideas cheveres para limitar las conexiones usando el firewall\\
 \\ \\
-https:%%//%%www.tecmint.com/apache-security-tips/\\+https://www.tecmint.com/apache-security-tips/\\
  
  
-==== 9.  Proxy inverso con cache ====+==== 9.  Proxy inverso ====
  
-https:%%//%%taylor.callsen.me/creating-a-caching-proxy-server-with-apache/\\ +Con balanceador de carga\\ 
-\\+https://wiki.logicaldoc.com/wiki/Configure_Apache_load_balancer_with_mod_proxy
  
 +Con cache a lo squid\\
 +https://taylor.callsen.me/creating-a-caching-proxy-server-with-apache/
  
-===== Problemas ===== +Las bitacoras de los que estan atras debe ajustarse para reflejar las direcciones publicas\\ 
- +https://confluence.jaytaala.com/display/TKB/Logging+remote+ip+address+when+using+reverse+proxy
-==== 1. Nuevas llaves para Centos (RedHat) ==== +
- +
-http:%%//%%www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/Deployment_Guide-en-US/s1-httpd-secure-server.html\\ +
-\\ +
-RRRarrisimo .. en Centos5 no esta disponible el genkey por ningun lado . Los binarios de Fedora 6 funcionan OK.\\ +
-\\ +
-o a mano\\ +
-\\ +
-  http:%%//%%www.ernestoperez.com/howtos_sobre_apache_php_ssl/instalando_un_certificado_ssl_para_apache_en_centos.html\\ +
-\\ +
-NOTA: el "genkey" generera los certificados un un periodo de vencimiento de 30 dias, si necesita que le vencimiento dure mas adicione el parametro --days #de dias +
- +
-====  7. No sube apache por nss ==== +
- +
-En error_log no sale nada pero genera nss_error_log y dice: Certificate not verified: 'Server-Cert'  [error] SSL Library Error: -8181 Certificate has expired [error] Unable to verify certificate 'Server-Cert'. Add "NSSEnforceValidCerts off" to nss.conf so the server can start until the problem can be resolved. +
- +
-Hay dos opciones; una es apagar el nss (en nss.conf ponerle off) o generar nuevamente los certificados +
- +
-# gencert /etc/httpd/alias (o el directorio que este en el nss.conf) +
- +
-reinicie apache y listo.\\ +
-\\ +
- +
- +
-  +
- +
- +
----- +
- +
-__**Advertencia**__ +
- +
-Este documento es privado y es de uso exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra la ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal. +
- +
- +
----- +
- +
-  +
- +
-\\ +
-FIN +
- +
-==============================================================  +
- +
-Anexos  +
- +
-==============================================================\\ +
-skina.conf\\ +
-==============================================================  +
- +
-############### Reglas adicionales por SkinaTech +
- +
-# Protecciones adicionales +
- +
-<Directory /tmp>\\ +
-    Order deny,allow\\ +
-    Deny from all\\ +
-</Directory> +
- +
-<Directory /var/tmp>\\ +
-    Order deny,allow\\ +
-    Deny from all\\ +
-</Directory> +
- +
-<IfModule mod_rewrite.c>\\ +
-   RewriteEngine on\\ +
-   RewriteLog /var/log/httpd/http_rewrite_log\\ +
-   RewriteLogLevel 1\\ +
-   RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)\\ +
-   RewriteRule . .. .html - [F]\\ +
-</IfModule> +
- +
-# redirect http to https\\ +
-# If you don't try to access https, then redirect to https\\ +
-<IfModule mod_rewrite.c>\\ +
-  RewriteEngine On\\ +
-  RewriteCond %{SERVER_PORT}      !^443$\\ +
-  RewriteRule ^/phpldapadmin/(.*)     https:%%//%%%{SERVER_NAME}/phpldapadmin/$1 [L,R]\\ +
-# esta regla siguiente redirege TODO\\ +
-#  RewriteRule ^/(.*)     https:%%//%%%{SERVER_NAME}/$1 [L,R]\\ +
-</IfModule> +
- +
-# Aliases a directorios +
- +
-<IfModule mod_alias.c>\\ +
-    Alias /phpMyAdmin   /var/www/html/phpMyAdmin\\ +
-</IfModule> +
- +
-# Proxy inverso +
- +
-<IfModule mod_proxy.c>\\ +
-        ProxyPass   /monit/  http:%%//%%localhost:2812/\\ +
-        ProxyPassReverse /monit/   http:%%//%%localhost:2812/\\ +
-</IfModule> +
- +
-#Autenticacion con archivo local +
- +
-\\ +
-<Location /joomla/index.php>\\ +
-        Order Deny,Allow\\ +
-        AuthType Basic\\ +
-        AuthName "Joomla Users"\\ +
-        AuthUserFile /etc/httpd/conf/users/admin\\ +
-        Require valid-user\\ +
-</Location> +
- +
-#Autenticacion con LDAP +
- +
-<IfModule mod_authnz_ldap.c>\\ +
-      <Directory /var/www/html>\\ +
-       AuthType Basic\\ +
-       AuthName "SkinaTech Users"\\ +
-       AuthzLDAPAuthoritative Off\\ +
-       Authbasicprovider ldap\\ +
-       AuthLDAPURL "ldap:%%//%%localhost:389/ou=People,dc=skinatech,dc=com?uid?sub?(objectClass=userSecurityInformation)"\\ +
-      Require valid-user\\ +
-     </Directory>\\ +
-</IfModule> +
- +
- \\ +
-  +
- +
-==============================================================\\ +
-15-Marzo-2006 J.E.Gomez v1.0 Primera version wiki\\ +
-24-Enero-2007 J.F.Saganome.0 Primera version wiki +
- +
-===== Descripción ===== +
- +
-Servidor HTTP mas popular de todos +
- +
-===== Prerequistos ===== +
- +
-- Apache2\\ +
-- php4, perl, python +
- +
-===== Procedimiento ===== +
- +
-Instale los paquetes necesarios apache2 y sus plugins incluido ssl +
- +
-A. Verifique que apache esta corriendo incluido https visitando desde un navegador\\ +
-\\ +
-http:%%//%%localhost -- y https:%%//%%localhost -- +
- +
-B. Tambien garantice que los modulos de php y perl estan arriba. Se necesitan para las aplicaciones. +
- +
-===== Configuración ===== +
- +
-==== A. Cambio de las paginas por Default ==== +
- +
-Por defecto el sistema instala las páginas en /var/www/html (o /var/www en debians), pero no es\\ +
-lo adecuado porque requiere permisos de root. Por tal motivo se crea un usuario paginas del grupo\\ +
-users se redirecciona Apache para que las paginas por defecto esten alla:\\ +
-\\ +
-- Adicionar al sistema un usuario asi: +
- +
-> #> adduser -g users -d /home/paginas -p paginas -s /bin/bash -c paginas paginas\\ +
- +
--Crear un directorio public_html en el home del usuario y copie la paginas web\\ +
-de skina en ese directorio, +
- +
-> #> mkdir /home/paginas/public_html +
- +
-- Cambiar la pagina por defecto de Apache. Edite el archivo /etc/httpd/conf/httpd.conf\\ +
-(/etc/apache2/sites-available/default en debians) que incluya\\ +
-\\ +
-Document Root /home/paginas/public_html\\ +
-\\ +
-y lo mismo en el archivo de configuracion de SSL +
- +
-/etc/httpd/conf.d/41_mod_ssl.default-vhost.conf\\ +
-o\\ +
-/etc/httpd/conf.d/ssl.conf +
- +
-Tambien es necesario cambiar los permisos del directorio /var/www/html .. y ponerselos a\\ +
-al directorio /home/paginas/public_html. +
- +
-==== B. Directorio o URL protegido con contraseña ==== +
- +
-- http:%%//%%www.yolinux.com/TUTORIALS/LinuxTutorialApacheAddingLoginSiteProtection.html -- +
- +
-===== Otras Labores ===== +
- +
-==== 1. SSL ==== +
- +
-=== 1.1 en Debian === +
- +
-Apache 2.4\\ +
-\\ +
-Ya lo hace por defecto. Basta poner el site-available y listo\\ +
-\\ +
-Apache 2.2\\ +
-\\ +
-.. En debian es necesario habilitar el modulo, crear un site-available y\\ +
-generar las llaves +
- +
-> $> make-ssl-cert /usr/share/ssl-cert/ssleay.cnf apache.pem +
- +
-y ponga en /etc/apache2/ports.conf que escuche por 443\\ +
-\\ +
-- Reinicie el servicio y pruebe que funciona +
- +
-> $> /etc/init.d/httpd restart\\ +
- +
-\\ +
-visite http:%%//%%localhost y https:%%//%%localhost +
- +
-Chequee la referencia [[egw/egw_docroot/wiki/docs/apache2_ssl.html|apache2_ssl.htm l]] +
- +
-=== 1.2 SuSE === +
- +
-Igual que en debian es necesario habilitar el modulo, crear un site-available y\\ +
-generar las llaves +
- +
-> $> gensslcert +
- +
-y ponga en /etc/sysconfig/apache2 que  use SSL\\ +
-\\ +
-             APACHE_SERVER_FLAGS="SSL"\\ +
-\\ +
-Genere el archivo de configuracion del host virtual. En /etc/apache2/vhosts.d\\ +
-\\ +
-           $> cp vhost-ssl.template ssl-skina.conf\\ +
-\\ +
-- Reinicie el servicio y pruebe que funciona +
- +
-> $> /etc/init.d/apache2 restart\\ +
- +
-\\ +
-visite http:%%//%%localhost y https:%%//%%localhost\\ +
-\\ +
-\\ +
-$%%**%%%%**%%%%**%%%%**%%* revise con \\ +
-https:%%//%%www.sslshopper.com/ssl-checker.html +
- +
-==== 2. RedHat con paginas fuera del /var/www/html ==== +
- +
-.. en algunas familias de RH friega mucho las paginas en otro sitio que no sea en\\ +
-/var/www/html/ .. entonces pues se puede colocar el home de paginas alla y se\\ +
-le pone el home directory y los permisos del usuario paginas +
- +
-==== 3. Archivos sin extension ==== +
- +
-Quiero no poner la extension del archivo y que el servidor la escoja .. ejemplo en vez de poner webcam.html\\ +
-yo pongo solo webcam y lo coge bien\\ +
-\\ +
-Pinga la opcion de Multiviews en el directorio. +
- +
-==== 4. El apache de un CPANEL ==== +
- +
-Como usar el apache base de un cpanel !!. Eso esta en /usr/local/apache/htdocs y la condfiguracion esta /usr/local/apache/conf y se le puede incluir configuraciones en alguno de los archivos de /usr/local/apache/conf/includes.  +
- +
-==== 5. Configurar un WAF  (Modsecurity) ==== +
- +
-Hay un wiki de esto .. [[egroupware/index.php?menuaction=wiki.wiki_ui.view&page=Apache2+mod_security|AQUI ->]] +
- +
-==== 6. Multiples dominios con diferente certificado ==== +
- +
-https:%%//%%unix.stackexchange.com/questions/336925/apache-multiple-domains-and-multiple-ssl-to-same-ip-and-folder#343164  +
- +
-==== 7. Pruebas de Stress ==== +
- +
-http:%%//%%www.linuxjournal.com/article/6691 -- +
- +
-==== 8. Hardening ==== +
- +
-https:%%//%%geekflare.com/es/apache-web-server-hardening-security/ +
- +
-https:%%//%%beaglesecurity.com/blog/article/apache-web-server-hardening.html\\ +
-\\ +
-https:%%//%%wiki.debian.org/Apache/Hardening   Hay unas ideas cheveres para limitar las conexiones usando el firewall\\ +
-\\ +
-https:%%//%%www.tecmint.com/apache-security-tips/\\+
  
 +=== 9.1  Error: Timeout ===
  
 +https://serverfault.com/questions/1014537/how-to-fix-apache2-proxy-httperror-ah01102-error-reading-status-line-from-re\\
 +https://serverfault.com/questions/821076/proxy-http-time-out-error
 ===== Problemas ===== ===== Problemas =====
  
Línea 444: Línea 178:
 NOTA: el "genkey" generera los certificados un un periodo de vencimiento de 30 dias, si necesita que le vencimiento dure mas adicione el parametro --days #de dias NOTA: el "genkey" generera los certificados un un periodo de vencimiento de 30 dias, si necesita que le vencimiento dure mas adicione el parametro --days #de dias
  
-====  7. No sube apache por nss ====+====  2. No sube apache por nss ====
  
 En error_log no sale nada pero genera nss_error_log y dice: Certificate not verified: 'Server-Cert'  [error] SSL Library Error: -8181 Certificate has expired [error] Unable to verify certificate 'Server-Cert'. Add "NSSEnforceValidCerts off" to nss.conf so the server can start until the problem can be resolved. En error_log no sale nada pero genera nss_error_log y dice: Certificate not verified: 'Server-Cert'  [error] SSL Library Error: -8181 Certificate has expired [error] Unable to verify certificate 'Server-Cert'. Add "NSSEnforceValidCerts off" to nss.conf so the server can start until the problem can be resolved.
Línea 556: Línea 290:
 15-Marzo-2006 J.E.Gomez v1.0 Primera version wiki\\ 15-Marzo-2006 J.E.Gomez v1.0 Primera version wiki\\
 24-Enero-2007 J.F.Saganome.0 Primera version wiki 24-Enero-2007 J.F.Saganome.0 Primera version wiki
 +
  
Volver arriba