LPIC2 2021 Sesión 10 (2021-03-04)
Documentación relacionada:
Clase
Web Services
DOC: Material Practicas LPIC-2/LPIC-202/2-Web Services/Apache/Resumen Apache.txt
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/4-Laboratorio Servidor Web Apache RHE7.pdf
Manual Certificacion LPIC-2.pdf, pag. 289
-
apache: directivas básicas
DOC: Material Practicas LPIC-2/LPIC-202/2-Web Services/Apache/1-Servidor Web Apache Basico.pdf
ServerRoot: configuración
Listen 80: donde queremos que escuche (varios si queremos)
Include conf.modules.d/*.conf: módulos
User apache
Group apache
ServerAdmin <mail>
ServerName <URL>:<puerto>
contenedores:
AddDefaultCharset UTF-8
<VirtualHost 192.168.2.5:80>
ServerAdmin admin@server1.curso.esp
DocumentRoot /var/www/html/intranet
ServerName intranet.192.168.2.5.nip.io
ServerAlias intranet
DirectoryIndex index.html index.php
<Location /administrador>
Order Deny,Allow
deny from all
allow from 192.168.2.1
</Location>
<Location /prohibido>
Order Deny,Allow
deny from all
allow from 192.168.0.9
</Location>
<Location /permitido>
Order Deny,Allow
deny from all
allow from 192.168.2.1
</Location>
ErrorLog logs/intranet-error_log
CustomLog logs/intranet-access_log common
</VirtualHost>
Location
Directory
módulo: mod_auth_basic
<VirtualHost 192.168.2.5:80>
ServerAdmin admin@server1.curso.esp
DocumentRoot /var/www/html/intranet
ServerName intranet.192.168.2.5.nip.io
ServerAlias intranet
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
</Directory>
ErrorLog logs/intranet-error_log
CustomLog logs/intranet-access_log common
</VirtualHost>
Directivas
Timeout
KeepAlive
MaxKeepAliveRequests
KeepAliveTimeout
Listen
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:
All: todas las opciones salvo MultiViews
ExecCGI: Se permite la ejecución de scripts
CGI.
FollowSymLinks: el servidor seguirá los enlaces simbólicos. Tener esta opción activa aumenta el rendimiento ya que el servidor no comprueba si un fichero o directorio es un enlace simbólico y es más rápido, pero en algunos casos puede presentar problemas de inseguridad.
Includes: Se permiten incluir Server-side.
Indexes: Si una
URL solicita un directorio y no existe DirectoryIndex (v.g., index.html) en ese directorio, el servidor devolverá una lista del contenido del directorio.
MultiViews: Se permite mostrar contenido negociado en función de diversos valores.
SymLinksIfOwnerMatch: Se sigue un enlace simbólico sólo si los propietarios del enlace y del destino coinciden.
Directiva AllowOverride: La directiva AllowOverride controla qué directivas se pueden situar el los ficheros .htaccess y estas pueden ser aplicadas igualmente a un directorio concreto:
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).
Indexes: Permitir el uso de directivas que controlan los índices de 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).
Options: Permitir el uso de las opciones antes vistas en la directiva Options
<VirtualHost 192.168.2.5:80>
ServerAdmin admin@server1.curso.esp
DocumentRoot /var/www/html/intranet
ServerName intranet.192.168.2.5.nip.io
ServerAlias intranet
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>
- .htaccess
AuthName "Solo usuarios autorizados"
AuthType Basic
require valid-user
AuthUserFile /var/www/claves
touch /var/www/claves
chmod 600 /var/www/claves
chown apache:apache /var/www/claves
htpasswd /var/www/claves jueves4
# para borrar, htpasswd -D /var/www/claves <usuario>
SSL
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
# 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>
<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>
rsync
ldap
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>
IPAServer.zip, VMWare Player,
LDAP
proxy : squid
restricciones
regular expression
restricciones, excepto algunas
destino de dominio: dstdomain
-
time:
listas
sarg: generación de informes a partir de los logs de squid