Rescartar sistema Centos
Introduzca el disco de instalación para iniciar. Cuando aparezca la pantalla de bienvenida seleccione la entrada "Rescue installed system" con la tecla de dirección. Pulse Enter y continuar. Verá que la opción de arranque es simplemente rescue. Pulse Enter.
Lo primero es configurar el idioma spanish y Enter. Para el teclado Español/España, seleccione es luego la tecla TAB hasta que resalte Aceptar y a continuación Enter.
Método de rescate ¿Qué tipo de dispositivo contiene la imagen de rescate? seleccione CD/DVD
Si repondió Si en la pantalla ¿Desea arrancar las tarjetas de red del sistema? se le solicitará que elija la tarjeta o tarjetas que desea utilizar para establecer una conexión de red. Puede establecer la conexión de red por medio de DHCP o ip estática. Al finalizar pulse TAB y Aceptar
Rescatar
Las opciones son
Continuar. Intentará encontrar una instalación de Linux en el disco duro e intentará montar las particiones correspondiente debajo del directorio /mnt/sysimage. Se podrá acceder en modo lectura y escritura al sistema de archivos para realizar los cambios pertinentes.
Modo lectura. El sistema de archivos se montará en modo de sólo lectura.
Omitir. No se montaŕa el sistema de archivos del disco, ideal para realizar reparaciones del sistema de archivos de las particiones utilizando fsck.
Avanzado. Esta opción permite hacer uso de dispositivos especiales de almacenamiento.
Tan pronto como sea detectada la instalación en el disco duro, las particiones de la instalación existente quedarán montadas debajo del directorio /mnt/sysimage. Pulse Enter.
La pantalla que aparecerá presenta tres opciones.
Start shell. Inicia el intérprete de comandos, tendrá acceso a un conjunto básico de herramientas de diagnóstico y reparación.
Run diagnostic. Esta opción ejecuta FirstAidKit, una herramienta de reparación y verificación automática de algunos problemas comunes.
Reboot. Reinicia el sistema.
Seleccione Start shell y verifique que todas las particiones de la instalación han sido montadas utilizando el comando df -h
# df -h
Teclee exit para regresar a la anterior pantalla.
El comando
# chroot /mnt/sysimage
Cambia al sistema operativo en el disco duro, desde el sistema operativo del disco de rescate.
Puede cambiar la clave de acceso del usuario root ejecutando passwd sin argumentos
# passwd
Es posible reinstalar manualmente el gestor de arranque del sistema ejecutando
# grub-install /dev/sda
Teclee exit para regresar al sistema operativo del entorno de rescate
# exit
Puede seleccionar ejecutar fakd (FirstAidKit), herramienta de diagnóstico y reparación automática de, el gestor de arranque, imagen del disco RAM para el inicio del sistema (initrd), arreglos de discos por software y reinstalación del algunos paquetes básicos.
Teclee exit para regresar a la anterior pantalla y reboot para reiniciar el sistema sin olvidar extraer el disco de rescate.
Centos es genial!.
freebsd, unix, gentoo, openbsd, servidores, bsd, redes, linux, mikrotik, synology, zfs,
Páginas
Mostrando entradas con la etiqueta centos. Mostrar todas las entradas
Mostrando entradas con la etiqueta centos. Mostrar todas las entradas
martes, 22 de mayo de 2018
sábado, 10 de marzo de 2018
Instalación y configuración de vsftpd
vsftpd servidor en Centos 6.9
FTP
FTP (File Transfer Protocol) o Protocolo de Transferencia de Archivos (o archivos informáticos) es uno de los protocolos estándar más utilizados en Internet siendo el más idóneo para la transferencia de grandes bloques de datos a través de redes que soporten TCP/IP. El servicio utiliza los puertos 20 y 21, exclusivamente sobre TCP. El puerto 20 es utilizado para el flujo de datos entre cliente y servidor. El puerto 21 es utilizando para el envío de órdenes del cliente hacia el servidor. Prácticamente todos los sistemas operativos y plataformas incluyen soporte para FTP, lo que permite que cualquier computadora conectada a una red basada sobre TCP/IP pueda hacer uso de este servicio a través de un cliente FTP.
Modo activo
En modo Activo, el servidor siempre crea el canal de datos en su puerto 20, mientras que en el lado del cliente el canal de datos se asocia a un puerto aleatorio mayor que el 1024. Para ello, el cliente manda un comando PORT al servidor por el canal de control indicándole ese número de puerto, de manera que el servidor pueda abrirle una conexión de datos por donde se transferirán los archivos y los listados, en el puerto especificado.
Lo anterior tiene un grave problema de seguridad, y es que la máquina cliente debe estar dispuesta a aceptar cualquier conexión de entrada en un puerto superior al 1024, con los problemas que ello implica si tenemos el equipo conectado a una red insegura como Internet. De hecho, los cortafuegos que se instalen en el equipo para evitar ataques seguramente rechazarán esas conexiones aleatorias. Para solucionar esto se desarrolló el modo pasivo.
Modo pasivo
Fue creado como una alternativa al problema que representa el modo activo. A diferencia de éste último, el modo pasivo envía un mandato PASV en lugar del mandato PORT
a través del puerto de control del servidor. Éste devuelve como respuesta el número de puerto a través del cual debe conectarse el cliente para hacer la
transferencia de datos. El servidor puede elegir al azar cualquier puerto entre 1024 y 65535 o bien el rango de puertos determinado por el administrador del sistema. En el caso de Vsftpd, se puede definir un rango arbitrario de puertos para conexiones pasivas utilizando las opciones pasv_min_port y pasv_max_port. Éste es el método recomendado para servidores de acceso público.
Protocolo FTPS (FTP/SSL)
FTPS es la forma de designar diferentes maneras a través de las que se pueden realizar transferencias seguras de archivos mediante FTP utilizando SSL o TLS.
Aunque existen dos métodos para realizar una conexión SSL/TLS a través de FTP el utilizado por vsftpd es FTPS Explícito (FTPES), donde el cliente realiza la conexión normal por medio del puerto 21 y permitiendo negociar, de manera opciona, una conexión TLS.
RSA
RSA, acrónimo de los apellidos de sus autores, creado por Ron Rivest, Adi Shamir y Len Adleman, es un algoritmo para cifrar claves públicas Publicado por el MIT en 1977 y utilizado en todo el mundo para los protocolos destinados al comercio electrónico.
OpenSSL
Es una implementación libre de los protocoles SSL, (Secure Sockets Layer) y TLS (Transport Layer Security), continuación del proyecto SSLeay, iniciado por Eric Young y Tim Hudson.
Acerca de X.509
X.509 es un estándar ITU-T para infraestructura de claves públicas (PKI). Entre otras, establece los estándares para certificados de claves públicas y un algoritmo para validación de ruta de certificación.
vsftpd
vsftpd (Very Secure FTP Daemon) es utlizado para implementar servidores de archivos a través del protocolo FTP. Es sencillo y seguro.
Instalación de vsftpd
# yum -y install vsftpd
Configuración
/etc/vsftpd/chroot_list es el archivo que define la lista de usuarios a enajaular o no, (depende de la configuración).
Crear el archivo
# touch /etc/vsftpd/chroot_list
Iniciar el servicio
# service vsftpd start
Activar el servicio al arranque del sistema
# chkconfig vsftpd on
Abrir los puerto 20 y 21 (TCP). El primero FTP-DATA y el segundo FTP y el rango de puertos para conexiones pasivas que se defina.
Agregar las reglas de iptables
SELinux y el servicio vsftpd
Obtenga la lista de valores (booleanos) actuales de SELinux para ftp
# setsebool -P ftp_home_dir on
SELinux aumenta el nivel de seguridad de vsftpd
Ejecute lo siguiente para permitir que el servidor FTP pueda asociarse a cualquier puerto sin reservar al funcionar en modo pasivo:
# setsebool -P ftpd_use_passive_mode 1
Ejecute lo siguiente para permitir que los usuarios anónimos puedan realizar procesos de escritura sobre el sistema de archivos:
# setsebool -P allow_ftpd_anon_write 1
Si se necesita permitir el acceso utilizando las cuentas de usuarios del anfitrión local, a fin de que éstos puedan acceder a sus directorio de inicio, se debe habilitar la política ftp_home_dir
# setsebool -P ftp_home_dir 1
Ejecute lo siguiente para hacer que SELinux permita acceder a los usuarios locales al resto del sistema de archivos:
# setsebool -P allow_ftpd_full_access 1
Ejecute lo siguiente para permitir que el servicio vsftpd pueda hacer uso de sistemas de archivos remotos a través de CIFS (Samba) o NFS y que serán utilizados para compartir a través del servicio
setsebool -P allow_ftpd_use_cifs 1
setsebool -P allow_ftpd_use_nfs 1
Opción anonymous_enable
Define si se permitirán accesos anónimos al servidor.
anonymous_enable=YES
Opcion local_enable
Establece si se permiten accesos autenticados de los usuarios locales del sistema
local_enable=YES
Opción write_enable
Permite escritura en el servidor
write_enable=YES
Opción anon_upload_enable
Determina si los usuarios anónimos pueden subir contenido al servidor. No es una función deseada, por lo que se acostumbra a desactivarla.
Opción anon_upload_enable=NO
Opción anon_mkdir_write_enable
Igual que la anterior normalmente esta función no es deseada por lo que se desactiva
anon_mkdir_write_enable=NO
Opción ftpd_banner
Establece el banderín que será mostrado al acceder un usuario al servidor. La frase no debe contener signos de puntuación.
ftpd_banner=Bienvenido al servidor FTP
Establecer jaulas para los usuarios
Opciones chroot_local_user y chroot_list_file
Los usuarios del sistema que se autentiquen tendrán acceso a otros directorios del sistema fuera de su directorio personal. Para limitar a los usuarios a sólo utilizar su propio directorio, puede hacerse con la opción chroot_local_user que habilita la función chroot() y las opciones chroot_list_enable y chroot_list_file para establecer el archivo con la lista de usuarios que quedarán excluidos de la función chroot().
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
Crear el archivo /etc/vsftpd/chroot_list si aún no lo ha hecho
# touch /etc/vsftpd/chroot_list
A partir de ahora cada vez que un usuario local se autentique en el servidor FTP sólo tendrá acceso a su directorio personal y lo que este contenga.
Si el usuario regular tiene acceso al intérprete de comandos del sistema (/bin/bash o /bin/sh) y privilegios de escritura sobre el directorio raíz de su propia jaula (su directorio de inicio) la función chroot() puede ser peligrosa. Los directorios de inicio de los usuarios involucrados deben tener permiso 755, propiedad de root y asignar al usuario /bin/false o /sbin/nologin como intérprete de comandos.
Modificar una cuenta de usuario regular para la cual se quiere dar acceso al servidor FTP utilizando chroot() con vsftpd
Establece el rango arbitrario de puertos utilizados para las conexiones pasivas. Cualquier rango de puertos es válido entre 1024 y 65535
pasv_min_port=30300
pasv_max_port=30309
Controlar el ancho de banda
Opción anon_max_rate
Utilizada para limitar la tasa de transferencia en bytes por segundo, para los usuarios anónimos, muy útil en servidores FTP de acceso público. En este caso 500 kb por segundo.
anon_max_rate=524288
Opción local_max_rate
Limita la tasa de transferencia en bytes por segundo para los usuarios locales del servidor. En este caso a 1 MB
local_max_rate=1048576
Opción max_clients
Establece el número máximo de clientes accediendo simultáneamente al servidor FTP. En este caso 20
max_clients=20
Opción max_per_ip
Evita que algunos accesos queden bloqueados, como en el caso de redes que acceden a través de un Proxy (servidor intermediario) o puerta de enlace.
max_per_ip=10
Soporte SSL/TLS
Todos los datos enviados mediante el protocolo FTP lo hacen en texto simple (nombre de usuario y claves de acceso), lo cual es muy peligroso, vsftpd se puede configurar para utilizar los protocolos SSL y TLS a través de un certificado RSA.
Como usuario root acceda al directorio /etc/pki/tls
# cd /etc/pki/tls
Generar el certificado y firma digital
Utilizando una estructura X.509, algoritmo de cifrado RSA de 2048 bits, sin Triple DES que permite iniciar sin interacción alguna al servicio vsftpd, con una validez de 1825 días (5 años):
Código de dos letras para el país.
Estado o provincia.
Ciudad.
Nombre de la empresa o bien la razón social.
Unidad o sección responsable del certificado.
Nombre del anfitrión (FQDN) o bien dominio con comodín.
Dirección de correo electrónico de la persona responsable del certificado
# chmod 400 certs/vsftpd.crt private/vsftpd.key
# cd
Edite el archivo de configuración de vsftpd.conf
# vim /etc/vsftpd/vsftpd.conf
# service vsftpd restart
# service vsftpd restart
Apagando vsftpd: [ OK ]
Iniciando vsftpd para vsftpd: [ OK ]
Asigne una contraseña al usuario fulano
# yum -y install lftp
El mandato lftp con las opciones -e 'set ftp:ssl-force true' y -e set ssl:verify-certificate no' como argumentos y un nombre anfitrión o dirección IP como último argumento. Inicie una conexión hacia la dirección del servidor 192.168.0.1.
[carles@aldos ~]$ lftp -e 'set ftp:ssl-force true' -e 'set ssl:verify-certificate no' 192.168.0.1
En el intérprete de comandos de LFTP teclee el comando user seguido del nombre de usuario que quiera utilizar. En este caso fulano, le pedirá la contraseña.
lftp 192.168.0.1:~> user fulano
Clave:
Teclee el comando pwd
lftp fulano@192.168.0.1:~> pwd
Devolverá una salida similar a la siguiente
ftp://fulano@192.168.0.1
Cree una carpeta llamada prueba
lftp fulano@192.168.0.1:~> mkdir prueba
Lo anterior devuelve una salida como esta
mkdir ok, `prueba' creado
Ejecute un ls
lftp fulano@192.168.0.1:/> ls
La salida es la siguiente
drwxr-xr-x 2 504 504 4096 Mar 09 20:41 prueba
Salir de lftp
lftp fulano@192.168.0.1:/> bye
Filezilla cliente FTP
# yum -y install filezilla
Red Hat System Administrator Guide
Protocolo de transferencia de archivos
Centos es genial!.
FTP
FTP (File Transfer Protocol) o Protocolo de Transferencia de Archivos (o archivos informáticos) es uno de los protocolos estándar más utilizados en Internet siendo el más idóneo para la transferencia de grandes bloques de datos a través de redes que soporten TCP/IP. El servicio utiliza los puertos 20 y 21, exclusivamente sobre TCP. El puerto 20 es utilizado para el flujo de datos entre cliente y servidor. El puerto 21 es utilizando para el envío de órdenes del cliente hacia el servidor. Prácticamente todos los sistemas operativos y plataformas incluyen soporte para FTP, lo que permite que cualquier computadora conectada a una red basada sobre TCP/IP pueda hacer uso de este servicio a través de un cliente FTP.
Modo activo
En modo Activo, el servidor siempre crea el canal de datos en su puerto 20, mientras que en el lado del cliente el canal de datos se asocia a un puerto aleatorio mayor que el 1024. Para ello, el cliente manda un comando PORT al servidor por el canal de control indicándole ese número de puerto, de manera que el servidor pueda abrirle una conexión de datos por donde se transferirán los archivos y los listados, en el puerto especificado.
Lo anterior tiene un grave problema de seguridad, y es que la máquina cliente debe estar dispuesta a aceptar cualquier conexión de entrada en un puerto superior al 1024, con los problemas que ello implica si tenemos el equipo conectado a una red insegura como Internet. De hecho, los cortafuegos que se instalen en el equipo para evitar ataques seguramente rechazarán esas conexiones aleatorias. Para solucionar esto se desarrolló el modo pasivo.
Modo pasivo
Fue creado como una alternativa al problema que representa el modo activo. A diferencia de éste último, el modo pasivo envía un mandato PASV en lugar del mandato PORT
a través del puerto de control del servidor. Éste devuelve como respuesta el número de puerto a través del cual debe conectarse el cliente para hacer la
transferencia de datos. El servidor puede elegir al azar cualquier puerto entre 1024 y 65535 o bien el rango de puertos determinado por el administrador del sistema. En el caso de Vsftpd, se puede definir un rango arbitrario de puertos para conexiones pasivas utilizando las opciones pasv_min_port y pasv_max_port. Éste es el método recomendado para servidores de acceso público.
Protocolo FTPS (FTP/SSL)
FTPS es la forma de designar diferentes maneras a través de las que se pueden realizar transferencias seguras de archivos mediante FTP utilizando SSL o TLS.
Aunque existen dos métodos para realizar una conexión SSL/TLS a través de FTP el utilizado por vsftpd es FTPS Explícito (FTPES), donde el cliente realiza la conexión normal por medio del puerto 21 y permitiendo negociar, de manera opciona, una conexión TLS.
RSA
RSA, acrónimo de los apellidos de sus autores, creado por Ron Rivest, Adi Shamir y Len Adleman, es un algoritmo para cifrar claves públicas Publicado por el MIT en 1977 y utilizado en todo el mundo para los protocolos destinados al comercio electrónico.
OpenSSL
Es una implementación libre de los protocoles SSL, (Secure Sockets Layer) y TLS (Transport Layer Security), continuación del proyecto SSLeay, iniciado por Eric Young y Tim Hudson.
Acerca de X.509
X.509 es un estándar ITU-T para infraestructura de claves públicas (PKI). Entre otras, establece los estándares para certificados de claves públicas y un algoritmo para validación de ruta de certificación.
vsftpd
vsftpd (Very Secure FTP Daemon) es utlizado para implementar servidores de archivos a través del protocolo FTP. Es sencillo y seguro.
Instalación de vsftpd
# yum -y install vsftpd
Configuración
/etc/vsftpd/chroot_list es el archivo que define la lista de usuarios a enajaular o no, (depende de la configuración).
Crear el archivo
# touch /etc/vsftpd/chroot_list
Iniciar el servicio
# service vsftpd start
Activar el servicio al arranque del sistema
# chkconfig vsftpd on
Abrir los puerto 20 y 21 (TCP). El primero FTP-DATA y el segundo FTP y el rango de puertos para conexiones pasivas que se defina.
Agregar las reglas de iptables
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 30300:30309 -j ACCEPT
# servicce iptables save
O agregue al archivo /etc/sysconfig/iptables lo siguiente
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 30300:30309 -j ACCEPT
# service iptables restartSELinux y el servicio vsftpd
Obtenga la lista de valores (booleanos) actuales de SELinux para ftp
# getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_use_fusefs --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_use_cifs --> off
tftp_use_nfs --> off
Para establecer un valor específico por ejemplo, ftp_home_dir, teclee# setsebool -P ftp_home_dir on
SELinux aumenta el nivel de seguridad de vsftpd
Ejecute lo siguiente para permitir que el servidor FTP pueda asociarse a cualquier puerto sin reservar al funcionar en modo pasivo:
# setsebool -P ftpd_use_passive_mode 1
Ejecute lo siguiente para permitir que los usuarios anónimos puedan realizar procesos de escritura sobre el sistema de archivos:
# setsebool -P allow_ftpd_anon_write 1
Si se necesita permitir el acceso utilizando las cuentas de usuarios del anfitrión local, a fin de que éstos puedan acceder a sus directorio de inicio, se debe habilitar la política ftp_home_dir
# setsebool -P ftp_home_dir 1
Ejecute lo siguiente para hacer que SELinux permita acceder a los usuarios locales al resto del sistema de archivos:
# setsebool -P allow_ftpd_full_access 1
Ejecute lo siguiente para permitir que el servicio vsftpd pueda hacer uso de sistemas de archivos remotos a través de CIFS (Samba) o NFS y que serán utilizados para compartir a través del servicio
setsebool -P allow_ftpd_use_cifs 1
setsebool -P allow_ftpd_use_nfs 1
# getsebool -a | grep ftp
allow_ftpd_anon_write --> on
allow_ftpd_full_access --> on
allow_ftpd_use_cifs --> on
allow_ftpd_use_nfs --> off
ftp_home_dir --> on
ftpd_connect_db --> off
ftpd_use_fusefs --> off
ftpd_use_passive_mode --> on
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_use_cifs --> off
tftp_use_nfs --> off
Archivo de configuración de vsftpd.Opción anonymous_enable
Define si se permitirán accesos anónimos al servidor.
anonymous_enable=YES
Opcion local_enable
Establece si se permiten accesos autenticados de los usuarios locales del sistema
local_enable=YES
Opción write_enable
Permite escritura en el servidor
write_enable=YES
Opción anon_upload_enable
Determina si los usuarios anónimos pueden subir contenido al servidor. No es una función deseada, por lo que se acostumbra a desactivarla.
Opción anon_upload_enable=NO
Opción anon_mkdir_write_enable
Igual que la anterior normalmente esta función no es deseada por lo que se desactiva
anon_mkdir_write_enable=NO
Opción ftpd_banner
Establece el banderín que será mostrado al acceder un usuario al servidor. La frase no debe contener signos de puntuación.
ftpd_banner=Bienvenido al servidor FTP
Establecer jaulas para los usuarios
Opciones chroot_local_user y chroot_list_file
Los usuarios del sistema que se autentiquen tendrán acceso a otros directorios del sistema fuera de su directorio personal. Para limitar a los usuarios a sólo utilizar su propio directorio, puede hacerse con la opción chroot_local_user que habilita la función chroot() y las opciones chroot_list_enable y chroot_list_file para establecer el archivo con la lista de usuarios que quedarán excluidos de la función chroot().
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
Crear el archivo /etc/vsftpd/chroot_list si aún no lo ha hecho
# touch /etc/vsftpd/chroot_list
A partir de ahora cada vez que un usuario local se autentique en el servidor FTP sólo tendrá acceso a su directorio personal y lo que este contenga.
Si el usuario regular tiene acceso al intérprete de comandos del sistema (/bin/bash o /bin/sh) y privilegios de escritura sobre el directorio raíz de su propia jaula (su directorio de inicio) la función chroot() puede ser peligrosa. Los directorios de inicio de los usuarios involucrados deben tener permiso 755, propiedad de root y asignar al usuario /bin/false o /sbin/nologin como intérprete de comandos.
Modificar una cuenta de usuario regular para la cual se quiere dar acceso al servidor FTP utilizando chroot() con vsftpd
# chroot 755 /home/fulano
# chown root:root /home/fulano
# mkdir /home/fulano/uploads
# chown fulano:fulano /home/fulano/uploads
# usermod -s /sbin/nologin fulano
Opciones pasv_min_port y pasv_max_portEstablece el rango arbitrario de puertos utilizados para las conexiones pasivas. Cualquier rango de puertos es válido entre 1024 y 65535
pasv_min_port=30300
pasv_max_port=30309
Controlar el ancho de banda
Opción anon_max_rate
Utilizada para limitar la tasa de transferencia en bytes por segundo, para los usuarios anónimos, muy útil en servidores FTP de acceso público. En este caso 500 kb por segundo.
anon_max_rate=524288
Opción local_max_rate
Limita la tasa de transferencia en bytes por segundo para los usuarios locales del servidor. En este caso a 1 MB
local_max_rate=1048576
Opción max_clients
Establece el número máximo de clientes accediendo simultáneamente al servidor FTP. En este caso 20
max_clients=20
Opción max_per_ip
Evita que algunos accesos queden bloqueados, como en el caso de redes que acceden a través de un Proxy (servidor intermediario) o puerta de enlace.
max_per_ip=10
Soporte SSL/TLS
Todos los datos enviados mediante el protocolo FTP lo hacen en texto simple (nombre de usuario y claves de acceso), lo cual es muy peligroso, vsftpd se puede configurar para utilizar los protocolos SSL y TLS a través de un certificado RSA.
Como usuario root acceda al directorio /etc/pki/tls
# cd /etc/pki/tls
Generar el certificado y firma digital
Utilizando una estructura X.509, algoritmo de cifrado RSA de 2048 bits, sin Triple DES que permite iniciar sin interacción alguna al servicio vsftpd, con una validez de 1825 días (5 años):
# openssl req -x509 -nodes -days 1825 -newkey rsa:2048 \
> -keyout private/vsftpd.key \
> -out certs/vsftpd.crt
Ingrese los siguientes datosCódigo de dos letras para el país.
Estado o provincia.
Ciudad.
Nombre de la empresa o bien la razón social.
Unidad o sección responsable del certificado.
Nombre del anfitrión (FQDN) o bien dominio con comodín.
Dirección de correo electrónico de la persona responsable del certificado
Generating a 2048 bit RSA private key
....+++
...........+++
writing new private key to 'private/vsftpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:ES
State or Province Name (full name) []:Catalunya
Locality Name (eg, city) [Default City]:Barcelona
Organization Name (eg, company) [Default Company Ltd]:Empresa S.L.
Organizational Unit Name (eg, section) []:Direccion Comercial
Common Name (eg, your name or your server's hostname) []:*.linux.bcn
Email Address []:webmaster@linux.bcn
El archivo del certificado y de la firma digital, deben tener permisos de sólo lectura para el usuario root.# chmod 400 certs/vsftpd.crt private/vsftpd.key
# cd
Edite el archivo de configuración de vsftpd.conf
# vim /etc/vsftpd/vsftpd.conf
# Habilita el soporte de TLS/SSL
ssl_enable=YES
# Deshabilita o habilita utilizar TLS/SSL con usuarios anónimos
allow_anon_ssl=NO
# Obliga a utilizar TLS/SSL para todas las operaciones, es decir,
# transferencia de datos y autenticación de usuarios locales.
# Establecer el valor NO, hace que sea opcional
# utilizar TLS/SSL.
force_local_data_ssl=YES
force_local_logins_ssl=YES
# Se prefiere TLSv1 sobre SSLv2 y SSLv3
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
# Rutas del certificado y firma digital
rsa_cert_file=/etc/pki/tls/certs/vsftpd.crt
rsa_private_key_file=/etc/pki/tls/private/vsftpd.key
# Los desarrolladores de FileZilla decidieron eliminar
# el soporte para el algoritmo de cifrado 3DES-CBC-SHA,
# agregue la siguiente línea para solucionarlo
ssl_ciphers=HIGH
# Filezilla además requiere desactivar la siguiente opción
require_ssl_reuse=NO
Aplicar los cambios# service vsftpd restart
# service vsftpd restart
Apagando vsftpd: [ OK ]
Iniciando vsftpd para vsftpd: [ OK ]
Asigne una contraseña al usuario fulano
$ ssh 192.168.0.1
carles@192.168.0.1's password:
Last login: Fri Mar 9 19:52:01 2018 from 192.168.0.53
# passwd fulano
Cambiando la contraseña del usuario fulano.
Nueva contraseña:
Vuelva a escribir la nueva contraseña:
passwd: todos los tokens de autenticación se actualizaron exitosamente.
Cliente para acceder a FTPES# yum -y install lftp
El mandato lftp con las opciones -e 'set ftp:ssl-force true' y -e set ssl:verify-certificate no' como argumentos y un nombre anfitrión o dirección IP como último argumento. Inicie una conexión hacia la dirección del servidor 192.168.0.1.
[carles@aldos ~]$ lftp -e 'set ftp:ssl-force true' -e 'set ssl:verify-certificate no' 192.168.0.1
En el intérprete de comandos de LFTP teclee el comando user seguido del nombre de usuario que quiera utilizar. En este caso fulano, le pedirá la contraseña.
lftp 192.168.0.1:~> user fulano
Clave:
Teclee el comando pwd
lftp fulano@192.168.0.1:~> pwd
Devolverá una salida similar a la siguiente
ftp://fulano@192.168.0.1
Cree una carpeta llamada prueba
lftp fulano@192.168.0.1:~> mkdir prueba
Lo anterior devuelve una salida como esta
mkdir ok, `prueba' creado
Ejecute un ls
lftp fulano@192.168.0.1:/> ls
La salida es la siguiente
drwxr-xr-x 2 504 504 4096 Mar 09 20:41 prueba
Salir de lftp
lftp fulano@192.168.0.1:/> bye
Filezilla cliente FTP
# yum -y install filezilla
Red Hat System Administrator Guide
Protocolo de transferencia de archivos
Centos es genial!.
viernes, 16 de febrero de 2018
Configurar NTP en Centos
Network Time Protocol (NTP) es un protocolo de Internet para sincronizar los relojes de los sistemas informáticos a través del enrutamiento de paquetes en redes con latencia variable. NTP utiliza UDP como su capa de transporte, usando el puerto 123.
NTP es uno de los protocolos de internet más viejos que siguen en uso, desarrollado en 1981 y descrito por primera vez en RFC 778. NTP fue diseñado originalmente por David L. Mills de la Universidad de Delaware1, el cual lo sigue manteniendo, en conjunto con un equipo de voluntarios.
NTP utiliza el Algoritmo de Marzullo con la escala de tiempo UTC, incluyendo soporte para características como segundos intercalares.
Instalar a través de yum
# yum -y install ntp ntpdate
Edite el archivo /etc/sysconfig/iptables y añada la siguiente línea
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
Reiniciar el servicio iptables
# service iptables restart
Archivo de configuración /etc/ntp.conf
Reiniciar para aplicar los cambios
# service ntpd restart
Para sincronizar la hora de inmediato en este servidor.
# ntpdate -u 0.pool.ntp.org
Activar el servicio ntpd con el siguiente reinicio del sistema en los niveles de ejecución 2,3,4 y 5
# chkconfig ntpd on
Configuración de los clientes
Instalar el paquete NTP y sabiendo que la dirección IP del servidor es 192.168.0.1, compruebe que existe conectividad hacia el servidor.
# ntpdate -u 192.168.0.1
La salida será algo similar a esto
16 Feb 13:52:46 ntpdate[3305]: adjust time server 64.113.44.54 offset -0.065594 sec
Asignación de servidores NTP de área local a través de DHCP
# vim /etc/dhcp/dhcp.conf
Utilice la opción ntp-servers para definir una lista separada por comas de todos los servidores NTP que se quiera utilizar en la red de área local:
option ntp-servers 192.168.0.1;
#
# DHCP Server Configuration file.
Reiniciar el servidor dhcpd
# service dhcpd restart
OpenBSD es genial!.
NTP es uno de los protocolos de internet más viejos que siguen en uso, desarrollado en 1981 y descrito por primera vez en RFC 778. NTP fue diseñado originalmente por David L. Mills de la Universidad de Delaware1, el cual lo sigue manteniendo, en conjunto con un equipo de voluntarios.
NTP utiliza el Algoritmo de Marzullo con la escala de tiempo UTC, incluyendo soporte para características como segundos intercalares.
Instalar a través de yum
# yum -y install ntp ntpdate
Edite el archivo /etc/sysconfig/iptables y añada la siguiente línea
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
Reiniciar el servicio iptables
# service iptables restart
Archivo de configuración /etc/ntp.conf
# Se establece la política predeterminada para cualquier
# servidor de tiempo utilizado: se permite la sincronización
# de tiempo con las fuentes, pero sin permitir a la fuente
# consultar (noquery), ni modificar el servicio en el
# sistema (nomodify) y declinando proveer mensajes de
# registro (notrap).
restrict default nomodify notrap noquery
restrict -6 default nomodify notrap noquery
# Permitir todo el acceso a la interfaz de retorno del
# sistema.
restrict 127.0.0.1
restrict -6 ::1
# Se le permite a las redes local sincronizar con el servidor
# pero sin permitirles modificar la configuración del
# sistema y sin usar a éstos como iguales para sincronizar.
# Cambiar por las que correspondan a sus propias redes locales.
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.3.0 mask 255.255.255.128 nomodify notrap
restrict 10.0.1.0 mask 255.255.255.248 nomodify notrap
# Reloj local indisciplinado.
# Este es un controlador emulado que se utiliza sólo como
# respaldo cuando ninguna de las fuentes reales están
# disponibles.
fudge 127.127.1.0 stratum 10
server 127.127.1.0
# Archivo de variaciones.
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
# Archivo de claves si acaso fuesen necesarias para realizar
# consultas
keys /etc/ntp/keys
# Lista de servidores de tiempo de estrato 1 o 2.
# Se recomienda tener al menos 3 servidores listados.
# Mas servidores en:
# http://kopernix.com/?q=ntp
# http://www.eecis.udel.edu/~mills/ntp/servers.html
server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst
# Permisos que se asignarán para cada servidor de tiempo.
# En los ejemplos, se impide a las fuente consultar o modificar
# el servicio en el sistema, así como también enviar mensaje de
# registro.
restrict 0.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
restrict 1.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
restrict 2.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
restrict 3.pool.ntp.org mask 255.255.255.255 nomodify notrap noquery
# Se activa la difusión hacia los clientes
broadcastclient
Reiniciar para aplicar los cambios
# service ntpd restart
Para sincronizar la hora de inmediato en este servidor.
# ntpdate -u 0.pool.ntp.org
Activar el servicio ntpd con el siguiente reinicio del sistema en los niveles de ejecución 2,3,4 y 5
# chkconfig ntpd on
Configuración de los clientes
Instalar el paquete NTP y sabiendo que la dirección IP del servidor es 192.168.0.1, compruebe que existe conectividad hacia el servidor.
# ntpdate -u 192.168.0.1
La salida será algo similar a esto
16 Feb 13:52:46 ntpdate[3305]: adjust time server 64.113.44.54 offset -0.065594 sec
Asignación de servidores NTP de área local a través de DHCP
# vim /etc/dhcp/dhcp.conf
Utilice la opción ntp-servers para definir una lista separada por comas de todos los servidores NTP que se quiera utilizar en la red de área local:
option ntp-servers 192.168.0.1;
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
# see 'man 5 dhcpd.conf'
ddns-update-style interim;
ignore client-updates;
authoritative;
default-lease-time 900;
max-lease-time 7200;
option ip-forwarding off;
option domain-name "linux.bcn";
ddns-update-style none;
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option domain-name-servers 8.8.8.8,8.8.4.4,192.168.0.1;
option ntp-servers 192.168.0.1;
range 192.168.0.50 192.168.0.99;
}
Reiniciar el servidor dhcpd
# service dhcpd restart
OpenBSD es genial!.
Samba en un Servidor Centos Linux
Configuración de Samba en Centos
Protocolo SMB
SMB (Server Message Block), también llamado CIFS (Common Internet File System), es un protocolo del nivel de presentación del modelo OSI de TCP/IP creado por IBM en el año 1985.
Samba
SAMBA es un conjunto de programas originalmente creados por Andrew Tridgell y mantenidos por The Samba Team.
Instalar a través de yum
# yum -y install samba samba-client samba-common
Abrir los puertos 135 al 139 (TCP Y UDP) y el puerto 445 (TCP).
Utilizando desde la consola el mandato iptables
# service iptables save
O editar el archivo /etc/sysconfig/iptables y añadir lo siguiente
# service iptables restart
SELinux y el servicio smb
Con la finalidad de que SELinux permita al servicio smb la escritura como usuario anónimo, ejecute:
# setsebool -P allow_smbd_anon_write 1
A fin de que SELinux permita al servicio smb funcionar como Controlador Primario de Dominio (PDC)
# setsebool -P samba_domain_controller 1
Para que SELinux perminta al servicio smb compartir los directorios de inicio de los usuarios locales del sistema, ejecute:
# setsebool -P samba_enable_home_dirs 1
A fin de que SELinux desactive la protección para los directorios de inicio de los usuarios a través de smb, ejecute:
# setsebool -P use_samba_home_dirs 1
Con la finalidad de que SELinux permita al servicio smb crear nuevos directorios de inicio para los usuarios a través de PAM (operación común en PDC, ejecute
# setsebool -P samba_create_home_dirs 1
Para que SELinux permita al servicio smb funcionar como un organizador de mapa de puertos (portmapper):
# setsebool -P samba_portmapper 1
Para que SELinux permita al servicio smb ejecutar guiones dentro del directorio /var/lib/samba/scripts sin confinamiento:
# setsebool -P samba_run_unconfined 1
Con el fin de que SELinux permita al servicio smb compartir todos los recursos en modo de sólo lectura:
# setsebool -P samba_export_all_rw 1
Para que SELinux perminta al servicio smb compartir todos los recursos en modo de lectura y escritura:
# setsebool -P samba_export_all_rw 1
Mandato chcon
Para definir que un directorio será compartido a través del servicio smb y que debe considerarse como contenido Samba, por ejemplo /var/samba/publico:
# chcon -t samba_share_t /var/samba/publico
Antes de configurarse en el el archivo /etc/samba/smb.conf, cada nuevo directorio que se vaya a compartir debe ser configurado como se ha descrito anteriormente.
Iniciar el servicio
# service nmb start
# service smb start
Añadir el servicio al arranque del sistema
# chkconfig nmb on
# chkconfig smb on
Después de aplicar cambios al archivo de configuración de Samba es necesario reiniciar el servicio smb
# service smb restart
El servicio nmb es el encargado de proveer el servidor de nombre para los clientes a través de NetBios sobre IP. Por tanto, debe reiniciar el servicio nmb si realiza cualquier cambio en la configuración de la opción netbios name
# service nmb restart
Alta de cuentas de usuario
Primero asigne una contraseña al usuario root (no tiene que ser la misma utilizada en el sistema).
# smbpasswd -a root
La sincronización de cuentas entre el servidor Samba y las estaciones Windows se realiza ingresando el mismo nombre de usuario y contraseña tanto en el servidor Samba como en la máquina Windows.
La mayoría de las cuentas de usuario que se utilizan para acceder a Samba no requieren acceso al intérprete de comandos del sistema, no hace falta asignar una contraseña con el mandato passwd. El intérprete de comandos quedará definido como /sbin/nologin o /bin/false para la cuenta de usuario. Esta cuenta en cuestión estará inactiva para el resto de servicios.
# useradd -s /sbin/nologin andrius
# smbpasswd -a andrius
Archivo lmhosts
Se utiliza para resolver de manera local los nombres NetBios, asociándolos con su dirección IP correspondiente. El nmbre NetBios no debe exceder los doce caracteres alfanuméricos. Como mínimo debe definirse el nombre del anfitrión del servidor Samba junto a su dirección IP.
# vi /etc/samba/lmhosts
127.0.0.1 localhost
192.168.0.1 servidor
Configuración básica del archivo smb.conf
# vi /etc/samba/smb.conf
La opción workgroup define el grupo de trabajo
workgroup = MYGROUP
Opción netbios name
Define un nombre de anfitrión distinto al detectado automáticamente. Debe ser el mismo que aparece en el archivo /etc/samba/lmhosts
netbios name = servidor
Opción server string
server string = Servidor Samba %v en %L
Opción hosts allow
En esta entrada del archivo smb.conf se pueden definir direcciones IP o redes que tendrán permiso de acceso hacia el servidor. Por tanto, una red con anfitriones con direcciones IP desde 192.168.0.1 hasta 192.168.0.254, el rango de direcciones IP definido en hosts allow será 192.168.0., (los tres primeros octetos).
Vamos a definir las redes 192.168.0.0/24, 102.168.1.0/24 y 192.168.3.0/24 como vimos con anterioridad utilizando los tres primeros octetos de la dirección IP de red, en el caso de cualquier dirección IP de la red 127.0.0.0/8 se define sólo el primer octeto de dicho segmento.
hosts allow = 127., 192.168.0., 192.168.1., 192.168.3.
Opción name resolve order
Define el orden en que se intenta de resolver los nombres NETBIOS. Primero con la información del archivo /etc/samba/lmhosts, luego el archivo /etc/hosts, a continuación de consultas en el servidor WINS y, si todo lo anterior falla, a través de la dirección IP de difusión de la red local.
name resolve order = lmhosts hosts wins bcast
Gestor de archivos Nautilus
Esta configuración es necesaria para el gestor de archivos predeterminado de Gnome, Nautilus y además que se especifique wins en el orden de resolución de nombres del archivo /etc/nsswitch.conf del anfitrión desde el cual se ejecute.
# vi /etc/nsswitch.conf
hosts: files dns
al final agregje wins
hosts: files dns wins
Opción remote announce
remote announce = 192.168.3.127, 192.168.1.255
Reinicie los servicios para aplicar los cambios.
# service smb restart
# service nmb restart
Compartir directorios
Crear el directorio /var/samba/publico
# mkdir -p /var/samba/publico
Cambiar el contexto de SELinux para que este directorio sea considerado como contenido Samba.
# chcon -t samba_share_t /var/samba/publico
setfacl se utiliza para cambiar los permisos en las listas de control de acceso de un archivo o directorio dado. Asignar cambiar permisos de lectura, escritura y ejecución al usuario andrius
Crear el usuario y agregarlo al grupo samba
# useradd -s /sbin/nologin andrius
# smbpasswd -a andrius
# passwd andrius
# setfacl -m u:andrius:rwX /var/samba/publico
Se utilizó X mayúscula para indicar que sólo se aplicará el bit de acceso a directorios evitando aplicar el bit de ejecución a los archivos.
getfal se utiliza para determinar los permisos establecidos en las listas de control de acceso de un archivo o directorio.
Estos permisos que se establecieron en la lista de control de acceso del directorio /var/samba/publico son exclusivamente para éste. Cualquier nuevo archivo o directorio creado carecerá de estos nuevos permisos. Si se desea que éstos permisos se vuelvan los predeterminados para los nuevos archivos y directorios que sean creados en lo sucesivo dentro del directorio /var/samba/publico, se ejecuta el mismo mandato setfacl, pero añadiendo la opción -d para definir que serán los permisos predeterminados para nuevos archivos y directorios.
Lo anterior muestra que sólo el propietario del directorio tiene permisos de lectura, escritura y acceso. Para lograr que un usuario en particular pueda acceder también a este directorio, se ejecuta el mandato setfacl, con la opción -m para modificar la lista de control de acceso, [u,g,o]:[usuario,grupo]:[r,w,x] y la ruta del directorio como argumentos. Ejemplo:
setfacl -m u:usuario:rX /var/samba/publico
En el ejemplo anterior se utilizó X mayúscula para indicar que sólo se aplicará el bit de acceso de a directorios evitando aplicar el bit de ejecución a los archivos.
Lo mismo en notación octal
# setfacl -m u:usuario:5 /var/samba/publico
Editar el archivo /etc/samba/smb.conf y al final añada el siguiente contenido
# service smb restart
Ocultando archivos que empiezan por punto.
Los archivos cuyo nombre comienza con un punto (archivos de configuración, normalmente), como es el caso del directorio de inicio del usuario en el servidor Samba (.bash_profile, .bashrc, .bash_history entre otros) pueden ocultarse con la opción hide dot files y el valor Yes.
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
inherit acls = yes
hide dot files = yes
Reinicie el servidor smb para que los cambios tengan efecto
# service smb restart
Montar recursos compartidos desde un cliente Linux
$ cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.0.1 servidor
# mkdir /mnt/publico
# mount.cifs -o username=andrius //servidor/publico /mnt/publico
Solicitará la contraseña del usuario utilizado en el servidor Samba
Password for andrius@//servidor/publico:
# mount | grep publico
//servidor/publico on /mnt/publico type cifs (rw)
Cree el archivo /etc/acreditar para hacer permanente lo anterior.
# vim /etc/acreditar
Especifique el nombre de usuario y contraseña utilizados con el recurso compartido.
username=andrius
password=password
Cambiando los permisos de acceso al archivo para que sólo el usuario root pueda ver y modificar el contenido.
# chmod 600 /etc/acreditar
# vim /etc/fstab
Este recurso será montado automáticamente en el siguiente reinicio del sistema. Agregue la siguiente línea incluyendo las opciones uid y gid
//servidor/publico /mnt/publico cifs credentials=/etc/acreditar,uid=501,gid=501 0 0
Utilizar smbclient desde Linux
Lo más práctivo y sencillo para hacer pruebas es el mandato smbclient. Permite acceder hacia cualquier servidor Samba y Windows.
# smbclient -U andrius -L servidor
Conectar un cliente Windows al servior Samba
Esta máquina está en la red 192.168.3.0/25 detrás de un firewall router Soekris y OpenBSD.
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/pdf/system_administrators_guide/Red_Hat_Enterprise_Linux-7-System_Administrators_Guide-en-US.pdf
Centos es genial!.
Protocolo SMB
SMB (Server Message Block), también llamado CIFS (Common Internet File System), es un protocolo del nivel de presentación del modelo OSI de TCP/IP creado por IBM en el año 1985.
Samba
SAMBA es un conjunto de programas originalmente creados por Andrew Tridgell y mantenidos por The Samba Team.
Instalar a través de yum
# yum -y install samba samba-client samba-common
Abrir los puertos 135 al 139 (TCP Y UDP) y el puerto 445 (TCP).
Utilizando desde la consola el mandato iptables
# ptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 135:139 -j ACCEPT
# iptables -A INPUT -m state --state NEW -m udp -p udp --dport 135:139 -j ACCEPT
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
# service iptables save
O editar el archivo /etc/sysconfig/iptables y añadir lo siguiente
-A INPUT -m state --state NEW -m tcp -p tcp --dport 135:139 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 135:139 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
# service iptables restart
SELinux y el servicio smb
Con la finalidad de que SELinux permita al servicio smb la escritura como usuario anónimo, ejecute:
# setsebool -P allow_smbd_anon_write 1
A fin de que SELinux permita al servicio smb funcionar como Controlador Primario de Dominio (PDC)
# setsebool -P samba_domain_controller 1
Para que SELinux perminta al servicio smb compartir los directorios de inicio de los usuarios locales del sistema, ejecute:
# setsebool -P samba_enable_home_dirs 1
A fin de que SELinux desactive la protección para los directorios de inicio de los usuarios a través de smb, ejecute:
# setsebool -P use_samba_home_dirs 1
Con la finalidad de que SELinux permita al servicio smb crear nuevos directorios de inicio para los usuarios a través de PAM (operación común en PDC, ejecute
# setsebool -P samba_create_home_dirs 1
Para que SELinux permita al servicio smb funcionar como un organizador de mapa de puertos (portmapper):
# setsebool -P samba_portmapper 1
Para que SELinux permita al servicio smb ejecutar guiones dentro del directorio /var/lib/samba/scripts sin confinamiento:
# setsebool -P samba_run_unconfined 1
Con el fin de que SELinux permita al servicio smb compartir todos los recursos en modo de sólo lectura:
# setsebool -P samba_export_all_rw 1
Para que SELinux perminta al servicio smb compartir todos los recursos en modo de lectura y escritura:
# setsebool -P samba_export_all_rw 1
Mandato chcon
Para definir que un directorio será compartido a través del servicio smb y que debe considerarse como contenido Samba, por ejemplo /var/samba/publico:
# chcon -t samba_share_t /var/samba/publico
Antes de configurarse en el el archivo /etc/samba/smb.conf, cada nuevo directorio que se vaya a compartir debe ser configurado como se ha descrito anteriormente.
Iniciar el servicio
# service nmb start
# service smb start
Añadir el servicio al arranque del sistema
# chkconfig nmb on
# chkconfig smb on
Después de aplicar cambios al archivo de configuración de Samba es necesario reiniciar el servicio smb
# service smb restart
El servicio nmb es el encargado de proveer el servidor de nombre para los clientes a través de NetBios sobre IP. Por tanto, debe reiniciar el servicio nmb si realiza cualquier cambio en la configuración de la opción netbios name
# service nmb restart
Alta de cuentas de usuario
Primero asigne una contraseña al usuario root (no tiene que ser la misma utilizada en el sistema).
# smbpasswd -a root
La sincronización de cuentas entre el servidor Samba y las estaciones Windows se realiza ingresando el mismo nombre de usuario y contraseña tanto en el servidor Samba como en la máquina Windows.
La mayoría de las cuentas de usuario que se utilizan para acceder a Samba no requieren acceso al intérprete de comandos del sistema, no hace falta asignar una contraseña con el mandato passwd. El intérprete de comandos quedará definido como /sbin/nologin o /bin/false para la cuenta de usuario. Esta cuenta en cuestión estará inactiva para el resto de servicios.
# useradd -s /sbin/nologin andrius
# smbpasswd -a andrius
Archivo lmhosts
Se utiliza para resolver de manera local los nombres NetBios, asociándolos con su dirección IP correspondiente. El nmbre NetBios no debe exceder los doce caracteres alfanuméricos. Como mínimo debe definirse el nombre del anfitrión del servidor Samba junto a su dirección IP.
# vi /etc/samba/lmhosts
127.0.0.1 localhost
192.168.0.1 servidor
Configuración básica del archivo smb.conf
# vi /etc/samba/smb.conf
La opción workgroup define el grupo de trabajo
workgroup = MYGROUP
Opción netbios name
Define un nombre de anfitrión distinto al detectado automáticamente. Debe ser el mismo que aparece en el archivo /etc/samba/lmhosts
netbios name = servidor
Opción server string
server string = Servidor Samba %v en %L
Opción hosts allow
En esta entrada del archivo smb.conf se pueden definir direcciones IP o redes que tendrán permiso de acceso hacia el servidor. Por tanto, una red con anfitriones con direcciones IP desde 192.168.0.1 hasta 192.168.0.254, el rango de direcciones IP definido en hosts allow será 192.168.0., (los tres primeros octetos).
Vamos a definir las redes 192.168.0.0/24, 102.168.1.0/24 y 192.168.3.0/24 como vimos con anterioridad utilizando los tres primeros octetos de la dirección IP de red, en el caso de cualquier dirección IP de la red 127.0.0.0/8 se define sólo el primer octeto de dicho segmento.
hosts allow = 127., 192.168.0., 192.168.1., 192.168.3.
Opción name resolve order
Define el orden en que se intenta de resolver los nombres NETBIOS. Primero con la información del archivo /etc/samba/lmhosts, luego el archivo /etc/hosts, a continuación de consultas en el servidor WINS y, si todo lo anterior falla, a través de la dirección IP de difusión de la red local.
name resolve order = lmhosts hosts wins bcast
Gestor de archivos Nautilus
Esta configuración es necesaria para el gestor de archivos predeterminado de Gnome, Nautilus y además que se especifique wins en el orden de resolución de nombres del archivo /etc/nsswitch.conf del anfitrión desde el cual se ejecute.
# vi /etc/nsswitch.conf
hosts: files dns
al final agregje wins
hosts: files dns wins
Opción remote announce
remote announce = 192.168.3.127, 192.168.1.255
Reinicie los servicios para aplicar los cambios.
# service smb restart
# service nmb restart
Compartir directorios
Crear el directorio /var/samba/publico
# mkdir -p /var/samba/publico
Cambiar el contexto de SELinux para que este directorio sea considerado como contenido Samba.
# chcon -t samba_share_t /var/samba/publico
[publico]
comment = Recurso compartido publico
path = /var/samba/publico
guest ok = yes
read only = yes
write list = andrius
directory mask = 0755
create mask = 0644
Listas de control de acceso ACLsetfacl se utiliza para cambiar los permisos en las listas de control de acceso de un archivo o directorio dado. Asignar cambiar permisos de lectura, escritura y ejecución al usuario andrius
Crear el usuario y agregarlo al grupo samba
# useradd -s /sbin/nologin andrius
# smbpasswd -a andrius
# passwd andrius
# setfacl -m u:andrius:rwX /var/samba/publico
Se utilizó X mayúscula para indicar que sólo se aplicará el bit de acceso a directorios evitando aplicar el bit de ejecución a los archivos.
getfal se utiliza para determinar los permisos establecidos en las listas de control de acceso de un archivo o directorio.
# getfacl /var/samba/publico/
getfacl: Eliminando '/' inicial en nombres de ruta absolutos
# file: var/samba/publico/
# owner: root
# group: root
user::rwx
user:andrius:rwx
group::r-x
mask::rwx
other::r-x
Estos permisos que se establecieron en la lista de control de acceso del directorio /var/samba/publico son exclusivamente para éste. Cualquier nuevo archivo o directorio creado carecerá de estos nuevos permisos. Si se desea que éstos permisos se vuelvan los predeterminados para los nuevos archivos y directorios que sean creados en lo sucesivo dentro del directorio /var/samba/publico, se ejecuta el mismo mandato setfacl, pero añadiendo la opción -d para definir que serán los permisos predeterminados para nuevos archivos y directorios.
Lo anterior muestra que sólo el propietario del directorio tiene permisos de lectura, escritura y acceso. Para lograr que un usuario en particular pueda acceder también a este directorio, se ejecuta el mandato setfacl, con la opción -m para modificar la lista de control de acceso, [u,g,o]:[usuario,grupo]:[r,w,x] y la ruta del directorio como argumentos. Ejemplo:
setfacl -m u:usuario:rX /var/samba/publico
En el ejemplo anterior se utilizó X mayúscula para indicar que sólo se aplicará el bit de acceso de a directorios evitando aplicar el bit de ejecución a los archivos.
Lo mismo en notación octal
# setfacl -m u:usuario:5 /var/samba/publico
Editar el archivo /etc/samba/smb.conf y al final añada el siguiente contenido
[publico]
comment = Recurso compartido publico
path = /var/samba/publico
guest ok = yes
read only = yes
write list = andrius
directory mask = 0755
create mask = 0644
# service smb restart
Ocultando archivos que empiezan por punto.
Los archivos cuyo nombre comienza con un punto (archivos de configuración, normalmente), como es el caso del directorio de inicio del usuario en el servidor Samba (.bash_profile, .bashrc, .bash_history entre otros) pueden ocultarse con la opción hide dot files y el valor Yes.
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
inherit acls = yes
hide dot files = yes
Reinicie el servidor smb para que los cambios tengan efecto
# service smb restart
Montar recursos compartidos desde un cliente Linux
$ cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.0.1 servidor
# mkdir /mnt/publico
# mount.cifs -o username=andrius //servidor/publico /mnt/publico
Solicitará la contraseña del usuario utilizado en el servidor Samba
Password for andrius@//servidor/publico:
# mount | grep publico
//servidor/publico on /mnt/publico type cifs (rw)
Cree el archivo /etc/acreditar para hacer permanente lo anterior.
# vim /etc/acreditar
Especifique el nombre de usuario y contraseña utilizados con el recurso compartido.
username=andrius
password=password
Cambiando los permisos de acceso al archivo para que sólo el usuario root pueda ver y modificar el contenido.
# chmod 600 /etc/acreditar
# vim /etc/fstab
Este recurso será montado automáticamente en el siguiente reinicio del sistema. Agregue la siguiente línea incluyendo las opciones uid y gid
//servidor/publico /mnt/publico cifs credentials=/etc/acreditar,uid=501,gid=501 0 0
Utilizar smbclient desde Linux
Lo más práctivo y sencillo para hacer pruebas es el mandato smbclient. Permite acceder hacia cualquier servidor Samba y Windows.
# smbclient -U andrius -L servidor
Conectar un cliente Windows al servior Samba
Esta máquina está en la red 192.168.3.0/25 detrás de un firewall router Soekris y OpenBSD.
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/pdf/system_administrators_guide/Red_Hat_Enterprise_Linux-7-System_Administrators_Guide-en-US.pdf
Centos es genial!.
domingo, 4 de febrero de 2018
Servidor Centos 6.9
Samba en un servidor Centos
Servidor NTP Centos
Este servidor consta de dos tarjetas de red: Una con la que se conecta a Internet desde el router del proveedor de acceso a Internet (ISP) y otra para la red interna. El sistema operativo es Centos 6.9 excelente sistema con una extensa documentación. DHCP, DNS, Samba, Iptables, etc..
eth0 = Internet
eth1 = Red interna
Centos 6.9 puede instalarse desde un dvd o una memoria USB en modo gráfico (conectando el servidor a un monitor). A partir de la mínima configuración puede continuar vía ssh desde una máquina de la red. La opción a elegir es servidor.
Estructurar la red eth0 eth1. /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1
Servidor DHCP para entregar direcciones de red a los equipos de la red interna /etc/dhcp/dhcpd.conf
PermitRootLogin no
AllowUsers carles
Activar el reenvío de paquetes IP
# sysctl net.ipv4.ip_forward = 1
En el archivo /etc/sysctl.conf cambiar
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
por
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
Iptables para administrar Netfilter
Reiniciar el servicio iptables
# service iptables restart
Linux es genial!.
Servidor NTP Centos
Este servidor consta de dos tarjetas de red: Una con la que se conecta a Internet desde el router del proveedor de acceso a Internet (ISP) y otra para la red interna. El sistema operativo es Centos 6.9 excelente sistema con una extensa documentación. DHCP, DNS, Samba, Iptables, etc..
eth0 = Internet
eth1 = Red interna
Centos 6.9 puede instalarse desde un dvd o una memoria USB en modo gráfico (conectando el servidor a un monitor). A partir de la mínima configuración puede continuar vía ssh desde una máquina de la red. La opción a elegir es servidor.
Estructurar la red eth0 eth1. /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth0
HWADDR=00:22:4D:A5:9D:06
TYPE=Ethernet
UUID=2288f191-aa67-420a-b23c-ad5ce6bc1736
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
DEVICE=eth1
HWADDR=00:22:4D:A5:9D:0A
TYPE=Ethernet
UUID=6f52e738-8c50-4c34-9f47-399086d5406f
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.0.1
NETMASK=255.255.255.0
PEERDNS=no
Servidor DHCP para entregar direcciones de red a los equipos de la red interna /etc/dhcp/dhcpd.conf
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
# see 'man 5 dhcpd.conf'
#
ddns-update-style interim;
ignore client-updates;
authoritative;
default-lease-time 900;
max-lease-time 7200;
option ip-forwarding off;
option domain-name "linux.bcn";
ddns-update-style none;
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option domain-name-servers 8.8.8.8,8.8.4.4,192.168.0.1;
option ntp-servers 192.168.0.1;
range 192.168.0.50 192.168.0.99;
}
Habilitar ssh y prohibir la autenticación como usuario rootPermitRootLogin no
AllowUsers carles
Activar el reenvío de paquetes IP
# sysctl net.ipv4.ip_forward = 1
En el archivo /etc/sysctl.conf cambiar
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
por
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
Iptables para administrar Netfilter
# Generated by iptables-save v1.4.7 on Fri Feb 9 23:38:57 2018
*mangle
:PREROUTING ACCEPT [1128:95583]
:INPUT ACCEPT [1033:84832]
:FORWARD ACCEPT [95:10751]
:OUTPUT ACCEPT [722:117312]
:POSTROUTING ACCEPT [789:118879]
COMMIT
# Completed on Fri Feb 9 23:38:57 2018
# Generated by iptables-save v1.4.7 on Fri Feb 9 23:38:57 2018
*nat
:PREROUTING ACCEPT [11:704]
:POSTROUTING ACCEPT [1:116]
:OUTPUT ACCEPT [32:9528]
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Fri Feb 9 23:38:57 2018
# Generated by iptables-save v1.4.7 on Fri Feb 9 23:38:57 2018
*filter
:INPUT DROP [9:353]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i eth1 -p udp -m udp --dport 67:68 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 192.168.0.0/24 -i eth1 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A INPUT -s 192.168.0.0/24 -i eth1 -p tcp -m tcp --sport 1024:65535 --dport 22 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 135:139 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 135:139 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 445 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
-A INPUT -i eth0 -j LOG
-A INPUT -i eth1 -j LOG --log-prefix "From LAN:"
-A INPUT -i eth1 -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A FORWARD -o eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o eth0 -p tcp -m tcp --sport 31337 --dport 31337 -j DROP
-A FORWARD -j LOG --log-prefix "forward:"
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -d 192.168.0.0/24 -o eth1 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --sport 31337 --dport 31337 -j DROP
-A OUTPUT -s 192.168.0.0/24 -o eth1 -p udp -m udp --sport 1024:65535 --dport 53 -j ACCEPT
-A OUTPUT -s 192.168.0.0/24 -o eth1 -p udp -m udp --dport 67:68 -j ACCEPT
-A OUTPUT -s 192.168.0.0/24 -o eth1 -p udp -m udp --sport 53 --dport 1024:65535 -j ACCEPT
-A OUTPUT -s 192.168.0.0/24 -o eth1 -p udp -m udp --dport 5353 -j ACCEPT
-A OUTPUT -s 192.168.0.0/24 -o eth1 -p udp -m udp --dport 67:68 -j DROP
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
-A OUTPUT -o WAN_IFACE -p tcp -m tcp --sport 1:1024 -j DROP
-A OUTPUT -o WAN_IFACE -p udp -m udp --sport 1:1024 -j DROP
-A OUTPUT -o eth0 -p udp -m udp --sport 1:1024 -j DROP
COMMIT
# Completed on Fri Feb 9 23:38:57 2018
Reiniciar el servicio iptables
# service iptables restart
Linux es genial!.
sábado, 1 de diciembre de 2012
Dnsmasq DHCP Filter
Fuente: http://home.swkls.org/dnsmasq-on-centos-6-for-filtering/
Autor: Steve Andrews
El filtrado DNS es un método rápido y fácil para bloquear el acceso a ciertos sitios web. Se puede utilizar para bloquear la publicidad de terceros dentro de sitios web, bloquear sitios conocidos de malware infectados, filtro de contenido por ejemplo pornografía, etc.
Dnsmasq en CentOS 5.8. Dnsmasq es un ligero DNS de reenvío y almacenamiento en caché del servidor y el servidor DHCP. Asumiendo un servidor con dos tarjetas de red eth0 conectada a Internet y eth1 a la red local.
Instalar dnsmasq
yum install dnsmasq
Modificando /etc/dnsmasq.conf
Creando un fichero específico para los namaserves
Creando el grupo y usuario dnsmasq
groupadd -r dnsmasq
useradd -r -g dnsmasq dnsmasq
Tenemos una lista de bloqueo en el archivo de configuración /etc/dnsmasq.d directorio. Las entradas son básicamente una dirección IP y un dominio, tales como:
address=/facebook.com/127.0.0.1
Podemos crear la lista manualmente:
Agregar regla iptables para permitir acceso al puerto UDP 53
$ipt -A INPUT -s $NETLAN -i eth1 -p udp --sport 53 --dport 1024:65535 -j ACCEPT
service iptables save
service iptables restart
service dnsmasq start
chkconfig dnsmasq on
Para la prueba, se puede establecer la dirección IP del servidor DNS en otra máquina para que apunte al servidor dnsmasq. Puede ser una buena idea limpiar la caché de DNS en la máquina con ipconfig /flushdns asumiendo un ordenador con Windows. Entonces, podemos utilizar nslookup para comprobar Dnsmasq en este caso desde un cliente centos6:
Como era de esperar, haciendo una búsqueda por facebook.com devuelve la dirección de bucle invertido (127.0.0.1), que también debería devolver un error 404 Not Found si intentamos acceder a la página con un navegador web.
También podemos confirmar que está trabajando viendo el archivo de registro que puede encontrar en /var/log/dnsmasq.log.
Ya que estamos en el tema de los registros, vamos a crear un archivo de registro nuevo rotation para nuestros registros de dnsmasq. En primer lugar crear un nuevo archivo en /etc/logrotate.d y luego llenar el nuevo archivo con el siguiente:
Esto debe rotar el registro diario y mantener sólo los 32 registros más actuales en el archivo. Usted puede eliminar el "rotate 32 'o aumentar el número si lo desea.
Podemos mejorar las cosas un poco de sirviendo una página de bloque personalizado en lugar de enviar gente a una página 404, pero necesitamos instalar Apache en primer lugar:
yum install httpd
Tiene que crear una apropiada regla iptables apropiada:
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
service iptables save
service iptables restart
chconfig --levels 235 httpd on
Una sencilla pagina index
vim /var/www/html/index.html
Podemos probar que nuestra página de bloqueo está trabajando, navegando a la dirección IP del servidor, en mi caso 192.168.0.1. También vamos a utilizar esa IP sobre las futuras modificaciones de lista en lugar de 127.0.0.1.
En este momento el bloqueador de páginas un trabajo reenviador DNS y servidor de almacenamiento en caché, pero no bloquea mucho. Vamos a ver como rellenar una lista más grande descargando el paquete de lista de negra de Shalla.de para este ejemplo, extraer la lista de spyware, y formato para Dnsmasq. En primer lugar, vamos a editar nuestro archivo /etc/dnsmasq.conf archivo para incluir otra lista de bloques:
cd /etc
echo "conf-file=/etc/dnsmasq.d/spyware" >> dnsmasq.conf
Descargar y descomprimir blacklist tarball:
wget http://www.shallalist.de/Downloads/shallalist.tar.gz
tar -xzvf shallalist.tar.gz
cd BL/spyware
sed -e 's%^%address=/%' domains > spyware
sed -i 's%$%/192.168.0.1%' spyware
cp spyware /etc/dnsmasq.d/
cd /etc/dnsmasq.d
ls
Veremos un nuevo archivo "spyware" en el directorio.
Reiniciar servicio dnsmasq
service dnsmasq restart
Para la prueba, utilice el equipo cliente configurado anteriormente y realizar un nslookup en cualquier nombre de dominio incluido en el archivo "spyware".
También podemos añadir nuevas listas de bloqueo en nuestro fichero dnsmasq.conf listas negras para otros también. Sólo es necesario añadir una nueva línea en el archivo dnsmasq.conf para una nueva lista (ej.: conf-file =/ etc/dnsmasq.d/porn), crear formato de lista y asegúrese de que está en la carpeta correcta /etc/dnsmasq.d en nuestro caso), y reiniciar el servicio de dnsmasq.
DHCP - dnsmasq asignando direcciones IP :
dhcp-range=192.168.0.150,192.168.0.200
De modo que nuestro archivo /etc/dnsmasq.conf queda así:
Comprobaciones finales desde el cliente:
Automatizar el proceso de descarga y formateo nuestro blacklist(s).
service crond start
chkconfig crond on
Siguiendo con Shalla Blacklists como ejemplo, formatearemos tres listas del total descargado: spyware, redirector, y porn. También es necesario estar seguro que las listas están referenciadas en el archivo /etc/dnsmasq.conf
conf-file=/etc/dnsmasq.d/spyware
conf-file=/etc/dnsmasq.d/redirector
conf-file=/etc/dnsmasq.d/porn
A continuación vamos a escribir un script (secuencia de comandos) para buscar y dar formato a nuestras listas negras. Creamos un nuevo fichero en /etc/dnsmasq.d/ directorio llamado blacklistprep.sh con el siguiente contenido:
cd /etc/dnsmasq.d
rm shallalist.tar.gz
wget http://www.shallalist.de/Downloads/shallalist.tar.gz
tar -zxvf shallalist.tar.gz
cd /etc/dnsmasq.d/BL/porn
# edit porn list for dnsmasq formatting
sed -e 's%^%address=/%' domains > porn
sed -i 's%$%/192.168.0.1%' porn
cp porn /etc/dnsmasq.d/
# edit redirect list for dnsmasq formatting
cd /etc/dnsmasq.d/BL/redirector
sed -e 's%^%address=/%' domains > redirector
sed -i 's%$%/192.168.0.1%' redirector
cp redirector /etc/dnsmasq.d/
# edit malware list for dnsmasq formatting
cd /etc/dnsmasq.d/BL/spyware
sed -e 's%^%address=/%' domains > spyware
sed -i 's%$%/192.168.0.1%' spyware
cp spyware /etc/dnsmasq.d/
service dnsmasq restart
El mismo script un poco más elaborado sería algo como esto:
Ahora, podemos programar el script con crontab para ejecutar cada semana a la medianoche. En nuestra línea de comando, introducimos:
crontab -e
00 0 * * 0 sh /etc/dnsmasq.d/blacklistprep.sh
Para ejecutar manualmente, debemos hacer lo siguiente:
cd /etc/dnsmasq.d
sh ./blacklistprep.sh
Las tres listas contienen alrededor de 873.000 entradas. A partir de este post he observado que algunas entradas (es decir, dominios), al menos en las listas de Shalla, contienen un carácter raro o dos, como el carácter de barra vertical, que hace que Dnsmasq se ahogue en el reinicio.
Tal vez sea mejor dejar caer el reinicio del servicio al final del script blacklistprep.sh (/sbin/service dnsmasq restart) y reiniciar manualmente el servicio para atrapar a estos sucesos.
Solucionar errores archivo porn:
Al intentar reiniciar el servicio dnsmasq nos advierte de un error en el formato de una de las entradas
dnsmasq: error at line 620442 of /etc/dnsmasq.d//porn
La solución fué sencilla, aislé la entrada del error así;
cd /etc/dnsmasq.d/
cat porn | nl | grep 406923
406923 address=/hitchbitch.tv|/192.168.0.1
Luego editar el archivo utilizando vi
vim porn
esc
/hitchbitch.tv
address=/hitchbitch.tv|/192.168.0.1
Borrar el caracter barra vertical que aparece justo después de tv:
guardar y cerrar
:wq
Reiniciar dnsmasq para comprobar si existen más errores.
/sbin/service dnsmasq restart
En mi caso encontré 4 entradas erróneas:
406923 address=/hitchbitch.tv|/192.168.0.1
435758 address=/jaydenjaymes,com/192.168.0.1
501295 address=/moherland.pl,/192.168.0.1
620442 address=/sendesık.com/192.168.0.1
Otras listas no tienen que ser un problema cuando se utiliza una línea de reinicio en términos de errores en el formateo. Por ejemplo, hagamos una prueba con la lista violence repitiendo el proceso:
Fuentes de listas de dominios:
Integral:
Ad-Blocking:
Linux es genial!
Suscribirse a:
Entradas (Atom)