Contactos

Centros 7 Firewall CMD puerto abierto. Configuración de la zona predeterminada

Hoy le presentaré su visión de la configuración inicial del servidor universal en el sistema operativo popular. Hablaré sobre cómo hacer la configuración básica del servidor CENTOS inmediatamente después de la instalación para usarlo en cualquier calidad a su discreción. Presentado consejo practico Mejore la seguridad y la conveniencia de trabajar con el servidor. El artículo será relevante para las dos últimas versiones de CentOS - 7 y 8.

  1. Enumere la configuración inicial de los centros que realizo en el servidor más fresco.
  2. Mostrar ejemplos de configuraciones que utilizo en un entorno típico.
  3. Da consejos sobre la configuración de los Centos en función de su experiencia laboral.
  4. Cree una lista de programas típicos y utilidades que ayudan a administrar el servidor.

Este artículo es parte del ciclo unificado del artículo sobre el servidor.

Introducción

Después de la liberación de la nueva versión de Centros 8, se hizo difícil en un solo artículo para describir ajuste inicial Ambos servidores, pero no quería compartir un artículo, ya que hay muchos enlaces entrantes de diferentes lugares. Es más conveniente mantener material general en ambos lanzamientos que yo. Al mismo tiempo, las diferencias en dos versiones serán visibles, lo que durante un par de años después de la salida CentOS 8 será relevante tanto y se utilizará la otra versión, dependiendo de la situación.

Centos 7 usa un administrador por lotes yum, y en Centlos 8 - dNF.. Al mismo tiempo, dejó un enlace simbólico con yum en DNF, para que pueda escribir el primer nombre y el segundo. Para la uniformidad, usaré yum por todas partes, y te advierto, solo para entender por qué hago esto. Realmente, los Centos 8 utilizan DNF, este es otro, más moderno administrador por lotes que le permite trabajar con diferentes versiones del mismo software. Esto utiliza repositorios separados que aparecieron para CentOS 8.

Centros de configuración inicial.

Personalmente, soy cualquier configuración del sistema, ya sea un centros u otro, después de la instalación, comience con el hecho de que actualizo completamente el sistema. Si la imagen de instalación estaba fresca, o la instalación se realizó a través de la red, lo más probable es que no sean actualizaciones. La mayoría de las veces son, ya que las imágenes de instalación no siempre se actualizan regularmente.

Actualizamos el sistema.

# Yum actualización.

Para facilitar la administración, siempre instalo el comandante de medianoche, o simplemente MC:

# yum install mc

E inmediatamente para ello, enciendo el resaltado de la sintaxis de todos los archivos que no están explícitamente en el archivo USR / Share / MC / SYNTAX / SINTAX Sintaxis para scripts de sh y bash. Esta sintaxis universal es normalmente adecuada para los archivos de configuración que con mayor frecuencia tienen que trabajar en el servidor. Sobrescribir el archivo desconocido.Syntax. Es este patrón que se aplicará a los archivos C.conf i.cf, ya que ninguna sintaxis claramente no está atada a ellos.

# CP /USR/SHARE/MC/SYNTAX/SH.SYNTAX /USR/SHARE/MC/SYNTAX/IKNOWN.SYNTAX

Además, usaremos utilidades de red. Dependiendo del conjunto de los paquetes iniciales que elija al instalar el sistema, tendrá uno u otro conjunto de utilidades de red. Aquí hay una lista de aquellos que están acostumbrados a personalmente, IFCONFIG, NETSTAT, NSLOOKUP y otros. Si la necesitas, tal como yo, entonces propongo instalarlos por separado si aún no lo están. Si no los necesita particularmente y no los usa, puede omitir su instalación. Compruebe que tenemos en el sistema en este momento.

# ifconfig

Si ves la respuesta:

Bash: ifconfig: comando no encontrado

Así que la utilidad no está instalada. En lugar de IFCONFIG EN CENTOS AHORA UTILIDAD iP. Esto se aplica no solo al centro. Dicha imagen es casi todas las modernas distribuciones de Linux. Durante mucho tiempo me acostumbré a IFCONFIG, aunque prácticamente no lo uso recientemente. Siempre me gustó que en diferentes distribuciones Linux, todo es aproximadamente el mismo. Uso de IFCONFIG, puede configurar la red no solo en Linux, sino también en FreeBSD. Es cómodo. Y cuando en cada distribución, esta herramienta no es conveniente. Aunque ahora no es muy relevante, ya que no trabajo con FreeBSD, y la utilidad IP está en todas las distribuciones de Linux. Sin embargo, si necesita IFCONFIG, puede instalar el paquete herramientas netas.en el que ella entra:

# Yum install net-tools

Para que tengamos los comandos de nslookup o, por ejemplo, el host debe instalar el paquete bINT-utils.. Si esto no se hace, entonces en el comando:

# nslookup

Habrá una conclusión:

Bash: nslookup: comando no encontrado

Así que instale Bind-utils:

# Yum install enlac-utils

Desactivar SELINUX

Apague SELINUX. Su uso y configurar una conversación por separado. Ahora no voy a hacer esto. Así que nos apagamos:

# MCEDIT / ETC / SYSCONFIG / SELINUX

cambiar el valor

Selinux \u003d deshabilitado.

Para cambiar los cambios, puede reiniciar:

# Reiniciar

Y si desea reiniciar, aplique Apagado SELINUX, luego ejecute el comando:

# Stenforce 0

Constantemente recibo muchas críticas en el tema de SELinux deshabilitar. Sé cómo trabaja, puedo personalizarlo. Realmente no es muy difícil y no es difícil dominar. Esta es mi elección consciente, aunque a veces lo configuré. Mi formato de trabajar con el sistema es tal que SELINUX se necesita más a menudo para mí, por lo que no paso tiempo en ello y en la configuración básica de los centros se apaga. La seguridad del sistema es un trabajo integral, especialmente en el mundo moderno del desarrollo web, donde la regla de microservicio y contenedores. Las herramientas de Selinux Nishey que no siempre son necesarias y no en todas partes. Por lo tanto, en este artículo, él no es un lugar. Quién necesita, incluirá por separado SELINUX y configurar.

Indique los parámetros de red

Continuamos la configuración básica del CentOS después de la instalación. Ahora produciremos si por alguna razón no lo hicieron durante la instalación, o si necesita cambiarlos. En general, la red en los Centos está configurada por Gerente de Redes. y su utilidad de consola nmtui.. Va en el sistema básico de oralovka. Hay simple y comprensible. interfaz gráficaAsí que no hay nada que contar. Estoy más utilizado para personalizar la red a través de archivos de configuración de Scripts de red. En los centros de la 7ª versión, son desde la caja, en la 8ª versión que fueron eliminados. Para usarlos para configurar la red, debe instalar el paquete por separado. red-Scripts..

# Yum install red-scripts

Ahora puedes configurar la red. Para hacer esto, abre el archivo. / etc / sysconfig / red-scripts / ifcfg-eth0

# MCEDIT / etc / sysconfig / red-scripts / ifcfg-eth0

Si obtiene una configuración de red DHCP, entonces el conjunto mínimo de configuración en el archivo de configuración será así.

TIPO \u003d "Ethernet" BootProto \u003d "DHCP" Defruta \u003d "Sí" IPv4_Failure_Fatal \u003d "No" nombre \u003d "eth0" dispositivo \u003d "eth0" onboot \u003d "SI"

Para configurar la dirección IP estática, la configuración será la siguiente.

TIPO \u003d "Ethernet" BootProto \u003d "Ninguno" Defruta \u003d "Sí" IPv4_Failure_Fatal \u003d "No" Nombre \u003d "Eth0" Dispositivo \u003d "Eth0" OnBoot \u003d "SÍ" iPADDR \u003d 192.168.167.117 DNS1 \u003d 192.168.117.113 Prefijo \u003d 28 Gateway \u003d 192.168.167.113

En el campo IPADDR, ingrese su dirección, en la máscara de la red de prefijos, en la puerta de enlace de la puerta de enlace, dirección DNS del servidor DNS. Guarde el archivo y reinicie la red para aplicar la configuración:

# Systemctl reiniciar la red

Personaliza el firewall

Añadiendo repositorios

Al configurar CentOS, a menudo necesita un software que no está en el Repex estándar. Para instalacion paquetes adicionales necesario. El más popular es Epel. Solía \u200b\u200bser RPMForge, pero ya unos años cerrado. Sobre él todo olvidado. Conecte el repositorio de Epel. Con él, todo es simple, se añade desde el nabo estándar:

# Yum instale la liberación de Epel

Además, el repositorio REMI es extremadamente útil para los Centros 7, lo que le permite establecer una versión grande de PHP, en contraste con los del repositorio estándar. Permítanme recordarle que esta es la versión de PHP 5.4, que ya no es adecuada y elimina de soporte.

# rpm -uhv http://rpms.remirepo.net/enterprise/Remi-Relelease-7.RPM

Para Centos 8 Remi no es relevante aún, pero creo que es temporal. En principio, estos dos repositorios en centros generalmente agarra en general. Otros están conectados bajo necesidades específicas para instalar varios software.

Configuración de almacenamiento de la historia en Bash_History

Mocario para configurar el sistema CentOS en el servidor. Útil hará algunos cambios en el mecanismo estándar para salvar la historia de los equipos. A menudo ayuda cuando necesitas recordar uno de los comandos ingresados \u200b\u200banteriormente. Los ajustes estándar tienen algunas restricciones que se sienten incómodas. Aquí están su lista:

  1. De forma predeterminada, solo se guardan los últimos 1000 comandos. Si hay más de ellos, entonces los nuevos serán eliminados y reemplazados por otros nuevos.
  2. Las fechas de ejecución de los comandos no se especifican, solo su lista en orden de ejecución.
  3. El archivo con la lista de mensajes se actualiza después de que se complete la sesión. Con sesiones paralelas, se puede perder parte de los comandos.
  4. Absolutamente todos los comandos se guardan, aunque no hay sentido en el almacenamiento.

La lista de los últimos comandos ejecutados se almacena en el directorio de inicio en el archivo en el archivo .bash_history. (al principio del punto). Se puede abrir por cualquier editor y ver. Para una salida más conveniente de la lista, puede ingresar el comando en la consola:

# Historia.

y vea la lista numerada. Encuentre rápidamente un comando específico, puede usar el filtrado solo las filas deseadas, por ejemplo, como esta:

# Historia | Grep yum.

Así que veremos todas las opciones para ejecutar el comando Yum, que se almacenan en la historia. Corregiremos las desventajas enumeradas de la configuración de almacenamiento de comandos estándar en los centros. Para hacer esto, edita el archivo. .bashrc.que se encuentra en el mismo directorio que un archivo con historial. Agregue las siguientes líneas:

Exportar histsize \u003d 10000 Export HisttimeFormat \u003d "% H% D% H:% M:% S" PR Previst_Command \u003d "History" Exportar histignore \u003d "LS: LL: Historia: W: htop"

El primer parámetro aumenta el tamaño del archivo a 10,000 líneas. Puedes hacer más, aunque generalmente toma tal tamaño. El segundo parámetro indica que necesita guardar la fecha y la hora del comando. La tercera línea obliga inmediatamente después de ejecutar el comando para mantenerlo en la historia. En la última línea, creamos una lista de excepciones para aquellos comandos cuyo registro no se requiere en la historia. Traje un ejemplo de la lista más sencilla. Puedes agregarlo a tu discreción.

Para aplicar los cambios, es necesario alinearse y conectarse nuevamente o ejecutar el comando:

# Fuente ~ / .bashrc

Al configurar el almacenamiento de la historia de los comandos, todo. En el archivo .bashrc, puede configurar muchas cosas interesantes. En un momento, me gustaba experimentar, pero entonces todo lo arrojó, porque no tiene sentido. Trabajar con los servidores de los clientes, más a menudo veo la bash predeterminada, por lo que es mejor acostumbrarse y trabajar en él. Y la configuración y las decoraciones individuales son el lote de computadoras y servidores personales. No hay trabajadores. Mientras más no configuro nada de acuerdo con el estándar en el servidor de Cientos a este respecto.

Actualización automática del sistema

Para mantener la seguridad del servidor en el nivel adecuado, es necesario al menos para actualizarlo de manera oportuna, tanto el kernel con las utilidades del sistema como con otros paquetes. Puede hacerlo manualmente, pero para un trabajo más eficiente, es mejor configurar la ejecución automática. No es necesario instalar actualizaciones automáticamente, pero al menos para verificar su apariencia. Normalmente me adherí a tal estrategia.

Yum-cron

La utilidad ayudará a verificar automáticamente las actualizaciones en Centlos 7 yum-cron. Se realiza tradicionalmente a través de Yum del repositorio estándar.

# Yum install yum-cron

Después de instalar Yum-Cron se crea tarea automática En la ejecución de la utilidad en /etc/cron.daily. y /etc/cron.huy. De forma predeterminada, la utilidad descarga las actualizaciones encontradas, pero no las aplican. En su lugar, se envía una notificación de actualizaciones al administrador a la raíz del buzón local. Además, ya estás en modo manual Venga y decida si instalar actualizaciones o no en un momento conveniente para usted. Veo que este modo de trabajo más conveniente, por lo que no cambio estas configuraciones.

Puede configurar Yum-Cron a través de los archivos de configuración que se encuentran en /etc/yum/yum-cron.conf. y yum-cron-hoursly.conf. No son malos comentados, por lo que en las explicaciones detalladas no necesitan. Llamo la atención sobre la sección. donde puede especificar los parámetros de envío de mensajes. De forma predeterminada, enviando correo a través del host local. Puede cambiar los parámetros y enviar mensajes a través de un tercero. servidor de correo. Pero, en cambio, personalmente prefiero a nivel mundial para todo el servidor para ajustar el reenvío de correo local raíz a un buzón externo a través de la autorización en otro servidor SMTP.

DNF-Automático.

Como dije anteriormente, otro gerente de lotes se utiliza en Centlos 8 - DNF. Configuración de la actualización del paquete se realiza a través de la utilidad. dNF-Automático.. Ponlo y configúralo.

# Yum instale DNF-Automatic

La gestión de la puesta en marcha a la programación ya no es Cron, pero el sistema es su programador incorporado. Mira los temporizadores de lanzamiento automáticos pueden ser equipos:

# SystemCl List-Timers * DNF- *

Si no hay una sola tarea, entonces puede agregar un temporizador manualmente:

# SystemCTL Habilitar --Now DNF-Automatic.Timer

El temporizador predeterminado está configurado para iniciar la hora automática DNF después de que el servidor esté cargado y la repetición diaria. La configuración del temporizador vive aquí. /etc/systemd/system/multi-user.target.wants/dnf-automatic.timer..

Configuración para la vida automática DNF en /etc/dnf/automatic.conf.. De forma predeterminada, solo descarga actualizaciones, pero no las aplican. La configuración está bien comentada, por lo que puede configurarlo como desee. No se requieren explicaciones separadas. Configure la actualización de los paquetes del sistema a su discreción. Como dije, automáticamente los balanceo. La instalación siempre mantente bajo control con control manual.

Apague las publicaciones de inundación en / var / log / mensajes

Continuando con el escenario de los centros, corrige un pequeño inconveniente. En la instalación predeterminada del 7º Sistema de Versiones, todo su registro de su sistema / Var / log / mensajes Después de algún tiempo, el servidor se obstruirá con los siguientes registros.

16 de octubre 14:01:01 XS-Files Systemd: Se creó una rebanada de usuario-0.SLICE. 16 de octubre 14:01:01 XS-Files Systemd: Arranque a Usuario-0.SLICE. 16 de octubre 14:01:01 XS-Files Systemd: Se inició la sesión 14440 de la raíz del usuario. 16 de octubre 14:01:01 XS-Files Systemd: Sesión de inicio 14440 de la raíz del usuario. 16 de octubre 14:01:01 XS-Files Systemd: eliminó la rebanada de usuario-0.SLICE. 16 de octubre 14:01:01 XS-Files Systemd: Detener el usuario-0.SLICE. 16 de octubre 15:01:01 XS-Files Systemd: Se creó una rebanada de usuario-0.SLICE. 16 de octubre 15:01:01 XS-Files Systemd: Iniciar usuario-0.SLICE. 16 de octubre 15:01:01 XS-Files Systemd: Sesión iniciada 14441 de la raíz del usuario. 16 de octubre 15:01:01 XS-Files Systemd: Sesión de inicio 14441 de la raíz del usuario. 16 de octubre 15:01:01 XS-Files Systemd: Sesión iniciada 14442 de la raíz del usuario. 16 de octubre 15:01:01 XS-Files Systemd: Sesión de inicio 14442 de la raíz del usuario. 16 de octubre 15:01:01 XS-Files Systemd: eliminó la rebanada de usuario-0.SLICE. 16 de octubre 15:01:01 XS-Files Systemd: deteniendo el usuario de usuario-0. 16 de octubre 16:01:01 XS-Files Systemd: Se creó una rebanada de usuario-0.SLICE. 16 de octubre 16:01:01 XS-Files Systemd: Iniciar usuario-0.SLICE. 16 de octubre 16:01:01 XS-Files Systemd: Sesión iniciada 14443 de la raíz del usuario. 16 de octubre 16:01:01 XS-Files Systemd: Sesión de inicio 14443 de la raíz del usuario. 16 de octubre 16:01:01 XS-Files Systemd: eliminó la rebanada-0.

En Centlos 8 no los noté, por lo que no es necesario hacer nada allí. No hay uso práctico de la comunicación, por lo que los rechazaremos. Para hacer esto, cree una regla separada para RSYSLOG, donde enumeramos todas las plantillas de mensajes que cortarán. Publicar esta regla en un archivo separado /etc/rsyslog.d/ignore-systemd-session-slice.conf..

# CD /TC/RSYSLOG.D && MCEDIT IGNORE-SYSTEMD-SLIECE.CONF IF $ PROGRAGNAME \u003d\u003d "Systemd" y ($ MSG contiene "Sesión de inicio" o $ MSG contiene "Sesión iniciada" o $ MSG contiene "Slice creado" O $ MSG contiene "Inicio de usuario-" o $ MSG contiene "Arranque de la rodaja de usuario de" o $ MSG contiene "Sesión eliminada" o $ MSG contiene "Rebanada de usuario de corte eliminada de" o $ MSG contiene "Terminación de la rodaja de usuario"), entonces Detener.

Guarde el archivo y reinicie RSYSLOG para aplicar la configuración.

# Systemctl reiniciar rsyslog

Debe entenderse que en este caso apagamos la inundación en el archivo de registro solo en el servidor local. Si almacena registros, entonces esta regla Será necesario ajustarlo exactamente en él.

Instalación de IFTOP, STOP, HTOP, LSOF en CentOS

Y finalmente, agregue unos cuantos al final de la configuración. utilidades útilesque puede ser útil durante la operación del servidor.

shows IFTOP En tiempo real Cargando la interfaz de red, puede comenzar con varias claves, no se detendré en este detalle, hay información sobre este tema en Internet. Poner:

# Yum install iftop

Y dos tareas interesantes del despachador, yo uso más a menudo HTOP, pero a veces es útil. Ponemos ambos, mirándonos, compartirá lo que le gusta más, adecuado:

# Yum install htop # yum install enop

Para mostrar información sobre qué archivos son utilizados por los u otros procesos, le aconsejo que ponga la utilidad lsof. Es más probable que sea útil antes o más tarde cuando diagnostica la operación del servidor.

# Yum install wget bzip2 traceroute gdisk

Tengo todo en ello. Configuración básica Se completa los Centos, puede comenzar a instalar y configurar el funcionario principal.

Configuración del correo del sistema

Finalmente configurar servidores CENTOS Hagamos que el correo dirigido a la raíción local se envíe a través de un servidor de correo externo al buzón seleccionado. Si esto no se hace, entonces se doblará localmente en el archivo / Var / carrete / correo / raíz. Y puede haber un importante y informacion util. Configúrelo para enviar a un cuadro Administrador del sistema.

Le dije detalle sobre esto en un artículo separado -. Aquí solo solo los comandos y la configuración rápida. Establecemos los paquetes necesarios:

# Yum install mailx cyrus-sasl cyrus-sasl-lib cyrus-sasl-plana postfix

Dibujamos sobre tal configuración para Postfix.

Gato /etc/postfix/main.cf ## Configuración predeterminada Comenzar ######################_directory \u003d / var / spool / postfix command_directory \u003d / usr / sbin daemon_directory \u003d / usr / libexec / postfix data_directory \u003d / var / lib / postfix mail_ewner \u003d postfix inet_interfaces \u003d localhost inet_protocols \u003d allnown_local_recipient_rejunt_code \u003d 550 alias_maps \u003d hash: / etc / aliases alias_database \u003d hash: / etc / aliases debug_peer_level \u003d 2 debugger_command \u003d ruta \u003d / bin: / bin: / bin: / usr / bin ddd $ daemon_directory / $ process_name $ process_id & sleep 5 sendmail_path \u003d /usr/sbin/sendmail.postfix newaliases_path \u003d / / usr / bin / newaliases.postfix mailq_path \u003d / usr / bin / mailq.postfix setgid_group \u003d PostDrop HTML_DIRECTORY \u003d NO MANPAGE_DIRTORY \u003d / USR / COMPARTIDO / MAN SAMPO_DIRTORY \u003d / MUJER MUESTRA / DOC / POSTFIX-2.10.1 / MUESTRAS README_DIRECTORY \u003d / USR / COMPARTIDO / DOC / POSTFIX-2.10.1 / Readme_Files-2.10.1 ## Config por defecto FIN ###################### # Nombre del servidor, que muestra el nombre de host myhostname \u003d centos-test command. Xs.Local # aquí n Debe dejar solo un dominio sobre la lógica, pero en este caso es mejor dejar el nombre completo del servidor para que en el campo del remitente apareciera el nombre completo del servidor, es más conveniente desmontar los mensajes de servicio Mydomain \u003d centos-test.xs.xs.local mydestination \u003d $ MyHostName Myorigin \u003d $ MyDomain # Dirección del servidor que enviará el correo releayhost \u003d mailsrv.myrv.mymil.ru:25 smtp_use_tls \u003d sí smtp_sasl_auth_enable \u003d sí smtp_sassasl_password_maps \u003d hash: / etc / postfix / sasl_security_options / sasl_security_option_sasl_security_ops \u003d noanymous smtp_tls_security_level \u003d mayo

Cree un archivo con información sobre el nombre de usuario y la contraseña para la autorización.

# MCEDIIT / etc / postfix / sasl_passwd mailsrv.mymail.ru:25 [Correo electrónico protegido]: Contraseña.

Crea un archivo DB.

# Postmap / etc / postfix / sasl_passwd

Ahora puedes reiniciar Postfix y verificar el trabajo.

# Systemctl reiniciar postfix

Al alias estándar para la raíz en / etc / aliases, Agregue una dirección externa donde se duplique el correo dirigido a la raíz. Para hacer esto, edite el archivo especificado cambiando la última cadena.

#Root: Marc.

Raíz: raíz, [Correo electrónico protegido]

Actualizamos la base de datos de certificados:

# Newaliases

Enviaremos una carta a través de la consola LAN:

# Df -h | Correo -s "uso de disco" raíz

La carta debe ir a la caja al aire libre. Si usa un cuadro de Yandex, lo más probable es que obtenga un error en el registro del servidor de correo y la letra no será enviada.

Relé \u003d smtp.yandex.ru: 25, retardo \u003d 0.25, retrasos \u003d 0/0 / 0.24 / 0.01, DSN \u003d 5.7.1, estado \u003d rebotado (host smtp.yandex.ru dijo: 553 5.7.1 Dirección del remitente rechazado: No es propiedad de autenticación. (En respuesta a correo desde el comando)))

Este error significa que no tiene la misma caja que un remitente que utiliza para la autorización. Cómo solucionarlo, le digo en un artículo separado. Con otros sistemas postales donde no hay tal cheque, todo debería estar bien y, por lo tanto.

En esto, se completa la configuración del correo local. Ahora, todas las letras dirigidas a la raíz local, por ejemplo, los informes de CRON se duplicarán a un buzón externo, y con el envío de un servidor de correo completo. Por lo tanto, las cartas se entregarán finamente, sin caer en el spam (aunque no es necesario, también hay filtros heurísticos).

Conclusión

Realizamos algunos pasos primarios Al configurar el servidor CENTOS, que generalmente hago al preparar el servidor inmediatamente después de la instalación. No pretendo la verdad absoluta, tal vez extraño o no tengo razón. Estaré encantado de comentarios y comentarios razonables y significativos con sugerencias.

..
  • Comprender las características del despliegue, la configuración y el mantenimiento de redes construidas sobre la base de Linux.
  • La capacidad de resolver rápidamente problemas emergentes y garantizar una operación estable e ininterrumpida del sistema.
  • Compruebe usted mismo en la prueba de introducción y vea más del programa de software.

    Sobre la protección del servidor de amenazas externas, primero de todos los aumentos entre pantalla de redLo que filtra el tráfico entrante y saliente. Configuración de IPTables: un caso privado de firewall en los centros que quiero hacer en este artículo, así como informar sobre su instalación y desconexión. Mi liderazgo no será exhaustivo, solo consideraré aquellos aspectos que considero lo más importante y yo uso en su trabajo.

    Este artículo es parte del ciclo unificado del artículo sobre el servidor.

    Introducción

    IPTables es actualmente un estándar de facto en las distribuciones contemporáneas de Linux. Ni siquiera puedo recordar qué más se usa como firewall. Por lo tanto, cualquier administrador de Linux debe encontrarse en su trabajo con la configuración de este firewall.

    Hay varias correas para este firewall que se utilizan para más configuraciones "convenientes". En Ubuntu es uFW.en centros - firewalld., con otros no es familiar. Personalmente, no veo ninguna comodidad en el uso de estas herramientas. Solía \u200b\u200bsintonizar el firewall de Linux de la manera anterior, como se enteré al comienzo del trabajo. Me parece que esta es la forma más fácil y conveniente que compartiré con usted. Su esencia se reduce al hecho de que el guión está creado con las reglas del firewall. Este script se puede editar fácilmente bajo sus necesidades y transferir desde el servidor al servidor.

    Desactivar Firewalld.

    Pregunta de desconexión de Firewalld Ya me he preocupado en el tema del software. Lo primero desactivará el firewalld, que está presente en el Centros 7 de forma predeterminada inmediatamente después de la instalación:

    # Systemctl stop firewalld

    Ahora lo eliminaremos de la puesta en marcha, para que no se encienda nuevamente después del reinicio:

    # Systemctl deshabilitar firewalld

    Después de eso, en el servidor, la configuración de la pantalla de red se abre completamente. Puedo ver las reglas de IPTables por el comando:

    Instalación de IPTables

    De hecho, el firewall en el servidor ya está de pie y funciona, simplemente no tiene ninguna regla, todo está abierto. Tendremos que establecer utilidades de control adicionales, sin las cuales es imposible configurar IPTables. Por ejemplo, es imposible reiniciar el firewall:

    # SystemCL Reinicie IPTables.Service Error al emitir el método Call: Unit IPTables.Service Error al cargar: No hay dicho archivo o directorio.

    O agregar a Autorun no funcionará:

    # SystemCTL Habilitar IPTables.Service Error al emitir el método Call: No hay dicho archivo o directorio

    Para no tener tales errores, instale el paquete requerido con utilidades:

    # Yum -y instalar iptables-servicios

    Ahora puede agregar IPTables a AutoLoad y ejecute:

    # Systemctl habilitar iptables.service # systemctl start iptables.service

    Estableciendo firewall

    Para gestionar las reglas del firewall, utilizo el script. CREARLO:

    # MCedit /etc/iptables.sh.

    A continuación, lo llenaremos con las reglas necesarias. Desmarcaré todas las partes significativas del guión, y dale completamente en el formulario. archivo de texto Al final del artículo.. Las reglas se realizan en forma de imágenes para prohibir la copia e insertar. Esto puede llevar a errores en el trabajo de las reglas, con las que yo mismo encuentro durante la preparación del artículo.

    Consideraremos la situación en la que el servidor es la puerta de enlace de Internet para red local.

    En primer lugar, establece todas las variables que usarán en el script. No es necesario hacerlo, pero se recomienda porque es conveniente llevar la configuración del servidor al servidor. Será suficiente para simplemente reasignar las variables.

    Antes de aplicar nuevas reglas, limpiamos todas las cadenas:

    Bloquecuamos todo el tráfico que no corresponde a ninguna de las reglas:

    Deje que todo el tráfico de LockalHost y LAN:

    Déjame hacer ping:

    Si no lo necesita, no agregue Permitir reglas para ICMP.

    Acceso abierto a Internet al propio Servidor:

    Si desea abrir todas las conexiones de servidor entrantes, agregue otra regla:

    Ahora agregue protección contra los ataques de red más comunes. Primero, lanzaremos todos los paquetes que no tienen estado:

    Bloquear paquetes cero:

    Cerca de los ataques de syn-inundad:

    Si no coloca restricciones al acceso desde la red local, usted permite que todo el acceso a Internet:

    A continuación, prohíbe el acceso desde Ineta a la red local:

    Para que nuestra red local utilice Internet, encienda NAT:

    Para no perder acceso al servidor, después de aplicar las reglas, permita las conexiones SSH:

    Y al final, escriba las reglas para aplicar después de reiniciar:

    Constituimos la configuración más simple que bloquea todas las conexiones entrantes, excepto SSH y permitimos el acceso desde la red local a Internet. En el camino, estaban protegidos de algunos ataques de red.

    Guardamos el script, haz ejecutable y lanzamos:

    # Chmod 0740 /etc/iptables.sh # /etc/iptables.sh

    Revisaremos las reglas y verificaremos si todas las reglas en el lugar:

    # iptables -l -v -n

    Llamo su atención: Aplique las reglas solo si tiene acceso a la consola del servidor. Si se equivoca en la configuración, puede perder el acceso. Asegúrese de que en una situación anormal pueda deshabilitar el firewall y ajustar la configuración.

    Puertos de apertura

    Ahora ampliaremos nuestra configuración y abriremos puertos en IPTables para algunos servicios. Supongamos que tenemos un servidor web y necesita abrir acceso desde Internet. Añadimos reglas para el tráfico web:

    Se añadió permiso a los compuestos entrantes de los 80 y 443 puertos que usan el servidor web en su trabajo.

    Si tiene instalado un servidor de correo, debe resolver las conexiones entrantes en todos los puertos utilizados:

    Para el correcto funcionamiento del servidor DNS, necesita abrir el puerto UDP 53

    Puerto portuario

    Considere la situación cuando necesita ejecutar puertos de la interfaz externa a una computadora en la red local. Supongamos que necesita obtener acceso RDP a una computadora 10.1.3.50 de Internet. Haciendo el puerto TCP 3389:

    Si no desea brillar frente al puerto conocido, puede hacer redirigir desde un puerto no estándar al puerto RDP de la computadora final:

    Si realiza el puerto fuera del interior de la red local, debe cumplir con la regla que bloquea el acceso desde la red externa al interno. En mi ejemplo, esta regla: $ iPT -A Forward -S $ WAN -O $ LAN1 -J Rechazar

    O antes de esta regla, cree una regla de resolución para acceder desde el exterior al servicio interno, por ejemplo, como este:

    $ IPT -A Forward -S $ WAN -D 10.1.3.50 -p TCP -M TCP --DPORT 3389 -J Aceptar

    Encendiendo los registros

    Durante la configuración, es útil permitir que los registros supervisen los paquetes bloqueados y averigüe por qué no hay acceso a los servicios necesarios que parecemos que ya han descubierto. Enví todos los paquetes bloqueados en cadenas separadas (bloque_in, bloque_out, bloque_fw), correspondientes a la dirección del tráfico y etiquetado en los registros de cada dirección. Es más conveniente hacer análisis de vuelo. Agregamos las siguientes reglas al más fácil de guardar el script antes de guardar la configuración:

    Todos los paquetes bloqueados Puede rastrear en el archivo / var / log / mensaje.

    Después de terminar la configuración, comente estas cadenas apagando el registro. Asegúrese de hacerlo, ya que los registros están creciendo muy rápidamente. No veo un significado práctico para mantener dicha información personalmente.

    Cómo deshabilitar iptables

    Si de repente, decide que el firewall ya no lo necesita, entonces puede apagarlo de la siguiente manera:

    # Systemctl stop iptables.vice

    Este equipo detiene el firewall. Y el siguiente se elimina de la puesta en marcha:

    # Systemctl deshabilitar iptables.service

    Desconexión de la pantalla de red, permitimos todas las conexiones.

    Conclusión

    Según lo prometido, publico el guión preparado con el conjunto principal de reglas que revisamos

    Quiero prestar atención a una vez más que al configurar iptables necesitas ser extremadamente atento. No inicie este caso si no tiene acceso a la consola del servidor. Incluso al escribir este artículo, perdí el acceso al servidor debido a un error ridículo en las reglas. Este error ocurrió debido a la copia y la pérdida de doble tablero, fue reemplazado por soltero.

    curso en línea "Administrador Linux" en OTUS. El curso no es para principiantes, para la admisión, necesita conocimientos básicos en las redes e instalar Linux a Virtual. La capacitación dura 5 meses, después de lo cual los graduados exitosos del curso podrán pasar entrevistas de socios. ¿Qué te dará este curso?

    • Conocimiento de la arquitectura de Linux.
    • Masterización de métodos modernos y análisis de datos y herramientas de procesamiento de datos.
    • La capacidad de seleccionar la configuración de las tareas necesarias, administrar procesos y garantizar la seguridad del sistema.
    • Posesión de los principales instrumentos de trabajo del administrador del sistema.
    • Comprender las características del despliegue, la configuración y el mantenimiento de redes construidas sobre la base de Linux.
    • La capacidad de resolver rápidamente problemas emergentes y garantizar una operación estable e ininterrumpida del sistema.
    Compruebe usted mismo en la prueba de introducción y vea más del programa de software.

    Firewall instalado en el sistema operativo se utiliza para prevenir el paso de tráfico no autorizado entre red de computadoras. Manual o crea automáticamente reglas especiales para el firewall, que son responsables del control de acceso. En OS, desarrollado en el kernel de Linux, CENTOS 7 hay un firewall incorporado, y está controlado por Firewall. El firewalld predeterminado está involucrado, y nos gustaría hablar de ello hoy.

    Como se mencionó anteriormente, el firewall estándar en CENTOS 7 se le asigna una utilidad de firewalld. Es por eso que la configuración del firewall se considerará en el ejemplo de esta herramienta. Puede configurar las reglas de filtrado con los mismos iptables, pero se realiza ligeramente diferente. Recomendamos familiarizarse con la configuración de la utilidad mencionada haciendo clic en el siguiente enlace, y comenzaremos el desmontaje de Firewalld.

    Los conceptos básicos del firewall.

    Hay varios conjuntos de zona de zona para administrar el tráfico sobre la base de la confianza en las redes. Todos ellos reciben sus propias políticas, cuya totalidad y forma la configuración del firewall. Cada zona se le asigna una o más interfaces de red, que también le permite ajustar el filtrado. Las reglas aplicadas directamente dependen de la interfaz utilizada. Por ejemplo, cuando está conectado a una pantalla de red Wi-Fi accesible públicamente, aumentará el nivel de control y en red domestica Abrirá acceso adicional para los participantes de la cadena. En el Farvol visitado hay tales zonas:

    • de confianza es el nivel máximo de confianza en todos los dispositivos de red;
    • inicio - Grupo LAN. Hay una confianza en los alrededores, pero las conexiones entrantes están disponibles solo para ciertas máquinas;
    • trabajo - zona de trabajo. Hay una confianza en la mayoría de los dispositivos, y se activan servicios adicionales;
    • dMZ - Zona para computadoras aisladas. Dichos dispositivos se desconectan del resto de la red y solo se pasa un cierto tráfico entrante;
    • zona interna - red interna. La confianza se aplica a todas las máquinas, se abren servicios adicionales;
    • externo: reverso a la zona anterior. En las redes externas, el enmascaramiento de NAT está activo, cerrando la red interna, pero sin bloquear la posibilidad de acceder;
    • público: una zona de redes públicas con desconfianza para todos los dispositivos y la recepción individual del tráfico entrante;
    • bloque: todas las solicitudes entrantes se restablecen con el envío de errores iCMP-Host-Prohibido o iCMP6-ADM-Prohibido;
    • la caída es el nivel mínimo de confianza. Las conexiones entrantes se descargan sin ninguna notificación.

    Las políticas en sí mismas son temporales y permanentes. Cuando o editan los parámetros, la acción del firewall cambia inmediatamente sin un reinicio. Si se aplicaron reglas temporales, después de reiniciar el firewalld, se restablecerán. La regla permanente se llama algo: se guardará de manera continua al aplicar el argumento permanente.

    Habilitar Firewalld Firewall

    Primero, debe ejecutar Firewalld o asegúrese de que esté en una condición activa. Solo funcionar el demonio (un programa que opera en el fondo) aplicará las reglas para el firewall. La activación se realiza literalmente unos pocos clics:

    1. Correr el clásico "Terminal" Cualquier método conveniente, por ejemplo, a través del menú. "Aplicaciones".
    2. Ingrese el comando sudo systemctl start firewalld.service y haga clic en la tecla. INGRESAR.
    3. El control de la utilidad se realiza en nombre del superusuario, por lo que debe confirmar la autenticidad especificando la contraseña.
    4. Para asegurarse de que el servicio esté funcionando, especifique el firewall-Cmd - State.
    5. En la ventana gráfica que se abre, vuelva a confirmar la autenticidad.
    6. Aparecerá una nueva línea. Valor "Corriendo" Sugiere que funciona el firewall.

    Si una vez se deshabilitará temporalmente o permanentemente, desactive el firewall, le recomendamos que utilice las instrucciones presentadas en el otro artículo por el siguiente enlace.

    Ver reglas predeterminadas y zonas asequibles

    Incluso el firewall regular tiene sus propias reglas definitivas y zonas accesibles. Antes de comenzar la edición de políticos, le recomendamos que se familiarice con la configuración actual. Esto se hace usando comandos simples:

    1. La zona predeterminada determinará el comando Firewall-Cmd --Get-Faith-Zone.
    2. Después de su activación, verás. nueva cadenadonde aparece el parámetro requerido. Por ejemplo, la zona se considera en la captura de pantalla a continuación. "Público".
    3. Sin embargo, varias zonas pueden estar activas de inmediato, además, están vinculadas a una interfaz separada. Averigüe esta información a través de firewall-cmd --get-active-zonas.
    4. El comando Firewall-CMD-LISTA-Todos mostrará las reglas establecidas para la zona predeterminada. Preste atención a la captura de pantalla a continuación. Ves la zona activa "Público" Regla premiada "DEFECTO" - Funcionamiento predeterminado, Interfaz "ENP0S3" y agregó dos servicios.
    5. Si tiene la necesidad de aprender todas las zonas de firewall disponibles, ingrese las zonas de firewall-cmd --get.
    6. Los parámetros de la zona específica se definen a través de Firewall-Cmd --Zone \u003d Name - Lista-Toda, donde nombre. - Zona de nombre.

    Después de determinar los parámetros requeridos, puede moverse a su cambio y su adición. Analicemos varias de las configuraciones más populares en detalle.

    Configuración de zonas de interfaz

    Como sabe de la información anterior, su zona predeterminada se define para cada interfaz. Estará en él hasta que la configuración cambie al usuario o programáticamente. Es posible transferir manualmente la interfaz a la zona por sesión, y se lleva a cabo activando el sudo firewall-cmd --zone \u003d comando home --change-interface \u003d eth0. Resultado "ÉXITO" Indica que la transferencia fue exitosa. Recuerde que dicha configuración se restablezca inmediatamente después de reiniciar el firewall.

    Con un cambio de este tipo en los parámetros, debe tenerse en cuenta que la operación de los servicios se puede restablecer. Algunos de ellos no admiten el funcionamiento en ciertas zonas, digamos, ssh, aunque accesibles en "CASA"Pero en el usuario o servicio especial se negará a trabajar. Asegúrese de que la interfaz se vincule con éxito a la nueva sucursal, ingresando a las zonas activas de Firewall-Cmd --Get.

    Si desea restablecer la configuración previamente hecha, simplemente ejecute el reinicio del firewall: sudo systemctl reinicie Firewalld.Service.

    A veces, no siempre es conveniente cambiar la zona de la interfaz en una sola sesión. En este caso, deberá editar el archivo de configuración para que todas las configuraciones sean amenazadas de forma permanente. Para hacer esto, le aconsejamos que use un editor de texto. nanoque se instala desde el repositorio oficial de sudo yum install nano. Siguiente sigue siendo tales acciones:

    1. Abra el archivo de configuración a través del editor ingresando sudo nano / etc / sysconfig / red-scripts / ifcfg-eth0, donde eth0. - Nombre de la interfaz requerida.
    2. Confirmar la autenticidad cuenta Para cumplir con más acción.
    3. Extender el parámetro Zona Y cambie su valor al deseado, por ejemplo, público o en casa.
    4. Mantener las llaves Ctrl + O.Para guardar los cambios.
    5. No cambie el nombre del archivo, pero simplemente haga clic en INGRESAR.
    6. Salir del editor de texto a través de CTRL + X..

    Ahora la zona de interfaz será la que indicó, hasta la siguiente edición archivo de configuración. Para los parámetros actualizados, ejecute sudo systemctl reiniciar la red.Service y sudo SystemCTL Reinicie Firewalld.Service.

    Configuración de la zona predeterminada

    ANTERIOR, ya hemos demostrado un equipo que le permite aprender la zona predeterminada. También se puede cambiar configurando el parámetro a su elección. Para hacer esto, en la consola, es suficiente para registrar el nombre de sudo firewall-cmd --set-default-zone \u003d donde nombre. - El nombre de la zona requerida.

    El éxito del equipo desalojará la inscripción. "ÉXITO" En una línea separada. Después de eso, todas las interfaces actuales nacerán en la zona especificada, si el otro no se especifica en los archivos de configuración.

    Creando reglas para programas y utilidades.

    Al comienzo del artículo, hablamos sobre la acción de cada zona. Definición de servicios, utilidades y programas en tales ramas permitirá aplicar parámetros individuales para cada uno de ellos para cada solicitud de usuario. Para empezar, le recomendamos que se familiarice con la lista completa de servicios disponibles en este momento: Firewall-CMD -Get-Services.

    El resultado se mostrará directamente en la consola. Cada servidor está dividido por un espacio, y puede encontrar fácilmente la herramienta que le interesa. Si falta el servicio requerido, debe instalarse adicionalmente. En las reglas de instalación, lea en la documentación oficial de software.

    El comando anterior demuestra solo los nombres de los servicios. Información detallada Para cada uno de ellos, resulta a través de un archivo individual ubicado en la ruta / USR / LIB / Firewalld / Services. Dichos documentos tienen un formato XML, la ruta, por ejemplo, a SSH se ve así: /usr/lib/firewalld/services/ssh.xml, y el documento tiene los siguientes contenidos:

    Ssh
    Secure Shell (SSH) es un protocolo para iniciar sesión y ejecutar comandos en máquinas remotas. Proporciona comunicaciones cifradas seguras. Si planea acceder a su máquina RemoteNet a través de SSH a través de una interfaz firewall, habilite esta opción. Necesita instalado el paquete OpenSSH-Server para que esta opción sea útil.

    El soporte de servicio se activa en una zona específica manualmente. EN "Terminal" Debe establecer el sudo firewall-cmd --zone \u003d Public --DD-SERVICIO \u003d comando http, donde --Zone \u003d público - Zona para la activación, y --Add-service \u003d http - Nombre del Servicio. Tenga en cuenta que dicho cambio solo será válido dentro de una sesión.

    La adición permanente se lleva a cabo a través de sudo firewall-cmd --zone \u003d Public --Permanent --DD-SERVICE \u003d HTTP, y el resultado "ÉXITO" Especifica a la finalización exitosa de la operación.

    Vista lista llena Las reglas permanentes para una zona específica pueden, mostrar una lista en una línea separada de la consola: sudo firewall-cmd --zone \u003d Public -permanent - List-SERVICES.

    Problema de decisión con la falta de acceso al servicio.

    Las reglas estándar de firewall son los servicios más populares y seguros según lo permitido, pero algunos estándares o aplicaciones de terceros Se bloquea. En este caso, el usuario debe cambiar manualmente la configuración para resolver el problema con el acceso. Puedes hacer esto en dos métodos diferentes.

    PORTES PORTES

    Como usted sabe, todos los servicios de red usan un puerto específico. Es fácilmente detectado por un firewall, y se pueden realizar bloques. Para evitar tales acciones del firewall, debe abrir el puerto deseado del sudo firewall-cmd --zone \u003d Public - Portd-Port \u003d 0000 / TCP, donde --Zone \u003d público - Zona para el puerto, --Add-Port \u003d 0000 / TCP - El número de puerto y el protocolo. La opción Firewall-Cmd-List-Ports mostrará una lista de puertos abiertos.

    Si necesita abrir puertos incluidos en el rango, use el sudo firewall-cmd --zone \u003d Public-Port-Port-Port \u003d 0000-9999 / UDP Row, donde --Add-Port \u003d 0000-9999 / UDP - Gama de puertos y su protocolo.

    Los comandos anteriores solo le permiten probar el uso de parámetros similares. Si ha pasado con éxito, debe agregar los mismos puertos a la configuración constante, y esto se realiza ingresando sudo firewall-cmd --zone \u003d Public -permanent --Add-Port \u003d 0000 / TCP o Sudo Firewall-CMD - Zona \u003d Public --Permanent --Add-Port \u003d 0000-9999 / UDP. La lista de puertos permanentes abiertos se ve de la siguiente manera: Sudo Firewall-CMD --Zone \u003d Public -Permanent - List-Puertos.

    Definición de servicio

    Como puede ver, agregar puertos no causa ninguna dificultad, pero el procedimiento es complicado cuando las aplicaciones utilizan una gran cantidad. Para rastrear todos los puertos usados \u200b\u200bse vuelve difícil, en vista de la cual la determinación del servicio será la opción más correcta:


    Solo tiene que elegir la solución más adecuada al problema del servicio con acceso al servicio y ejecute las instrucciones proporcionadas. Como puede ver, todas las acciones se realizan con bastante facilidad, y no debe haber dificultades.

    Creando zonas personalizadas

    Ya sabes que, al principio, se ha creado una gran cantidad de zonas diversas con reglas definidas en Firewalld. Sin embargo, las situaciones ocurren cuando el administrador del sistema necesita crear una zona de usuario, como, por ejemplo, "PublicWeb" Para el servidor web instalado o "Privatedns" - Para el servidor DNS. En estos dos ejemplos, analizaremos la adición de las ramas:


    De este artículo aprendiste a crear. zonas personalizadas Y agregarles servicios a ellos. Ya les hemos contado como predeterminado y asignando interfaces anteriores, solo puede especificar los nombres correctos. No se olvide de reiniciar el firewall después de realizar un cambio permanente.

    Como puede ver, Firewalld Firewall es una herramienta bastante volumétrica que le permite hacer la configuración más flexible del firewall. Sólo sigue siendo asegurarse de que la utilidad se inicie con el sistema y las reglas especificadas inicien inmediatamente su trabajo. Hágalo con el comando sudo systemcl habilitar Firewalld.

    A partir de CENTOOS 7 para configurar las reglas de tráfico de filtrado, apareció una nueva herramienta firewalld.. Se recomienda que se recomienda usar para administrar las reglas de IPTables. En el Centros 8, en lugar del paquete de filtrado de IPTables estándar, ahora se usa el marco de Nftables, y al configurar las reglas de firewall a través de Firewalld, de hecho, está configurando Nftables. En este artículo, veremos la instalación, los conceptos básicos y la configuración del firewall de Firewalld en el servidor que ejecute CentOS 8 (en Centlos 7, todo similar).


    Firewalld. - Un firewall para proteger al servidor del tráfico no deseado con el soporte de la gestión de reglas dinámicas (sin reiniciar) e implementar las reglas permanentes del firewall. Funciona como una interfaz para y nftables. Firewalld se puede utilizar en casi todas las distribuciones de Linux.

    Conceptos básicos Firewalld, Zonas y Reglas

    Antes de instalar y configurar firewalld.Nos familiaricamos con el concepto de zonas que se utilizan para determinar el nivel de confianza en varios compuestos. Para varias zonas firewalld. Puede aplicar diferentes reglas de filtrado, especifique las opciones activas del firewall en forma de servicios, protocolos y puertos predefinidos, redirecciones de puertos y reglas ricas.

    Firewalld. Filtros de tráfico entrante en zonas dependiendo de las reglas aplicadas a la zona. Si un IP- El remitente del remitente del remitente cumple con las reglas de cualquier zona, el paquete se enviará a través de esta zona. Si la dirección no coincide con ninguna de las zonas configuradas en el servidor, el paquete será procesado por la zona predeterminada. Cuando está instalado firewalld.la zona predeterminada se llama público.

    Firewalld tiene zonas donde los permisos ya están configurados para diversos servicios. Puede usar estas configuraciones o crear sus propias zonas. Lista de zonas predeterminadas que se crean al instalar Firewalld (almacenado en la USR / LIB / Firewalld / ZONE / ZONES / directory):

    soltar. nivel mínimo de confianza. Todas las conexiones entrantes se bloquean sin respuesta, solo se permiten compuestos salientes;
    cuadra la zona es similar a la anterior, pero cuando las solicitudes entrantes rechazan el mensaje ICMP-Host-Prohibido para IPv4 o ICMP6-ADM-Prohibido para IPv6;
    público representa redes públicas, no confiables. Puede resolver individualmente los compuestos entrantes seleccionados;
    externo redes externas al usar Firewall como puerta de enlace. Está configurado para enmascarar NAT, por lo que su red interna permanezca privada, pero asequible;
    interno antónimo de la zona externa. El anfitrión posee un nivel de confianza suficiente, hay disponibles una serie de servicios adicionales;
    dMZ. se utiliza para computadoras ubicadas en DMZ (computadoras aisladas sin acceso al resto de la red). Solo se permiten ciertos compuestos entrantes;
    trabaja zona para máquinas de trabajo (la mayoría de las computadoras de la red de confianza);
    cASA Área de red doméstica. Puede confiar en la mayoría de las PC, pero solo se admiten ciertos compuestos entrantes;
    confiado. confíe en todas las máquinas en línea. Más abiertos de todos opciones DisponiblesRequiere uso consciente.

    EN firewalld. Se utilizan dos conjuntos de reglas, constantes y temporales. Reglas temporales funcionan antes de reiniciar el servidor. Por defecto, al agregar reglas en firewalld.Las reglas se consideran temporales ( tiempo de ejecución.). Para agregar una regla de forma continua. Necesitas usar la bandera. - Permanente.. Dichas reglas se aplicarán después de reiniciar el servidor.

    Instalación e inclusión Firewalld en CentOS

    En Centlos 7/8 Firewalld se instala de forma predeterminada en el sistema operativo. Si lo eliminó y desea instalar Firewalld, puede usar el Manager estándar / DNF:

    # Yum install firewalld -y - para los centros 7
    # DNF instale firewalld -y - para los centros 8

    Al demonio firewalld. Comenzó automáticamente con el inicio del servidor, debe agregarlo a:

    # SystemCTL Habilitar firewalld

    Y correr:

    # Sistemctl start firewalld

    Compruebe el estado del servicio:

    # Systemctl estado firewalld

    ● Firewalld.Service - Firewalld - Daemon de firewall dinámico cargado: cargado (/usr/lib/systemd/system/firewald.service; habilitado; proveedor preestablecido: habilitado) activo: activo (en ejecución) desde el mes 2019-10-14 14:54 : 40 +06; Hace 22s Docs: Hombre: Firewalld (1) PIST principal: 13646 (Firewalld) CGROUP: /system.slice/firewalld.service └─13646 / usr / bin / python2 -es / usr / sbin / firewalld --nofork --nopid 14 de octubre 14:54:40 Server.vpn.ru Systemd: Firewalld iniciando - Dinámico Firewall Daemon ... 14 de octubre 14:54:40 servidor.vpn.ru Systemd: iniciado Firewalld - Daemon Dynamic Firewall.

    Ya sea por el equipo:

    # Firewall-cmd --state

    El comando Firewall-CMD es el texto delantero de Firewalld a Nftables / Iptables.

    # Firewall-cmd --state

    Trabajo con reglas de firewalld

    Reglas predeterminadas:

    Antes de configurar las reglas de Firewalld, debe verificar qué zona se usa de forma predeterminada:

    # Firewall-Cmd - Pet Predeterminy Zone

    Dado que Firewalld solo instalamos y aún no se ha configurado, tenemos una zona predeterminada público.

    Compruebe la zona activa. Ella también está sola - Público:

    # Firewall-cmd --get-activo-zonas

    Interfaces públicas: eth0

    Como puede ver, la interfaz de red ETH0 está controlada por la zona. público.

    Para ver las reglas de la zona activa, ingrese:

    # Firewall-Cmd - Lista-Toda

    Target público (activo): Predeterminado ICMP-BLOCK-INVERSION: No hay interfaces: ETH0 FUENTES: Servicios: DHCPV6-CLIENT PORTS SSH: Protocolos: Masquerade: Sin puertos hacia adelante: Puertos de origen: ICMP-Bloques: Reglas ricas:

    Desde la listado está claro que en esta zona Se agregaron operaciones convencionales asociadas con el cliente DHCP y SSH.

    Zonas disponibles

    Para ver una lista de todas las zonas, necesita ejecutar el comando:

    # Firewall-cmd --get-zones

    Tengo tal lista:

    Bloque de DMZ Drop Inicio Externo Hogar Público Interno Trabajo Trabajo

    Para verificar las reglas de la zona específica, debe agregar una zona de bandera.

    # Firewall-Cmd --Zone \u003d Home - Lista-Toda

    Home Target: Predeterminado ICMP-BLOCK-INVERSION: No hay interfaces: Fuentes: Servicios: DHCPV6-Client MDNS SAMBA-CLIENT SSH Ports: Protocolos: Masquerade: Sin puertos hacia adelante: Puertos de origen: ICMP-Bloques: Reglas ricas:

    Reglas de todas las zonas, puedes ver el equipo:

    # Firewall-cmd - list-all-zonas

    El listado será bastante grande, ya que las zonas pueden ser mucho.

    Cambiando la zona predeterminada.

    De forma predeterminada, todas las interfaces de red están ubicadas en la zona. públicoPero puede ser transferido a cualquiera de las zonas, el equipo:

    # Firewall-cmd --zone \u003d casa -change-interfaz \u003d eth0

    Despues del parámetro -Zone \u003d. Especifique la zona deseada.

    Para cambiar la zona predeterminada, debe aplicar el comando:

    # Firewall-cmd --set-default-zone \u003d home

    Agregar reglas para aplicaciones

    Para abrir el puerto para la aplicación, puede agregar servicio a excepciones. Muestra una lista de servicios disponibles:

    La salida contendrá una gran cantidad de servicios. La información detallada sobre el servicio está contenida en su xML expediente. Estos archivos se encuentran en el directorio. USR / LIB / Firewalld / Servicios.

    Por ejemplo:

    # CD / USR / LIB / Firewalld / Servicios

    Mail (SMTP) Esta opción permite la entrada de correo SMTP entrante. Si necesita permitir que hosts remotos se conecten directamente a su máquina para entregar correo, habilite esta opción. No necesita habilitarlo si recopila su correo desde el servidor de su ISP por POP3 o IMAP, o si usa una herramienta como Fetchmail. Tenga en cuenta que un servidor SMTP configurado incorrectamente puede permitir que las máquinas remotas usen su servidor. Correo no deseado.

    El archivo XML tiene una descripción del número de servicio, protocolo y puerto, que se abrirá en Firewalld.

    Al agregar reglas, puede usar el parámetro -Añadir al servicio.Para abrir el acceso a un servicio específico:

    # Firewall-cmd --zone \u003d público --dd-service \u003d http

    # Firewall-cmd --zone \u003d público --dd-service \u003d https

    Después de agregar reglas, puede verificar si los servicios se agregan a la zona especificada:

    # Firewall-Cmd --Zone \u003d Public - List-Services

    Dhcpv6-cliente http https ssh

    Si desea que estas reglas sean constantes, al agregar que necesita agregar un parámetro -Permanente..

    Para eliminar un servicio de la zona:

    # Firewall-cmd --permanent --zone \u003d Public --Remove-Service \u003d HTTP

    DHCPV6-Client HTTPS SSH prueba

    Si desea agregar su servicio a excepciones, puede crear un archivo. xML Solo y llenarlo. Puede copiar datos de cualquier servicio, cambiar el nombre, la descripción y el número de puerto.

    Copia el archivo smtp.xml. Al directorio para trabajar con los servicios de usuario:

    # cp /usr/lib/firewalld/services/smtp.xml / etc / firewalld / servicio

    Cambiar la descripción del servicio en el archivo.

    Uno mismo archivo xml También debe cambiar el nombre del nombre de su servicio. Después de eso, debe reiniciar Firewalld y verifique si aparece nuestro servicio:

    Llamé al servicio prueba Y en la lista apareció:

    Syslog-TLS Telnet Test TFTP

    Ahora puede agregar el servicio creado a cualquier zona:

    # Firewall-Cmd --Zone \u003d Public --Ad-Service \u003d Test -Permanent

    # Firewall-Cmd --Zone \u003d Public --Permanent - Lista-Servicios

    DHCPV6-Client HTTP HTTPS SSH prueba

    Si encuentra el servicio que necesita en la lista, puede abrir el puerto deseado en el equipo de Firewalld:

    # Firewall-CMD --Zone \u003d Public -Add-Port \u003d 77 / TCP - Abrir 77 Puerto tCP.
    # Firewall-cmd --zone \u003d Public -add-puerto \u003d 77 / UDP - Abrir 77 puerto uDP.
    # Firewall-cmd --zone \u003d Public -add-Port \u003d 77-88 / UDP - Rango de puerto abierto 77-88 uDP.
    # Firewall-Cmd --Zone \u003d Public-List-Ports - Compruebe la lista de puertos permitidos

    Bloque / Permitir respuestas de ICMP:

    # Firewall-Cmd --Zone \u003d Public --DD-ICMP-Block \u003d Echo-Responder
    # Firewall-cmd --Zone \u003d Public --Remove-ICMP-Block \u003d Echo-Responder

    Eliminar el puerto agregado:

    # Firewall-Cmd --Zone \u003d Público -Rembove-Port \u003d 77 / UDP - Eliminar la regla temporal 77 uDP.

    # Firewall-cmd --permanent --zone \u003d Public -Remove-Port \u003d 77 / UDP - Eliminar una regla permanente

    Añadiendo tus propias zonas

    Puedes crear tu propia zona (lo llamaré. nUESTRO):

    # Firewall-cmd --permanente --new-zone \u003d nuestro

    Después de crear una nueva zona, ya que se crea el servicio, necesita un reinicio firewalld.:

    # Firewall-CMD --Reload

    # Firewall-cmd --get-zones

    Bloque de DMZ Drop Inicio externo Interno Nuestro trabajo de confianza público

    Zona nUESTRO Disponible. Puede agregarle servicios o abrir ciertos puertos.

    Firewalld: Lock Direcciones IP, Creación de exclusión

    Puede agregar direcciones IP de dirección de confianza a la eliminación de Firewalld o bloquear no deseado.

    Para agregar una excepción específica. dirección IP (por ejemplo, 8.8.8.8) en su servidor a través de firewalld.Usa el comando:

    # Firewall-cmd --zone \u003d Public --DD-Rich-Rich-Rich-reglamento \u003d "Regla Family \u003d" IPv4 "Dirección de origen \u003d" 8.8.8.8 "aceptando"

    Compruebe la zona y asegúrese de que IP Añadido a las excepciones en reglas de reglas ricas:

    Objetivo público (activo): Predeterminado ICMP-BLOCK-INVERSION: No hay interfaces: Eth0 Fuentes: Servicios: DHCPV6-Cliente HTTP HTTP Puertos de prueba SSH: Protocolos: Masquerade: Sin puertos hacia adelante: Puertos de origen: ICMP-Bloques: Reglas ricas: Regla Family \u003d "IPv4" Dirección de origen \u003d "8.8.8.8" Aceptar

    Bloquear IP, necesito reemplazar aceptar sobre el rechazar.:

    # Firewall-Cmd --Zone \u003d Public --DD-Rich-Rich-Rich-Logro \u003d "Regla Family \u003d" IPv4 "Dirección de origen \u003d" 8.8.4.4 "Rechazar"

    # Firewall-cmd --zone \u003d público - lista

    Objetivo público (activo): Predeterminado ICMP-BLOCK-INVERSION: No hay interfaces: Eth0 Fuentes: Servicios: DHCPV6-Cliente HTTP HTTP Puertos de prueba SSH: Protocolos: Masquerade: Sin puertos hacia adelante: Puertos de origen: ICMP-Bloques: Reglas ricas: Regla Family \u003d "IPv4" Dirección de origen \u003d "8.8.8.8.8" Aceptar regla Family \u003d "IPv4" Dirección de origen \u003d "8.8.4.4" rechazo

    Puede resolver un servicio específico para solicitudes de una dirección IP específica:

    # Firewall-CMD -PERMANENTE - RICHO RICH-RICH-REGLA "REGLA DE REGLA \u003d" IPv4 "Dirección de origen \u003d" 10/10 / 1.0 / 24 "Nombre de servicio \u003d" HTTPS "Acepta"

    Si necesita bloquear con urgencia todas las solicitudes al servidor, use el comando PANIC:

    # Firewall-Cmd --pánico

    Deshabilite el modo de pánico por un comando:

    # Firewall-cmd --panic-off

    Ya sea reiniciando el servidor.

    Puede bloquear la configuración de Firewalld a los servicios locales con derechos de raíz No se pudo cambiar las reglas de firewall creadas por usted:

    # Firewall-cmd - encendido

    Deshabilitar el modo de bloqueo:

    # Firewall-Cmd - Lockdown-Off

    Redirección del puerto en Firewalld

    Puede crear una regla de redirección de reglas en Firewalld. Para redireccionar 443 puertos al 9090:

    # Firewall-cmd --zone \u003d Public --DD-Forward-Port \u003d Puerto \u003d 443: proto \u003d tcp: toport \u003d 9090 -permanent

    Para eliminar la regla de redirección del puerto:

    # Firewall-cmd --zone \u003d Public --Remove-Forward-Port \u003d Port \u003d 443: proto \u003d tcp: toport \u003d 9090

    Le mostraremos la configuración paso a paso de Firewalld Firewall en Centlos 7

    ¿Qué es Firewalld? Este es un firewall completo, que está disponible de forma predeterminada en CENTOS 7. Le mostraremos cómo configurarlo en el servidor, así como informar a la herramienta Firewall-CMD.

    1. ¿Cuáles son los conceptos básicos de firewall?

    Zonas

    Firewalld es capaz de controlar los grupos de reglas por medio de zonas. Este es un conjunto de instrucciones para administrar el tráfico sobre la base de la confianza en las redes. La zona se puede asignar a una interfaz de red para controlar el comportamiento del firewall. Es necesario, porque las computadoras portátiles a menudo pueden conectarse a varias redes. Las computadoras pueden aplicar zonas para cambiar el conjunto de reglas según el entorno. Por ejemplo, si se conecta a Wi-Fi en un CAFE, se pueden aplicar instrucciones más estrictas. Y las reglas de casa pueden ser leales.

    En Firewalld, estas zonas se distinguen:

    La caída tiene el menor grado de confianza en la red. En este caso, se admiten compuestos exclusivamente salientes, y el tráfico entrante se descarga sin respuesta;

    El bloque se diferencia de la caída en que cuando se restablece la solicitud entrante, se emite el mensaje prohibido ICMP-HOT-Prohibido o ICMP6-ADM-Prohibido;

    La zona pública es una red pública que es solicitudes de entrada entrantes individualmente. Sin embargo, es imposible confiar;

    Externo es una zona de red externa que admite el enmascaramiento de NAT para la cerradura de la red interna. Sin embargo, es posible acceder a ella;

    El lado posterior de externo es interno. Se puede confiar en las computadoras en esta zona, por lo que estarán disponibles servicios adicionales;

    La zona DMZ está en demanda de computadoras aisladas que no tienen acceso al resto de la red. En este caso, será posible configurar los compuestos entrantes favoritos;

    La zona de la red de trabajo es el trabajo. Se puede confiar con las conexiones circundantes, pero no son compatibles con todo, sino solo por definido por el usuario;

    En la zona de confianza, puede confiar en toda la red de computadoras.

    Conservación de las reglas

    En Firewalld, son temporales y permanentes. Sucede que el conjunto está cambiando o una regla que afecta el comportamiento del firewall. Los cambios se perderán después de reiniciar, por lo que deben salvarse. Los comandos de Firewall-CMD usan la bandera permanente para guardar las reglas. Después de eso, disfrutarán de manera continua.

    2. ¿Cómo encender el firewall Firewalld?

    A partir de STANDS de inicio en el programa de fondo-demonio. El archivo de la unidad SYSTEMD se llama firewalld.service. Para habilitar un programa de demonio que necesite línea de comando marcar

    Sudo systemctl start firewalld.service

    Necesitamos asegurarnos de que el servicio haya comenzado. Para hacer esto, necesitarás:

    Firewall-CMD - estado corriendo

    Firewall comenzó y funciona instrucciones especificadas de forma predeterminada. Tenga en cuenta que el servicio está habilitado, pero no se iniciará automáticamente con el servidor. Para hacer esto, deberá configurar el Autorun. Además, haga un conjunto de reglas para que no funcione para bloquearse en su propio servidor.

    3. Reglas de firewall por defecto

    ¿Cómo verlos?

    Para ver la zona que se usa de forma predeterminada, debe marcar:

    Firewall-CMD - Public-Zone Público

    Vemos que las instrucciones de Firewalld para otras zonas no recibieron. El público se utiliza de forma predeterminada y es la única zona activa, porque Ninguna interfaz atada a los demás. Si desea ver una lista de todas las zonas de dominio disponibles, especifique en la consola:

    Firewall-CMD - Zonas activas enget-Zonas Interfaces públicas: eth0 eth1

    Vemos dos interfaces de red atada al área pública. Trabajan de acuerdo a las reglas especificadas para esta zona. Ver las reglas predeterminadas por:

    Firewall-CMD - Lista: todas las interfaces públicas (predeterminadas, activas): ETH0 ETH1 Fuentes: Servicios: DHCPV6-Client SSH Ports: Masquerade: Sin puertos hacia adelante: ICMP-Bloques: Reglas ricas:

    Vamos a resumir:

    La zona predeterminada y el único activo es público;

    Dos interfaces están vinculadas a esta zona: eth0 y eth1;

    El público apoya la administración remota SSH, así como la asignación de direcciones IP de DHSP.

    Otras zonas de firewall

    Veamos qué otras zonas tienen un firewall. Para ver la lista de todos los disponibles, escriba la consola:

    También puede obtener parámetros para cada zona específica agregando la bandera -Zone \u003d:

    Firewall-Cmd --Zone \u003d Home - Lista-Todas las interfaces de inicio: Fuentes: Servicios: DHCPV6-Cliente IPP-Client MDNS SAMBA CLIENT SSH Ports: Masquerade: Sin puertos hacia adelante: ICMP-Bloques: Reglas ricas:

    Si necesita mostrar la definición de todas las áreas disponibles, use la opción-Lista-All-Zonas. Damos la conclusión al buscapersonas para que la conclusión sea más conveniente para ver:

    Firewall-CMD - Lista-Todas las zonas | menos

    4. ¿Cómo configurar las zonas de interfaz?

    La zona predeterminada está vinculando inicialmente todas las interfaces de red.

    Cambiar la zona de interfaz solo para una sesión

    Para este propósito, utilizaremos dos opciones: -Change-Interface \u003d y -Zone \u003d. Para transferir a la zona de Eth0 Home, Tipo:

    Sudo firewall-cmd --zone \u003d home --change-interfaz \u003d Eth0 éxito

    Tenga en cuenta que esto puede afectar el funcionamiento de ciertos servicios. Por ejemplo, SSH se admite en la zona de la casa, es decir. Las conexiones no serán descargadas. Sin embargo, esto puede ocurrir en otras zonas, lo que llevará a bloquear el acceso a su propio servidor. Necesitamos asegurarnos de que la interfaz esté conectada a la nueva zona. Marque en la línea de comando:

    Cuando se reinicia el firewall, la interfaz volverá a estar atada a la zona predeterminada.

    Sudo systemcl reiniciar Firewalld.Service Firewall-CMD - Zonas activas en las zonas activas Interfaces públicas: eth0 eth1

    Cambiar la zona de la interfaz de forma continua

    Después de reiniciar el firewall, la interfaz estará atada a la zona predeterminada si no se especifica ninguna otra zona en la configuración de la interfaz. Las configuraciones de CentOS se encuentran en los archivos IFCFG-Interface File / etc / sysconfig / red-scripts. Para determinar la zona de interfaz, debe abrir su archivo de configuración:

    Sudo nano / etc / sysconfig / red-scripts / ifcfg-eth0

    Agregue una zona variable \u003d al final del archivo. Especifique otra zona como un valor:

    DNS1 \u003d 2001: 4860: 4860 :: 8844 DNS2 \u003d 2001: 4860: 4860 :: 8888 DNS3 \u003d 8.8.8.8 Zone \u003d Home

    Ahora guarde los cambios, después de lo cual el archivo se puede cerrar. Para actualizar la configuración, deberá reiniciar. servicio de redasí como el firewall:

    Sudo systemctl reiniciar la red.service sudo systemctl reiniciar firewalld.service

    Después de eso, la interfaz ETH0 estará vinculada a la zona de la casa.

    Firewall-CMD - Zonas activas en las interfaces de inicio: eth0 Interfaces públicas: eth1

    Configuración predeterminada

    También se puede configurar la otra zona predeterminada. En esto, ayudaremos a la opción ASET-defadet-zone \u003d, que trae todas las interfaces de red a otra zona.

    Sudo firewall-cmd --set-default-zone \u003d interfaces de inicio casero: eth0 eth1

    5. ¿Cómo hacer reglas para aplicaciones?

    Añadiendo a la zona de servicio

    Es más fácil hacerlo al puerto utilizado por el firewall. Para ver todos los servicios disponibles, escriba en la línea de comandos:

    Firewall-CMD - Post-Services RH-Satellite-6 Amanda-Client Bacula Bacula-Client DHCP DHCPV6 DHCPV6-Cliente DNS FTP HTTP HTTP HTTPS IPPS IPP IPP-Cliente IPSEC KERBEROS KPASSWD LIBVICIDO LIBVIRT-TLS MDNS MOUNTD MS- WBT MySQL NFS NTP OpenVPN PMCD PMPROXY PMWEBAPI PMWEBAPIS POP3S POSTGRESQL Proxy-DHCP RADIUS RPC-BIND SAMBA SAMBA CLIENTE SMTP SSH TELNT TFTP TFTP-Cliente Transmisión-Cliente Transmisión-Cliente VNC-Server WBEM-HTTPS

    Recuerde que en Files.xml Directory / USR / LIB / Firewalld / Services almacena toda la información sobre cada servicio. La información de información SSH se encuentra en /usr/lib/firewalld/services/ssh.xml. Se ven así:

    Para habilitar el soporte para los servicios en zonas, se necesita la bandera de servicio -AD, pero la opción -zone es útil para establecer la zona de destino. Recuerde que solo una sesión será válida tales cambios. Si necesita guardar los cambios para su uso, use la bandera permanente. Vamos a ver cómo funciona. Ejecute el servidor web para que pueda servir el tráfico HTTP. Incluir soporte para una sesión en la zona pública. Escriba la consola:

    Sudo firewall-cmd --zone \u003d Public --add-service \u003d http

    No utilice la opción -zone \u003d si agrega a la zona predeterminada. Compruebe, si todo resultó:

    Firewall-CMD --Zone \u003d Public - List-Services DHCPV6-Client HTTP SSH

    Ahora necesitas probar el trabajo del firewall y el servicio en sí. Si ve que todo está en orden, puede cambiar de manera segura el conjunto permanente de reglas. Para agregar una nueva regla de soporte de servicio, debe especificar en la consola:

    Sudo firewall-cmd --zone \u003d público -permanent --dd-service \u003d http

    Si necesita ver la lista completa de reglas que operan de forma permanente, entonces:

    Sudo firewall-cmd --zone \u003d Public --Permanent - List-Services DHCPV6-Client HTTP ssh

    Como resultado, la zona pública aparecerá soporte para el puerto 80 y HTTP. En el caso, cuando su servidor pueda mantener el tráfico SSL / TLS, resultará agregar el servicio HTTPS:

    Sudo firewall-cmd --zone \u003d público --ddd-service \u003d https sudo firewall-cmd --zone \u003d público -permanent --add-service \u003d https

    6. ¿Y si el servicio no está disponible?

    De forma predeterminada, Firewalld Firewall incluye muchos servicios populares. Pero sucede que los programas necesitan otros servicios que no están en el firewall. Este problema puede ser resuelto por un par de métodos.

    Método # 1: Definición de servicio

    Agregar puerto a la zona es bastante fácil. Sin embargo, si las aplicaciones son bastante, será difícil entender qué puerto lo usa. En tal situación, será una buena manera de identificar los servicios en lugar de los puertos. De hecho, el servicio es un grupo de puertos, que se le dio un nombre y una descripción. Con su ayuda, será más fácil controlar la configuración. Pero el servicio es algo más complicado que el puerto.

    Vamos a empezar a copiar el script ya existente de la carpeta / USR / LIB / Firewalld / Service, desde donde el firewall toma ajustes no estándar en / etc / firewalld / servicios. Copie la definición de servicio SSH para usarla como definición del ejemplo del servicio condicional. No olvide que el nombre del script debe coincidir con el nombre del servicio, y también tiene un archivo de extensión.xml. Escriba la consola:

    Sudo cp /usr/lib/firewalld/services/service.xml /etc/firewalld/services/example.xml

    Ahora necesitas hacer ediciones en el archivo compilado:

    Sudo nano /etc/firewalld/services/example.xml.

    En el interior está la definición de ssh:

    SSH Secure Shell (SSH) es un protocolo para iniciar sesión y ejecutar comandos en máquinas remotas. Proporciona comunicaciones cifradas seguras. Si planea acceder a su máquina RemoteNet a través de SSH a través de una interfaz firewall, habilite esta opción. Necesita instalado el paquete OpenSSH-Server para que esta opción sea útil.

    Ahora guarda los cambios y cierra el archivo. Después de eso, el firewall se reiniciará con:

    Sudo firewall-cmd --Reload

    Nuestra lista incluye nuestro:

    Firewall-CMD - Get-Services RH-Satellite-6 Amanda-Client Bacula Bacula-Client DHCP DHCPV6 DHCPV6-Cliente DNS Ejemplo FTP HTTP HTTP HTTPS IPP IPP-Client IPSEC Kerberos KPASHD LDAP LDAP LIBVIRT LIBVIRT-TLS MDNS Mountd MS -WBT MySQL NFS NTP OpenVPN PMCD PMPROXY PMWEBAPI PMWEBAPIS POP3S POSTGRESQL PROXY-DHCP RADIUS RPC-BIND SAMBA SAMBA-CLIENT SMTP SSH TELNT TFTP TFTP-Cliente Transmisión-Cliente VNC Server WBEM-HTTPS

    Método Número 2: Creación de un puerto

    Abra el puerto de la aplicación en el área de firewall deseada, y señale, así como el protocolo. Imaginemos la situación en la que necesita agregar un programa a la zona de publicación utilizando el protocolo TCR y el puerto 5000. Para activar la aplicación a una sesión, se requerirá la opción -AD-PORT \u003d. Además, debe especificar el protocolo TCP o UDP:

    Sudo firewall-cmd --zone \u003d Public --Add-Port \u003d 5000 / TCP

    Asegúrate de que todo sucediera:

    Firewall-Cmd - List-Ports 5000 / TCP

    Además, es posible especificar el rango de puertos por DASH. Por ejemplo, si el programa utiliza puertos 4990-4999, luego agregarlos a la zona pública podrá:

    Sudo firewall-cmd --zone \u003d Public --DD-PORT \u003d 4990-4999 / UDP

    Si todo funciona bien, agregue instrucciones a la configuración del firewall:

    Sudo firewall-cmd --zone \u003d -perment --add-puerto \u003d 5000 / tcp sudo firewall-cmd --zone \u003d público -permanent --dd-puerto \u003d 4990-4999 / UDP sudo firewall-cmd - zona \u003d Public -Permanent - List-Ports Success Success 4990-4999 / UDP 5000 / TCP

    7. ¿Cómo crear una zona?

    Firewall puede proporcionar diferentes zonas predefinidas que generalmente son suficientes para el trabajo, pero a veces necesita hacer que su zona de usuario. Por ejemplo, servidor DNS. Necesita una zona privada, y para un servidor web - PublicWeb. Después de crear zonas, es necesario agregar a la configuración del firewall. Cree un PublicWeb y la zona de PRIVATENS escribiendo en la consola:

    Sudo firewall-cmd -permanent --new-zone \u003d publicweb sudo firewall-cmd --permanent --new-zone \u003d privatedns

    Compruebe, si todo resultó:

    Sudo firewall-cmd -permanent --get-zones bloque dmz caída externa casa interno privatedns Public PublicWeb Trabajo de confianza

    Firewall-Cmd - Pet-Zones Block DMZ Drop Drop External Hogar Público Interior Trabajo de confianza

    Sin embargo, las nuevas zonas en la sesión actual no estarán disponibles:

    Firewall-Cmd - Pet-Zones Block DMZ Drop Drop External Hogar Público Interior Trabajo de confianza

    Reinicie el firewall para obtener acceso a nuevas zonas:

    Sudo firewall-cmd --relead firewall-cmd --get-zones bloque dmz gota externa casa interno privatedns Public PublicWeb Trabajo de confianza

    Ahora serán nuevas zonas para identificar puertos y servicios. Supongamos que es necesario agregar SSH, HTTP y HTTPS a la Zona de PublicWeb:

    Sudo firewall-cmd --zone \u003d publicweb --ddd-service \u003d ssh sudo firewall-cmd --zone \u003d publicweb --add-service \u003d http sudo firewall-cmd --zone \u003d publicweb --dd-service \u003d https firewall cmd --Zone \u003d PublicWeb -List-All PublicWeb Interfaces: Fuentes: Servicios: HTTP HTTPS SSH Ports: Masquerade: No Forward-Ports: ICMP-Blocks: Rich Reglas:

    Además, será posible agregar DNS a la zona de privatación a través de:

    Sudo firewall-cmd --zone \u003d privatedns --add-service \u003d dns firewall-cmd --zone \u003d privatedns - list-all privatedns interfaces: Fuentes: Servicios: DNS Puertos: Masquerade: Sin puertos hacia adelante: Bloques ICMP: Reglas ricas:

    Después de eso, puede atarte de forma segura a nuevas zonas. Interfaces de red:

    Sudo firewall-cmd --zone \u003d publicweb --change-interface \u003d eth0 sudo firewall-cmd --zone \u003d privatedns --change-interface \u003d eth1

    Compruebe la operación de la configuración. Si todo está en orden, agreguelos a las reglas permanentes:

    Sudo firewall-cmd --zone \u003d publicweb --permanent --add-service \u003d ssh sudo firewall-cmd --zone \u003d publicweb --permanent --add-service \u003d http sudo firewall-cmd --zone \u003d PublicWeb --Permanal --Add-service \u003d https sudo firewall-cmd --zone \u003d privatedns -permanent --add-service \u003d DNS

    Ahora pasamos a configurar las interfaces de red. Esto es necesario para conectarse automáticamente a la zona deseada. Supongamos que necesita vincularse a PublicWeb Eth0, entonces:

    Sudo nano / etc / sysconfig / red-scripts / ifcfg-eth0. . . Ipv6_autoconf \u003d no dns1 \u003d 2001: 4860: 4860 :: 8844 DNS2 \u003d 2001: 4860: 4860: 8888 DNS3 \u003d 8.8.8.8 Zone \u003d PublicWeb

    También aprendemos EHT1 para privatizar a través de:

    Sudo nano / etc / sysconfig / red-scripts / ifcfg-eth1. . . NETMASK \u003d 255.255.0.0 DefrutaRe \u003d "No" NM_Controlled \u003d "SI" ZONE \u003d PRIVEDORS

    Para cambiar los cambios, los servicios de firewall y red se reiniciarán:

    Sudo systemctl reiniciar la red sudo systemctl reiniciar el firewalld

    Debe comprobar las zonas para asegurarse de que se prescriban los servicios:

    Firewall-CMD - LAS ZONAS ACTIVAS ENTERIORES INTERFACES PRIVADORES: ETH1 Interfaces PublicWeb: eth0

    Ahora necesitas verificar si funcionan:

    Firewall-Cmd --Zone \u003d PublicWeb - List-Services HTTP HTPPS SSH Firewall-CMD --Zone \u003d PrivateDns - List-Services DNS

    Como podemos ver, las zonas de usuario están completamente preparadas para el trabajo. Cualquiera de ellos puede ser asignado por defecto. Por ejemplo:

    Sudo firewall-cmd --set-default-zone \u003d publicweb

    8. ¿Cómo hacer la ejecución automática de firewall?

    Después de verificar el funcionamiento de las reglas y todas las configuraciones, configurará AUTORUN:

    Sudo systemctl habilita firewalld

    Esto permitirá encender el firewall inmediatamente después de que se inicie el servidor.

    Como resultado, vale la pena señalar que Firewalld Firewall es una herramienta bastante flexible en términos de configuración. Y es posible cambiar su trabajo con la ayuda de las zonas.



    ¿Te gustó el artículo? Compártelo