Squid + Autenticación PAM en CentOS 7- Redes PYMES
Índice general de la serie: Redes de Computadoras para las PYMES: Introducción
federicotoujague@gmail.com
https://blog.desdelinux.net/author/fico
¡Hola amigas y amigos!
El título del artículo debió ser: “MATE + NTP + Dnsmasq + Servicio de Pasarela + Apache + Squid con Autenticación PAM en Centos 7 – Redes PYMES“. Por motivos prácticos lo acortamos.
Continuamos con la autenticación ante usuarios locales en un equipo con Linux mediante PAM, y en ésta oportunidad veremos cómo podemos brindar el servicio Proxy con el Squid para una red pequeña de computadoras, mediante el uso de las credenciales de autenticación almacenadas en el mismo equipo donde se ejecuta el servidor Squid.
Aunque sabemos que es práctica muy común en nuestros días, autenticar los servicios contra un OpenLDAP, Directory Server 389 de la Red Hat, Microsoft Active Directory, etcétera, consideramos que debemos primero pasar por soluciones sencillas y baratas, para después afrontar las mas complejas. Opinamos que debemos ir de lo sencillo a lo complejo.
Escenario
Se trata de una pequeña organización -con muy pocos recursos económicos- dedicada a apoyar el uso de Software Libre y que optó por el nombre de DesdeLinux.Fan. Son varios Entusiastas del sistema operativo CentOS agrupados en una sola oficina. Compraron una estación de trabajo -que no servidor profesional- la que dedicarán a funcionar como “servidor”.
Los Entusiastas no tienen amplios conocimientos de cómo implementar un servidor OpenLDAP o un Samba 4 AD-DC, ni tampoco pueden costear la Licencia de un Microsoft Active Directory. Sin embargo necesitan para su diario trabajo de los servicios de acceso a Internet mediante un Proxy -para acelerar la navegación- y de un espacio donde guardar como copias de seguridad sus documentos y trabajos mas valiosos.
Aun utilizan mayoritariamente sistemas operativos de Microsoft adquiridos legalmente, pero quieren cambiarlos a Sistemas Operativos basados en Linux, empezando por su “Servidor”.
Aspiran también a tener su propio servidor de correo para independizarse -al menos del origen- de servicios como Gmail, Yahoo, HotMail, etcétera, que es lo que utilizan actualmente.
El Muro Cortafuegos y Reglas de Encaminamiento frente a Internet la establecerán en el propio Router ADSL contratado.
No tienen un nombre de dominio real pues no requieren publicar ningún servicio en Internet.
CentOS 7 como servidor sin GUI
Partimos de una instalación nueva de un servidor sin interfaz gráfica, y la única opción que seleccionamos durante el proceso es “Servidor de Infraestructura” como vimos en artículos anteriores de la serie.
Ajustes iniciales
[root@linuxbox ~]# cat /etc/hostname
linuxbox
[root@linuxbox ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.5 linuxbox.desdelinux.fan linuxbox
[root@linuxbox ~]# hostname
linuxbox
[root@linuxbox ~]# hostname -f
linuxbox.desdelinux.fan
[root@linuxbox ~]# ip addr list
[root@linuxbox ~]# ifconfig -a
[root@linuxbox ~]# ls /sys/class/net/
ens32 ens34 lo
Inhabilitamos el Network Manager
[root@linuxbox ~]# systemctl stop NetworkManager [root@linuxbox ~]# systemctl disable NetworkManager [root@linuxbox ~]# systemctl status NetworkManager ● NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:NetworkManager(8) [root@linuxbox ~]# ifconfig -a
Configuramos las interfaces de red
Interfaz ens32 LAN conectada a la Red Interna
[root@linuxbox ~]# nano /etc/sysconfig/network-scripts/ifcfg-ens32
DEVICE=ens32
ONBOOT=yes
BOOTPROTO=static
HWADDR=00:0c:29:da:a3:e7
NM_CONTROLLED=no
IPADDR=192.168.10.5
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DOMAIN=desdelinux.fan
DNS1=127.0.0.1
ZONE=public
[root@linuxbox ~]# ifdown ens32 && ifup ens32
Interfaz ens34 WAN conectada a la Internet
[root@linuxbox ~]# nano /etc/sysconfig/network-scripts/ifcfg-ens34 DEVICE=ens34 ONBOOT=yes BOOTPROTO=static HWADDR=00:0c:29:da:a3:e7 NM_CONTROLLED=no IPADDR=172.16.10.10 NETMASK=255.255.255.0 # El Router ADSL está conectado a # ésta interfaz con # la siguiente dirección IP GATEWAY=172.16.10.1 DOMAIN=desdelinux.fan DNS1=127.0.0.1 ZONE=external [root@linuxbox ~]# ifdown ens34 && ifup ens34
Configuración de los repositorios
[root@linuxbox ~]# cd /etc/yum.repos.d/ [root@linuxbox ~]# mkdir originales [root@linuxbox ~]# mv Centos-* originales/ [root@linuxbox ~]# nano centos.repo [Base-Repo] name=CentOS-$releasever baseurl=http://192.168.10.1/repos/centos/7/base/x86_64/ gpgcheck=0 enabled=1 [CentosPlus-Repo] name=CentOS-$releasever baseurl=http://192.168.10.1/repos/centos/7/centosplus/x86_64/ gpgcheck=0 enabled=1 [Epel-Repo] name=CentOS-$releasever baseurl=http://192.168.10.1/repos/centos/7/epel/x86_64/ gpgcheck=0 enabled=1 [Updates-Repo] name=CentOS-$releasever baseurl=http://192.168.10.1/repos/centos/7/updates/x86_64/ gpgcheck=0 enabled=1 [root@linuxbox yum.repos.d]# yum clean all Complementos cargados:fastestmirror, langpacks Limpiando repositorios: Base-Repo CentosPlus-Repo Epel-Repo Media-Repo : Updates-Repo Cleaning up everything Cleaning up list of fastest mirrors
[root@linuxbox yum.repos.d]# yum update Complementos cargados:fastestmirror, langpacks Base-Repo | 3.6 kB 00:00 CentosPlus-Repo | 3.4 kB 00:00 Epel-Repo | 4.3 kB 00:00 Media-Repo | 3.6 kB 00:00 Updates-Repo | 3.4 kB 00:00 (1/9): Base-Repo/group_gz | 155 kB 00:00 (2/9): Epel-Repo/group_gz | 170 kB 00:00 (3/9): Media-Repo/group_gz | 155 kB 00:00 (4/9): Epel-Repo/updateinfo | 734 kB 00:00 (5/9): Media-Repo/primary_db | 5.3 MB 00:00 (6/9): CentosPlus-Repo/primary_db | 1.1 MB 00:00 (7/9): Updates-Repo/primary_db | 2.2 MB 00:00 (8/9): Epel-Repo/primary_db | 4.5 MB 00:01 (9/9): Base-Repo/primary_db | 5.6 MB 00:01 Determining fastest mirrors No packages marked for update
El mensaje “No packages marked for update” se muestra porque durante la instalación declaramos los mismos repositorios locales que tenemos a nuestra disposición.
Centos 7 con el ambiente de escritorio MATE
Para utilizar las muy buenas herramientas de administración con interfaz gráfica que nos brindan CentOS/Red Hat, y porque siempre añoramos al GNOME2, decidimos instalar MATE como ambiente de escritorio.
[root@linuxbox ~]# yum groupinstall "X Window system" [root@linuxbox ~]# yum groupinstall "MATE Desktop"
Para comprobar que el MATE se carga adecuadamente, ejecutamos en una consola -local o remota- el siguiente comando:
[root@linuxbox ~]# systemctl isolate graphical.target
y el ambiente de escritorio se debe cargar –en el equipo local– sin problemas, mostrando el lightdm como inicio de sesión gráfico. Tecleamos el nombre del usuario local y su contraseña, y entraremos al MATE.
Para indicarle al systemd que el nivel de arranque por defecto es el 5 -ambiente gráfico- creamos el siguiente enlace simbólico:
[root@linuxbox ~]# ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
Reiniciamos el sistema y todo funciona correctamente.
Instalamos el Servicio de Tiempo para Redes
[root@linuxbox ~]# yum install ntp
Durante la instalación configuramos que el reloj local se sincronizara con el servidor de tiempo del equipo sysadmin.desdelinux.fan con IP 192.168.10.1. Entonces, guardamos el archivo ntp.conf original mediante:
[root@linuxbox ~]# cp /etc/ntp.conf /etc/ntp.conf.original
Ahora, creamos uno nuevo con el siguiente contenido:
[root@linuxbox ~]# nano /etc/ntp.conf # Servidores configurados durante la instalación: server 192.168.10.1 iburst # Para mas información, consulte las páginas del manual de: # ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5). driftfile /var/lib/ntp/drift # Permitir sincronizar con la fuente de tiempo, pero no # permitir que la fuente consulte o modifique éste servicio restrict default nomodify notrap nopeer noquery # Permitir todo el acceso a la interfaz Loopback restrict 127.0.0.1 restrict ::1 # Restringir un poco menos a los equipos de la red local. restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap # Usar los servidores públicos del proyecto pool.ntp.org # Si desea unirse al proyecto visite # (http://www.pool.ntp.org/join.html). #broadcast 192.168.10.255 autokey # broadcast server broadcastclient # broadcast client #broadcast 224.0.1.1 autokey # multicast server #multicastclient 224.0.1.1 # multicast client #manycastserver 239.255.254.254 # manycast server #manycastclient 239.255.254.254 autokey # manycast client broadcast 192.168.10.255 # Habilitar la criptografía pública. #crypto includefile /etc/ntp/crypto/pw # Archivo de clave que contiene las claves e identificadores de claves # utilizados al operar con criptografía simétrica de claves keys /etc/ntp/keys # Especificar los identificadores de claves de confianza. #trustedkey 4 8 42 # Especificar el identificador de clave a utilizar con la utilidad ntpdc. #requestkey 8 # Especificar el identificador de clave a utilizar con la utilidad ntpq. #controlkey 8 # Habilitar la escritura de los registros de estadísticas. #statistics clockstats cryptostats loopstats peerstats # Inhabilitar el monitor de secesos para prevenir la amplificación de # ataques utilizando el comando ntpdc monlist, cuando la restricción # por defecto no incluye la bandera noquery. Lea la CVE-2013-5211 # para mas detalles. # Nota: El Monitor no se inhabilita con la bandera de restricción limitada. disable monitor
Habilitamos, iniciamos y comprobamos el servicio NTP
[root@linuxbox ~]# systemctl status ntpd
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
[root@linuxbox ~]# systemctl enable ntpd
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.
[root@linuxbox ~]# systemctl start ntpd
[root@linuxbox ~]# systemctl status ntpd
[root@linuxbox ~]# systemctl status ntpd
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)
Active: active (running) since vie 2017-04-14 15:51:08 EDT; 1s ago
Process: 1307 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 1308 (ntpd)
CGroup: /system.slice/ntpd.service
└─1308 /usr/sbin/ntpd -u ntp:ntp -g
Ntp y el Firewall
[root@linuxbox ~]# firewall-cmd --get-active-zones external interfaces: ens34 public interfaces: ens32 [root@linuxbox ~]# firewall-cmd --zone=public --add-port=123/udp --permanent success [root@linuxbox ~]# firewall-cmd --reload success
Habilitamos y configuramos el Dnsmasq
Como vimos en artículo anterior de la serie Redes PYMES, el Dnsamasq se instala por defecto en un Servidor de Infraestructura CentOS 7.
[root@linuxbox ~]# systemctl status dnsmasq ● dnsmasq.service - DNS caching server. Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; disabled; vendor preset: disabled) Active: inactive (dead) [root@linuxbox ~]# systemctl enable dnsmasq Created symlink from /etc/systemd/system/multi-user.target.wants/dnsmasq.service to /usr/lib/systemd/system/dnsmasq.service. [root@linuxbox ~]# systemctl start dnsmasq [root@linuxbox ~]# systemctl status dnsmasq ● dnsmasq.service - DNS caching server. Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; enabled; vendor preset: disabled) Active: active (running) since vie 2017-04-14 16:21:18 EDT; 4s ago Main PID: 33611 (dnsmasq) CGroup: /system.slice/dnsmasq.service └─33611 /usr/sbin/dnsmasq -k [root@linuxbox ~]# mv /etc/dnsmasq.conf /etc/dnsmasq.conf.original [root@linuxbox ~]# nano /etc/dnsmasq.conf # ------------------------------------------------------------------- # O P C I O N E S G E N E R A L E S # ------------------------------------------------------------------- domain-needed # No pasar nombres sin la parte del dominio bogus-priv # No pasar direcciones en el espacio no enrutado expand-hosts # Adiciona automaticamente el dominio al host interface=ens32 # Interface LAN strict-order # Orden en que consulta el archivo /etc/resolv.conf conf-dir=/etc/dnsmasq.d domain=desdelinux.fan # Nombre del dominio address=/time.windows.com/192.168.10.5 # Envía una opción vacía del valor WPAD. Se requiere para que # se comporten bien los clientes Windos 7 y posteriores. ;-) dhcp-option=252,"\n" # Archivo donde declararemos los HOSTS que serán "baneados" addn-hosts=/etc/banner_add_hosts local=/desdelinux.fan/ # ------------------------------------------------------------------- # R E G I S T R O S C N A M E M X T X T # ------------------------------------------------------------------- # Este tipo de registro requiere de una entrada # en el archivo /etc/hosts # ej: 192.168.10.5 linuxbox.desdelinux.fan linuxbox # cname=ALIAS,REAL_NAME cname=mail.desdelinux.fan,linuxbox.desdelinux.fan # REGISTROS MX # Devuelve un registro MX con el nombre "desdelinux.fan" con destino # al equipo mail.desdelinux.fan y prioridad de 10 mx-host=desdelinux.fan,mail.desdelinux.fan,10 # El destino por defecto para los registros MX que se creen # utilizando la opción localmx será: mx-target=mail.desdelinux.fan # Devuelve un registro MX apuntando al mx-target para TODAS # las máquinas locales localmx # Registros TXT. Podemos declarar también un registro SPF txt-record=desdelinux.fan,"v=spf1 a -all" txt-record=desdelinux.fan,"DesdeLinux, su Blog dedicado al Software Libre" # ------------------------------------------------------------------- # R A N G O Y S U S O P C I O N E S # ------------------------------------------------------------------- # Rango IPv4 y tiempo de arrendamiento # De la 1 a la 29 son para los Servidores y otras necesidades dhcp-range=192.168.10.30,192.168.10.250,8h dhcp-lease-max=222 # Cantidad máxima de direcciones a arrendar # por defecto son 150 # Rango IPV6 # dhcp-range=1234::, ra-only # Opciones para el RANGO # O P C I O N E S dhcp-option=1,255.255.255.0 # NETMASK dhcp-option=3,192.168.10.5 # ROUTER GATEWAY dhcp-option=6,192.168.10.5 # DNS Servers dhcp-option=15,desdelinux.fan # DNS Domain Name dhcp-option=19,1 # option ip-forwarding ON dhcp-option=28,192.168.10.255 # BROADCAST dhcp-option=42,192.168.10.5 # NTP dhcp-authoritative # DHCP Autoritario en la subnet # ------------------------------------------------------------------- # Si desean almacenar en /var/log/messages el log de las consultas # elimine el comentario de la línea a continuación # ------------------------------------------------------------------- # log-queries # F I N del archivo /etc/dnsmasq.conf # -------------------------------------------------------------------
Creamos el archivo /etc/banner_add_hosts
[root@linuxbox ~]# nano /etc/banner_add_hosts 192.168.10.5 windowsupdate.com 192.168.10.5 ctldl.windowsupdate.com 192.168.10.5 ocsp.verisign.com 192.168.10.5 csc3-2010-crl.verisign.com 192.168.10.5 www.msftncsi.com 192.168.10.5 ipv6.msftncsi.com 192.168.10.5 teredo.ipv6.microsoft.com 192.168.10.5 ds.download.windowsupdate.com 192.168.10.5 download.microsoft.com 192.168.10.5 fe2.update.microsoft.com 192.168.10.5 crl.microsoft.com 192.168.10.5 www.download.windowsupdate.com 192.168.10.5 win8.ipv6.microsoft.com 192.168.10.5 spynet.microsoft.com 192.168.10.5 spynet1.microsoft.com 192.168.10.5 spynet2.microsoft.com 192.168.10.5 spynet3.microsoft.com 192.168.10.5 spynet4.microsoft.com 192.168.10.5 spynet5.microsoft.com 192.168.10.5 office15client.microsoft.com 192.168.10.5 addons.mozilla.org 192.168.10.5 crl.verisign.com
Direcciones IP fijas
[root@linuxbox ~]# nano /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.10.5 linuxbox.desdelinux.fan linuxbox 192.168.10.1 sysadmin.desdelinux.fan sysadmin
Configuramos el archivo /etc/resolv.conf – resolver
[root@linuxbox ~]# nano /etc/resolv.conf search desdelinux.fan nameserver 127.0.0.1 # Para consultas DNS externas o # que no sean del dominio desdelinux.fan # local=/desdelinux.fan/ nameserver 8.8.8.8
Comprobamos sintaxis del archivo dnsmasq.conf, iniciamos y comprobamos el estado del servicio
[root@linuxbox ~]# dnsmasq --test dnsmasq: syntax check OK. [root@linuxbox ~]# systemctl restart dnsmasq [root@linuxbox ~]# systemctl status dnsmasq
Dnsmasq y el Firewall
[root@linuxbox ~]# firewall-cmd --get-active-zones
external
interfaces: ens34
public
interfaces: ens32
Servicio domain o Servidor de Nombre de Dominio (dns). Protocolo swipe “IP with Encryption“
[root@linuxbox ~]# firewall-cmd --zone=public --add-port=53/tcp --permanent success [root@linuxbox ~]# firewall-cmd --zone=public --add-port=53/udp --permanent success
Consultas del Dnsmasq a servidores DNS externos
[root@linuxbox ~]# firewall-cmd --zone=external --add-port=53/tcp --permanent success [root@linuxbox ~]# firewall-cmd --zone=external --add-port=53/udp --permanent success
Servicio bootps o BOOTP server (dhcp). Protocolo ippc “Internet Pluribus Packet Core“
[root@linuxbox ~]# firewall-cmd --zone=public --add-port=67/tcp --permanent success [root@linuxbox ~]# firewall-cmd --zone=public --add-port=67/udp --permanent success [root@linuxbox ~]# firewall-cmd --reload success [root@linuxbox ~]# firewall-cmd --info-zone public public (active) target: default icmp-block-inversion: no interfaces: ens32 sources: services: dhcp dns ntp ssh ports: 67/tcp 53/udp 123/udp 67/udp 53/tcp protocols: masquerade: no forward-ports: sourceports: icmp-blocks: rich rules: [root@linuxbox ~]# firewall-cmd --info-zone external external (active) target: default icmp-block-inversion: no interfaces: ens34 sources: services: dns ports: 53/udp 53/tcp protocols: masquerade: yes forward-ports: sourceports: icmp-blocks: parameter-problem redirect router-advertisement router-solicitation source-quench rich rules:
Si deseamos emplear una interfaz gráfica para configurar el Firewall en CentOS 7, buscamos en el menú general -dependerá del ambiente de escritorio en cual submenú aparece- la aplicación “Cortafuegos”, la ejecutamos y después de introducir la clave del usuario root, accederemos a la interfaz del programa como tal. En MATE aparece en el menú “Sistema” –> “Administración” –> “Cortafuegos”.
Seleccionamos la Zona “public” y autorizamos los Servicios que queremos se publiquen en la LAN, que hasta ahora son dhcp, dns, ntp y ssh. Después de seleccionar los servicios, comprobar fehacientemente que todo funciona correctamente, debemos hacer los cambios en Tiempo de Ejecución a Permanentes. Para ello vamos al menú Opciones y seleccionamos la opción “Tiempo de ejecución a permanente“.
Posteriormente seleccionamos la Zona “external” y comprobamos que los Puertos necesarios para comunicarnos con Internet estén abiertos. !NO publicar Servicios en ésta Zona a menos que sepamos muy bien que estamos haciendo!.
No olvidemos hacer los cambios Permanentes mediante la opción “Tiempo de ejecución a permanente” y recargar el demonio FirewallD, cada vez que utilicemos esta poderosa herramienta gráfica.
NTP y Dnsmasq desde un cliente Windows 7
Sincronización con el NTP
external
Dirección IP arrendada
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\buzz>ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : SEVEN
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : desdelinux.fan
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . : desdelinux.fan
Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection
Physical Address. . . . . . . . . : 00-0C-29-D6-14-36
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IPv4 Address. . . . . . . . . . . : 192.168.10.115(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : Friday, April 14, 2017 5:12:53 PM
Lease Expires . . . . . . . . . . : Saturday, April 15, 2017 1:12:53 AM
Default Gateway . . . . . . . . . : 192.168.10.1
DHCP Server . . . . . . . . . . . : 192.168.10.5
DNS Servers . . . . . . . . . . . : 192.168.10.5
NetBIOS over Tcpip. . . . . . . . : Enabled
Tunnel adapter Local Area Connection* 9:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Microsoft Teredo Tunneling Adapter
Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Tunnel adapter isatap.desdelinux.fan:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . : desdelinux.fan
Description . . . . . . . . . . . : Microsoft ISATAP Adapter #2
Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
C:\Users\buzz>
Tip
Un valor importante en los clientes Windows es el “Primary Dns Suffix” o “Sufijo principal de la conexión”. Cuando no se utiliza un Controlador de Dominio Microsoft, el sistema operativo no le asigna ningún valor. Si estamos frente a un caso como el descrito al inicio del artículo y queremos declarar explícitamente ese valor, debemos proceder acorde a lo mostrado en la siguiente imagen, aceptar los cambios y reiniciar el cliente.
Si volvemos a ejecutar CMD –> ipconfig /all obtendremos lo siguiente:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\buzz>ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : SEVEN
Primary Dns Suffix . . . . . . . : desdelinux.fan
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : desdelinux.fan
El resto de los valores permanece inalterable
Comprobaciones DNS
buzz@sysadmin:~$ host spynet.microsoft.com spynet.microsoft.com has address 127.0.0.1 Host spynet.microsoft.com not found: 5(REFUSED) spynet.microsoft.com mail is handled by 1 mail.desdelinux.fan. buzz@sysadmin:~$ host linuxbox linuxbox.desdelinux.fan has address 192.168.10.5 linuxbox.desdelinux.fan mail is handled by 1 mail.desdelinux.fan. buzz@sysadmin:~$ host sysadmin sysadmin.desdelinux.fan has address 192.168.10.1 sysadmin.desdelinux.fan mail is handled by 1 mail.desdelinux.fan. buzz@sysadmin:~$ host mail mail.desdelinux.fan is an alias for linuxbox.desdelinux.fan. linuxbox.desdelinux.fan has address 192.168.10.5 linuxbox.desdelinux.fan mail is handled by 1 mail.desdelinux.fan.
Instalamos –para pruebas solamente– un servidor DNS Autoritario NSD en sysadmin.desdelinux.fan, e incluimos la dirección IP 172.16.10.1 en el archivo /etc/resolv.conf del equipo linuxbox.desdelinux.fan, para comprobar que el Dnsmasq ejecutaba su función de Forwarder correctamente. Las Zonas de pruebas en el servidor NSD son favt.org y toujague.org. Todas las IP son ficticias o de redes privadas.
Si inhabiltamos la interfaz WAN ens34 mediante el comando ifdown ens34, el Dnsmasq no podrá consultar a servidores DNS externos.
[buzz@linuxbox ~]$ sudo ifdown ens34 [buzz@linuxbox ~]$ host -t mx toujague.org Host toujague.org not found: 3(NXDOMAIN) [buzz@linuxbox ~]$ host pizzapie.favt.org Host pizzapie.favt.org not found: 3(NXDOMAIN)
Habilitemos la interfaz ens34 y consultemos de nuevo:
[buzz@linuxbox ~]$ sudo ifup ens34
buzz@linuxbox ~]$ host pizzapie.favt.org pizzapie.favt.org is an alias for paisano.favt.org. paisano.favt.org has address 172.16.10.4 [buzz@linuxbox ~]$ host pizzapie.toujague.org Host pizzas.toujague.org not found: 3(NXDOMAIN) [buzz@linuxbox ~]$ host poblacion.toujague.org poblacion.toujague.org has address 169.18.10.18 [buzz@linuxbox ~]$ host -t NS favt.org favt.org name server ns1.favt.org. favt.org name server ns2.favt.org. [buzz@linuxbox ~]$ host -t NS toujague.org toujague.org name server ns1.toujague.org. toujague.org name server ns2.toujague.org. [buzz@linuxbox ~]$ host -t MX toujague.org toujague.org mail is handled by 10 mail.toujague.org.
Consultemos desde sysadmin.desdelinux.fan:
buzz@sysadmin:~$ cat /etc/resolv.conf search desdelinux.fan nameserver 192.168.10.5 xeon@sysadmin:~$ host mail.toujague.org mail.toujague.org has address 169.18.10.19
El Dnsmasq está funcionando como Forwarder correctamente.
Squid
En el libro en formato PDF “Configuración de Servidores Linux” con fecha 25 de julio del 2016, del Autor Joel Barrios Dueñas (darkshram@gmail.com – http://www.alcancelibre.org/), texto al cual he hecho referencia en artículos anteriores, hay todo un capítulo dedicado a las Opciones básicas de configuración del Squid.
Por la importancia del servicio Web – Proxy reproducimos la Introducción que se hace sobre el Squid en el mencionado libro:
105.1. Introducción.
105.1.1. ¿Qué es Servidor Intermediario (Proxy)?
El término en ingles «Proxy» tiene un significado muy general y al mismo tiempo ambiguo, aunque
invariablemente se considera un sinónimo del concepto de «Intermediario». Se suele traducir, en el sentido estricto, como delegado o apoderado (el que tiene poder sobre otro).
Un Servidor Intermediario se define como una computadora o dispositivo que ofrece un servicio de red que consiste en permitir a los clientes realizar conexiones de red indirectas hacia otros servicios de red. Durante el proceso ocurre lo siguiente:
- Cliente se conecta hacia un Servidor Proxy.
- Cliente solicita una conexión, archivo u otro recurso disponible en un servidor distinto.
- Servidor Intermediario proporciona el recurso ya sea conectándose hacia el servidor especificado
o sirviendo éste desde un caché. - En algunos casos el Servidor Intermediario puede alterar la solicitud del cliente o bien la
respuesta del servidor para diversos propósitos.
Los Servidores Proxy generalmente se hacen trabajar simultáneamente como muro cortafuegos operando en el Nivel de Red, actuando como filtro de paquetes, como en el caso de iptables o bien operando en el Nivel de Aplicación, controlando diversos servicios, como es el caso de TCP Wrapper. Dependiendo del contexto, el muro cortafuegos también se conoce como BPD o Border Protection Device o simplemente filtro de paquetes.
Una aplicación común de los Servidores Proxy es funcionar como caché de contenido de Red (principalmente HTTP), proporcionando en la proximidad de los clientes un caché de páginas y archivos disponibles a través de la Red en servidores HTTP remotos, permitiendo a los clientes de la red local acceder hacia éstos de forma más rápida y confiable.
Cuando se recibe una petición para un recurso de Red especificado en un URL (Uniform Resource Locator) el Servidor Intermediario busca el resultado del URL dentro del caché. Si éste es encontrado, el Servidor Intermediario responde al cliente proporcionado inmediatamente el contenido solicitado. Si el contenido solicitado estuviera ausente en el caché, el Servidor Intermediario lo traerá desde servidor remoto, entregándolo al cliente que lo solicitó y guardando una copia en el caché. El contenido en el caché es eliminado luego a través de un algoritmo de expiración de acuerdo a la antigüedad, tamaño e historial de respuestas a solicitudes (hits) (ejemplos: LRU, LFUDA y GDSF).
Los Servidores Proxy para contenido de Red (Web Proxies) también pueden actuar como filtros del contenido servido, aplicando políticas de censura de acuerdo a criterios arbitrarios.
La versión del Squid que instalaremos es la 3.5.20-2.el7_3.2 del repositorio updates.
Instalación
[root@linuxbox ~]# yum install squid [root@linuxbox ~]# ls /etc/squid/ cachemgr.conf errorpage.css.default squid.conf cachemgr.conf.default mime.conf squid.conf.default errorpage.css mime.conf.default [root@linuxbox ~]# systemctl enable squid
Importante
- El objetivo fundamental de éste artículo es Autorizar a los usuarios locales a conectarse con el Squid desde otros equipos conectados a la Red LAN. Además, implementar el núcleo de un servidor al cual se le irán agregando otros servicios. No es un artículo dedicado al Squid como tal.
- Para que se tenga una idea de las opciones de configuración del Squid, lean el archivo /usr/share/doc/squid-3.5.20/squid.conf.documented, el cual tiene 7915 líneas.
SELinux y Squid
[root@linuxbox ~]# getsebool -a | grep squid squid_connect_any --> on squid_use_tproxy --> off [root@linuxbox ~]# setsebool -P squid_connect_any=on
Configuración
[root@linuxbox ~]# nano /etc/squid/squid.conf # Red LAN acl localnet src 192.168.10.0/24 acl SSL_ports port 443 21 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT # Negamos consultas por puertos no seguros http_access deny !Safe_ports # Negamos el método CONNECT a puertos no seguros http_access deny CONNECT !SSL_ports # Acceso al administrador de la caché solamente desde localhost http_access allow localhost manager http_access deny manager # We strongly recommend the following be uncommented to protect innocent # web applications running on the proxy server who think the only # one who can access services on "localhost" is a local user http_access deny to_localhost # # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS # # Autorización PAM auth_param basic program /usr/lib64/squid/basic_pam_auth auth_param basic children 5 auth_param basic realm desdelinux.fan auth_param basic credentialsttl 2 hours auth_param basic casesensitive off # Para acceder al Squid se requiere autenticación acl Entusiastas proxy_auth REQUIRED # Permitimos el acceso a usuarios autenticados # mediante PAM http_access deny !Entusiastas # Acceso a sitios FTP acl ftp proto FTP http_access allow ftp http_access allow localnet http_access allow localhost # Negamos cualquier otro acceso al proxy http_access deny all # Squid normalmente escucha por el puerto 3128 http_port 3128 # Dejamos los "coredumps" en el primer directorio caché coredump_dir /var/spool/squid # # Add any of your own refresh_pattern entries above these. # refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320 cache_mem 64 MB # Memoria Caché memory_replacement_policy lru cache_replacement_policy heap LFUDA cache_dir aufs /var/spool/squid 4096 16 256 maximum_object_size 4 MB cache_swap_low 85 cache_swap_high 90 cache_mgr buzz@desdelinux.fan # Otros parámetros visible_hostname linuxbox.desdelinux.fan
Comprobamos la sintaxis del archivo /etc/squid/squid.conf
[root@linuxbox ~]# squid -k parse 2017/04/16 15:45:10| Startup: Initializing Authentication Schemes ... 2017/04/16 15:45:10| Startup: Initialized Authentication Scheme 'basic' 2017/04/16 15:45:10| Startup: Initialized Authentication Scheme 'digest' 2017/04/16 15:45:10| Startup: Initialized Authentication Scheme 'negotiate' 2017/04/16 15:45:10| Startup: Initialized Authentication Scheme 'ntlm' 2017/04/16 15:45:10| Startup: Initialized Authentication. 2017/04/16 15:45:10| Processing Configuration File: /etc/squid/squid.conf (depth 0) 2017/04/16 15:45:10| Processing: acl localnet src 192.168.10.0/24 2017/04/16 15:45:10| Processing: acl SSL_ports port 443 21 2017/04/16 15:45:10| Processing: acl Safe_ports port 80 # http 2017/04/16 15:45:10| Processing: acl Safe_ports port 21 # ftp 2017/04/16 15:45:10| Processing: acl Safe_ports port 443 # https 2017/04/16 15:45:10| Processing: acl Safe_ports port 70 # gopher 2017/04/16 15:45:10| Processing: acl Safe_ports port 210 # wais 2017/04/16 15:45:10| Processing: acl Safe_ports port 1025-65535 # unregistered ports 2017/04/16 15:45:10| Processing: acl Safe_ports port 280 # http-mgmt 2017/04/16 15:45:10| Processing: acl Safe_ports port 488 # gss-http 2017/04/16 15:45:10| Processing: acl Safe_ports port 591 # filemaker 2017/04/16 15:45:10| Processing: acl Safe_ports port 777 # multiling http 2017/04/16 15:45:10| Processing: acl CONNECT method CONNECT 2017/04/16 15:45:10| Processing: http_access deny !Safe_ports 2017/04/16 15:45:10| Processing: http_access deny CONNECT !SSL_ports 2017/04/16 15:45:10| Processing: http_access allow localhost manager 2017/04/16 15:45:10| Processing: http_access deny manager 2017/04/16 15:45:10| Processing: http_access deny to_localhost 2017/04/16 15:45:10| Processing: auth_param basic program /usr/lib64/squid/basic_pam_auth 2017/04/16 15:45:10| Processing: auth_param basic children 5 2017/04/16 15:45:10| Processing: auth_param basic realm desdelinux.fan 2017/04/16 15:45:10| Processing: auth_param basic credentialsttl 2 hours 2017/04/16 15:45:10| Processing: auth_param basic casesensitive off 2017/04/16 15:45:10| Processing: acl Entusiastas proxy_auth REQUIRED 2017/04/16 15:45:10| Processing: http_access deny !Entusiastas 2017/04/16 15:45:10| Processing: acl ftp proto FTP 2017/04/16 15:45:10| Processing: http_access allow ftp 2017/04/16 15:45:10| Processing: http_access allow localnet 2017/04/16 15:45:10| Processing: http_access allow localhost 2017/04/16 15:45:10| Processing: http_access deny all 2017/04/16 15:45:10| Processing: http_port 3128 2017/04/16 15:45:10| Processing: coredump_dir /var/spool/squid 2017/04/16 15:45:10| Processing: refresh_pattern ^ftp: 1440 20% 10080 2017/04/16 15:45:10| Processing: refresh_pattern ^gopher: 1440 0% 1440 2017/04/16 15:45:10| Processing: refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 2017/04/16 15:45:10| Processing: refresh_pattern . 0 20% 4320 2017/04/16 15:45:10| Processing: cache_mem 64 MB 2017/04/16 15:45:10| Processing: memory_replacement_policy lru 2017/04/16 15:45:10| Processing: cache_replacement_policy heap LFUDA 2017/04/16 15:45:10| Processing: cache_dir aufs /var/spool/squid 4096 16 256 2017/04/16 15:45:10| Processing: maximum_object_size 4 MB 2017/04/16 15:45:10| Processing: cache_swap_low 85 2017/04/16 15:45:10| Processing: cache_swap_high 90 2017/04/16 15:45:10| Processing: cache_mgr buzz@desdelinux.fan 2017/04/16 15:45:10| Processing: visible_hostname linuxbox.desdelinux.fan 2017/04/16 15:45:10| Initializing https proxy context
Ajustamos permisos en /usr/lib64/squid/basic_pam_auth
[root@linuxbox ~]# chmod u+s /usr/lib64/squid/basic_pam_auth
Creamos el directorio caché
# Por si acaso... [root@linuxbox ~]# service squid stop Redirecting to /bin/systemctl stop squid.service [root@linuxbox ~]# squid -z [root@linuxbox ~]# 2017/04/16 15:48:28 kid1| Set Current Directory to /var/spool/squid 2017/04/16 15:48:28 kid1| Creating missing swap directories 2017/04/16 15:48:28 kid1| /var/spool/squid exists 2017/04/16 15:48:28 kid1| Making directories in /var/spool/squid/00 2017/04/16 15:48:28 kid1| Making directories in /var/spool/squid/01 2017/04/16 15:48:28 kid1| Making directories in /var/spool/squid/02 2017/04/16 15:48:28 kid1| Making directories in /var/spool/squid/03 2017/04/16 15:48:28 kid1| Making directories in /var/spool/squid/04 2017/04/16 15:48:28 kid1| Making directories in /var/spool/squid/05 2017/04/16 15:48:28 kid1| Making directories in /var/spool/squid/06 2017/04/16 15:48:28 kid1| Making directories in /var/spool/squid/07 2017/04/16 15:48:28 kid1| Making directories in /var/spool/squid/08 2017/04/16 15:48:28 kid1| Making directories in /var/spool/squid/09 2017/04/16 15:48:28 kid1| Making directories in /var/spool/squid/0A 2017/04/16 15:48:28 kid1| Making directories in /var/spool/squid/0B 2017/04/16 15:48:28 kid1| Making directories in /var/spool/squid/0C 2017/04/16 15:48:29 kid1| Making directories in /var/spool/squid/0D 2017/04/16 15:48:29 kid1| Making directories in /var/spool/squid/0E 2017/04/16 15:48:29 kid1| Making directories in /var/spool/squid/0F
En éste punto, de demorarse un poco en devolver el prompt de comandos -que a mi no lo devolvió nunca- presione Enter.
[root@linuxbox ~]# service squid start [root@linuxbox ~]# service squid restart [root@linuxbox ~]# service squid status Redirecting to /bin/systemctl status squid.service ● squid.service - Squid caching proxy Loaded: loaded (/usr/lib/systemd/system/squid.service; disabled; vendor preset: disabled) Active: active (running) since dom 2017-04-16 15:57:27 EDT; 1s ago Process: 2844 ExecStop=/usr/sbin/squid -k shutdown -f $SQUID_CONF (code=exited, status=0/SUCCESS) Process: 2873 ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF (code=exited, status=0/SUCCESS) Process: 2868 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exited, status=0/SUCCESS) Main PID: 2876 (squid) CGroup: /system.slice/squid.service └─2876 /usr/sbin/squid -f /etc/squid/squid.conf abr 16 15:57:27 linuxbox systemd[1]: Starting Squid caching proxy... abr 16 15:57:27 linuxbox systemd[1]: Started Squid caching proxy. abr 16 15:57:27 linuxbox squid[2876]: Squid Parent: will start 1 kids abr 16 15:57:27 linuxbox squid[2876]: Squid Parent: (squid-1) process 2878 ...ed abr 16 15:57:27 linuxbox squid[2876]: Squid Parent: (squid-1) process 2878 ... 1 Hint: Some lines were ellipsized, use -l to show in full [root@linuxbox ~]# cat /var/log/messages | grep squid
Arreglos en el muro cortafuegos
También debemos abrir en la Zona “external” los puertos 80 HTTP y 443 HTTPS para que el Squid pueda comunicarse con Internet.
[root@linuxbox ~]# firewall-cmd --zone=external --add-port=80/tcp --permanent success [root@linuxbox ~]# firewall-cmd --zone=external --add-port=443/tcp --permanent success [root@linuxbox ~]# firewall-cmd --reload success [root@linuxbox ~]# firewall-cmd --info-zone external external (active) target: default icmp-block-inversion: no interfaces: ens34 sources: services: dns ports: 443/tcp 53/udp 80/tcp 53/tcp protocols: masquerade: yes forward-ports: sourceports: icmp-blocks: parameter-problem redirect router-advertisement router-solicitation source-quench rich rules:
- No es ocioso acudir a la aplicación gráfica “Configuración del cortafuegos” y comprobar que los puertos 443 tcp, 80 tcp, 53 tcp, y 53 udp están abiertos para la zona “external“, y de que NO hemos publicado ningún servicio para ella.
Nota sobre el programa auxiliar basic_pam_auth
Si consultamos el manual de ésta utilidad mediante man basic_pam_auth leeremos que el propio autor hace la fuerte recomendación de que el programa se mueva a un directorio donde los usuarios normales no tengan permisos suficientes para acceder a la herramienta.
Por otra parte, es conocido que con éste esquema de autorización, las credenciales viajan en texto plano y no es seguro para ambientes hostiles, lea redes abiertas.
Jeff Yestrumskas dedica el artículo “How-to: Setup a secure web proxy using SSL encryption, Squid Caching Proxy and PAM authentication” al tema de aumentar la seguridad con éste esquema de autenticación para que pueda emplearse en redes abiertas potencialmente hostiles.
Instalamos httpd
Como una forma de comprobar el funcionamiento del Squid -y de paso el del Dnsmasq- instalaremos el servicio httpd -Servidor web Apache- lo cual no es obligatorio se haga. En el archivo relativo al Dnsmasq /etc/banner_add_hosts declaramos los sitios que deseamos sean baneados, y explícitamente le asignamos la misma dirección IP que posee linuxbox. De esa forma, si solicitamos el acceso a cualquiera de esos sitios se debe mostrar la página de inicio del httpd.
[root@linuxbox ~]# yum install httpd [root@linuxbox ~]# systemctl enable httpd Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. [root@linuxbox ~]# systemctl start httpd [root@linuxbox ~]# systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Active: active (running) since dom 2017-04-16 16:41:35 EDT; 5s ago Docs: man:httpd(8) man:apachectl(8) Main PID: 2275 (httpd) Status: "Processing requests..." CGroup: /system.slice/httpd.service ├─2275 /usr/sbin/httpd -DFOREGROUND ├─2276 /usr/sbin/httpd -DFOREGROUND ├─2277 /usr/sbin/httpd -DFOREGROUND ├─2278 /usr/sbin/httpd -DFOREGROUND ├─2279 /usr/sbin/httpd -DFOREGROUND └─2280 /usr/sbin/httpd -DFOREGROUND abr 16 16:41:35 linuxbox systemd[1]: Starting The Apache HTTP Server... abr 16 16:41:35 linuxbox systemd[1]: Started The Apache HTTP Server.
SELinux y Apache
Apache tiene varias políticas por configurar dentro del contexto SELinux.
[root@linuxbox ~]# getsebool -a |grep httpd httpd_anon_write --> off httpd_builtin_scripting --> on httpd_can_check_spam --> off httpd_can_connect_ftp --> off httpd_can_connect_ldap --> off httpd_can_connect_mythtv --> off httpd_can_connect_zabbix --> off httpd_can_network_connect --> off httpd_can_network_connect_cobbler --> off httpd_can_network_connect_db --> off httpd_can_network_memcache --> off httpd_can_network_relay --> off httpd_can_sendmail --> off httpd_dbus_avahi --> off httpd_dbus_sssd --> off httpd_dontaudit_search_dirs --> off httpd_enable_cgi --> on httpd_enable_ftp_server --> off httpd_enable_homedirs --> off httpd_execmem --> off httpd_graceful_shutdown --> on httpd_manage_ipa --> off httpd_mod_auth_ntlm_winbind --> off httpd_mod_auth_pam --> off httpd_read_user_content --> off httpd_run_ipa --> off httpd_run_preupgrade --> off httpd_run_stickshift --> off httpd_serve_cobbler_files --> off httpd_setrlimit --> off httpd_ssi_exec --> off httpd_sys_script_anon_write --> off httpd_tmp_exec --> off httpd_tty_comm --> off httpd_unified --> off httpd_use_cifs --> off httpd_use_fusefs --> off httpd_use_gpg --> off httpd_use_nfs --> off httpd_use_openstack --> off httpd_use_sasl --> off httpd_verify_dns --> off
Solamente configuraremos las siguientes:
Enviar correo electrónico a través de Apache
root@linuxbox ~]# setsebool -P httpd_can_sendmail 1
Permitir que Apache lea los contenidos localizados en los directorios de inicio de los usuarios locales
root@linuxbox ~]# setsebool -P httpd_read_user_content 1
Permitir administrar a través de FTP o FTPS cualquier directorio gestionado por
Apache o bien permitir a Apache funcionar como un servidor FTP escuchando peticiones a través del puerto de FTP
[root@linuxbox ~]# setsebool -P httpd_enable_ftp_server 1
Para mas información, favor de leer Configuración de Servidores Linux.
Comprobamos la Autenticación
Solo queda abrir un navegador en una estación de trabajo y apuntar, por ejemplo, a http://windowsupdate.com. Comprobaremos que la solicitud se redirige correctamente hacia la página de inicio del Apache en linuxbox. De hecho, cualquier nombre de sitio declarado en el archivo /etc/banner_add_hosts será redirigido a la misma página.
Las imágenes al final del artículo lo demuestran.
Administración de usuarios
La realizamos mediante la herramienta gráfica “Gestión de usuarios” a la que accedemos mediante el menú Sistema –> Administración –> Gestión de usuarios. Cada vez que añadimos un usuario nuevo se crea su carpeta /home/usuario de forma automática.
Copias de seguridad
Clientes Linux
Solo es necesario el navegador de archivos normal e indicar que se quiere conectar, por ejemplo: ssh://buzz@linuxbox/home/buzz y después de introducir la contraseña, se mostrará el directorio home del usuario buzz.
Clientes Windows
En clientes Windows, utilizamos la herramienta WinSCP. Una vez instalada, la utilizamos de la forma siguiente:
Sencillo, ¿no?.
Resumen
Hemos visto que es posible el empleo de PAM para autenticar servicios en una red pequeña y en un ambiente controlado y aislado totalmente de las manos de hackers. Se debe en lo fundamental a que las credenciales de autenticación viajan en texto plano y por ende no es un esquema de autenticación para emplearse en redes abiertas como aeropuertos, redes wifi, etcétera. Sin embargo, resulta un mecanismo sencillo de autorización, fácil de implementar y configurar.
Fuentes consultadas
- Configuración de Servidores Linux
- Manuales de los comandos – man pages
Versión en formato PDF
Descargue la versión en PDF aquí.
¡Hasta el próximo artículo!
El artículo Squid + Autenticación PAM en CentOS 7- Redes PYMES aparece primero en Squid + Autenticación PAM en CentOS 7- Redes PYMES.