Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
info:cursos:pue:lpic2-2021:s10 [04/03/2021 10:01] – [Web Services] mateinfo:cursos:pue:lpic2-2021:s10 [09/03/2021 09:03] (actual) – [Web Services] mate
Línia 14: Línia 14:
   * centos trabajando con apache como debian: [[https://medium.com/@danielmayurilevano/c%C3%B3mo-configurar-hosts-virtuales-de-apache-en-centos-7-5a348a612286]]   * centos trabajando con apache como debian: [[https://medium.com/@danielmayurilevano/c%C3%B3mo-configurar-hosts-virtuales-de-apache-en-centos-7-5a348a612286]]
  
-==== directivas básicas+==== apache: directivas básicas
   * DOC: Material Practicas LPIC-2/LPIC-202/2-Web Services/Apache/1-Servidor Web Apache Basico.pdf   * DOC: Material Practicas LPIC-2/LPIC-202/2-Web Services/Apache/1-Servidor Web Apache Basico.pdf
   * **ServerRoot**: configuración   * **ServerRoot**: configuración
Línia 33: Línia 33:
   ServerAdmin admin@server1.curso.esp   ServerAdmin admin@server1.curso.esp
   DocumentRoot /var/www/html/intranet   DocumentRoot /var/www/html/intranet
-  ServerName intranet.curso.esp+  ServerName intranet.192.168.2.5.nip.io
   ServerAlias intranet   ServerAlias intranet
   DirectoryIndex index.html index.php   DirectoryIndex index.html index.php
Línia 59: Línia 59:
     * actua sobre los directorios     * actua sobre los directorios
   * módulo: mod_auth_basic   * módulo: mod_auth_basic
-    * podríamos hacerlo con las 2 contenedores:+    * podríamos hacerlo con los 2 contenedores:
       * Directory: /var/www/html/intranet/privado       * Directory: /var/www/html/intranet/privado
       * Location: /privado       * Location: /privado
Línia 66: Línia 66:
   ServerAdmin admin@server1.curso.esp   ServerAdmin admin@server1.curso.esp
   DocumentRoot /var/www/html/intranet   DocumentRoot /var/www/html/intranet
-  ServerName intranet.curso.esp+  ServerName intranet.192.168.2.5.nip.io
   ServerAlias intranet   ServerAlias intranet
   DirectoryIndex index.html index.php   DirectoryIndex index.html index.php
Línia 88: Línia 88:
     * Listen     * Listen
     * Options     * Options
-  * Directiva Options: 
   * Directiva **Options**: La directiva Options indica varias posibles opciones de comportamiento y estas pueden ser aplicadas a un directorio concreto. Un claro ejemplo de aplicación de estas directiva se puede observar en el siguiente cuadro:   * Directiva **Options**: La directiva Options indica varias posibles opciones de comportamiento y estas pueden ser aplicadas a un directorio concreto. Un claro ejemplo de aplicación de estas directiva se puede observar en el siguiente cuadro:
     * All: todas las opciones salvo MultiViews     * All: todas las opciones salvo MultiViews
Línia 100: Línia 99:
     * AuthConfig: Permitir el uso de directivas de autorización (AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, etc).     * AuthConfig: Permitir el uso de directivas de autorización (AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, etc).
     * FileInfo: Permitir el uso de directivas de control de tipo de documentos (DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, etc).     * FileInfo: Permitir el uso de directivas de control de tipo de documentos (DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, etc).
-    * Indexes: Permitir el uso de directivas que controlan los índices de +    * Indexes: Permitir el uso de directivas que controlan los índices de directorios (AddDescription, AddIcon, AddIconByEncoding,AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, etc).
-directorios (AddDescription, AddIcon, AddIconByEncoding,AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, etc).+
     * Limit: Permitir el uso de directivas de acceso de hosts (Allow, Deny y Order).     * Limit: Permitir el uso de directivas de acceso de hosts (Allow, Deny y Order).
     * Options: Permitir el uso de las opciones antes vistas en la directiva Options     * Options: Permitir el uso de las opciones antes vistas en la directiva Options
Línia 109: Línia 107:
   ServerAdmin admin@server1.curso.esp   ServerAdmin admin@server1.curso.esp
   DocumentRoot /var/www/html/intranet   DocumentRoot /var/www/html/intranet
-  ServerName intranet.curso.esp+  ServerName intranet.192.168.2.5.nip.io
   ServerAlias intranet   ServerAlias intranet
   DirectoryIndex index.html index.php   DirectoryIndex index.html index.php
Línia 140: Línia 138:
 # para borrar, htpasswd -D /var/www/claves <usuario> # para borrar, htpasswd -D /var/www/claves <usuario>
 </code> </code>
 +  * **mod_digest** deprecado, para Apache 2.2
  
 +==== SSL
 +<code bash>
 +cd /etc/httpd/conf
 +# generamos la key
 +openssl genrsa -out intranet.key 2048
 +
 +# generamos el certificado
 +openssl req -new -key intranet.key -out intranet.csr
 +
 +# lo enviamos a firmar a la una CA ;)
 +openssl x509 -req -days 365 -in intranet.csr -signkey intranet.key -out intranet.crt
 +</code>
 +<code apache>
 +# copiamos la configuración :80 y cambiamos por :443, añadiendo el certificado creado
 +<VirtualHost 192.168.2.5:443>
 +  ServerAdmin admin@server1.curso.esp
 +  DocumentRoot /var/www/html/intranet
 +  ServerName intranet.192.168.2.5.nip.io
 +  ServerAlias intranet
 +  SSlEngine On
 +  SSLCertificateFile /etc/httpd/conf/intranet.crt
 +  SSLCertificateKeyFile /etc/httpd/conf/intranet.key
 +  DirectoryIndex index.html index.php
 +  <Location /administrador>
 +    Order Deny,Allow
 +    deny from all
 +    allow from 192.168.2.1
 +  </Location>
 +  <Directory /var/www/html/intranet/privado>
 +    Options -FollowSymLinks -Indexes
 +    AllowOverride AuthConfig
 +    Order allow,deny
 +    Allow from all
 +  </Directory>
 +  ErrorLog logs/intranet-error_log
 +  CustomLog logs/intranet-access_log common
 +</VirtualHost>
 +</code>
 +<code apache>
 +<VirtualHost 192.168.2.5:80>
 +  ServerAdmin admin@server1.curso.esp
 +  DocumentRoot /var/www/html/intranet
 +  ServerName intranet.192.168.2.5.nip.io
 +  Redirect / https://intranet.192.168.2.5.nip.io
 +  ServerAlias intranet
 +  ErrorLog logs/intranet-error_log
 +  CustomLog logs/intranet-access_log common
 +</VirtualHost>
 +</code>
 +  * Digital Ocean
 +  * Cloudflare: versión gratuita, enmascara servidor, prevención DDoS
 +  * Modulos
 +    * **/etc/httpd/conf.modules.d**
 +    * LoadModule
 +    * desactivar modulos no usados
 +
 +==== rsync 
 +  * DOC: Material Practicas LPIC-2/LPIC-202/2-Web Services/Apache/Laboratorio Servidor Web Apache.pdf pag. 11
 +  * montarlo como servidor
 +    * a través **xnitd**, muy viejuno
 +  * ''rsync -e ssh -avvz <path_origen> <ip_destino>:<path_destino>''
 +    * **%%--%%delete**: espejo
 +
 +==== ldap
 +<code apache>
 +NameVirtualHost 192.168.0.150:80
 +
 +<VirtualHost 192.168.0.150:80>
 +ServerAdmin berto@srweb1.curso.esp
 +ServerName aplicaciones.curso.esp
 +ServerAlias aplicaciones
 +<Location />
 +    Options None
 +    Order deny,allow
 +   deny  from all
 +</Location>
 +
 +<Location /hello>
 +#Utilizamos el modulo de Apache mod_authnz_ldap 
 +  Options Includes
 +AuthBasicProvider ldap
 +AuthType Basic
 +AuthzLDAPAuthoritative off
 +AuthName "Solo Usuarios Active Directory"
 +AuthLDAPURL "ldap://192.168.0.254:389/ou=Informatica,DC=miempresa,DC=com?sAMAccountName"
 +AuthLDAPBindDN "cn=Administrador,cn=users,dc=miempresa,dc=com"
 +AuthLDAPBindPassword 000000
 +require valid-user  
 +Options None
 +   Order allow,deny
 +   allow  from all
 +</Location>
 +
 +<Location /jkstatus>
 +    Options None
 +    Order allow,deny
 +    allow  from all
 +</Location>
 +
 +ErrorLog logs/aplicaciones2-error_log
 +CustomLog logs/aplicaciones2-access_log combined
 +JkMountCopy on
 +
 +</VirtualHost>
 +</code>
 +  * **IPAServer.zip**, VMWare Player, LDAP
 +
 +=== proxy : squid
 +  * DOC: Material Practicas LPIC-2/LPIC-202/2-Web Services/Squid/Laboratorio Squid.pdf
 +  * DOC: pag. 309
 +  * http/https
 +  * filtrado
 +  * squid transparente
 +    * users -> router (tráfico http(s)) -> squid
 +      * protocolo WWCP
 +  * algoritmos de caché
 +    * LRU
 +    * LFUDA
 +  * ''yum install squid -y''
 +  * **/etc/squid/squid.conf**
 +    * ojo con los espacios en el fichero de configuración
 +    * **http_port**: transparent (se muestra en destino la IP de la máquina y no el squid)
 +    * **cache_dir**: <MB> <directorios> <ficheros>
 +  * **/var/log/squid/access.log**
 +  * **/var/log/squid/squid.out**
 +  * ''systemctl restart squid''
 +
 +==== restricciones
 +  * regular expression
 +    * **/etc/squid/expreg-denegada**
 +    * añadir al fichero de configuración:
 +      * ''acl <nombre> url_regexp "/etc/squid/expreg-denegada''
 +      * ''http_access deny <nombre>'' (antes de permitir otras cosas)
 +  * restricciones, excepto algunas
 +    * **/etc/squid/inocentes**
 +    * añadir al fichero de configuración:
 +      * ''acl denegados url_regexp "/etc/squid/expreg-denegada''
 +      * ''acl inocentes url_regexp "/etc/squid/inocentes''
 +      * ''http_access deny denegados !inocentes'' (antes de permitir otras cosas)
 +  * destino de dominio: **dstdomain**
 +  * validación contra LDAP
 +    * en los logs aparece el nombre de usuario
 +  * **time**: 
 +    * limitaciones horarias
 +  * listas
 +    * **blackweb-master**
 +  * **sarg**: generación de informes a partir de los logs de squid
  • info/cursos/pue/lpic2-2021/s10.1614880883.txt.gz
  • Darrera modificació: 04/03/2021 10:01
  • per mate