Seguridad y servicios esenciales en Linux: Samba, Python, MySQL, XAMPP y DHCP

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 7,82 KB

Seguridad física

  • Arranque seguro: login y registro de intentos para acceder.
  • Bloquear terminales.
  • LILO (Linux Loader) es el encargado de cargar el sistema operativo en memoria y pasarle información para su inicio (puede modificarse su comportamiento).

Seguridad local

  • Cada usuario tiene su contraseña y sus permisos.
  • No dar información confidencial innecesaria a usuarios que no la requieran.

Seguridad en sistemas de archivos

  • Asignación a cada usuario solo de los permisos necesarios para cubrir las necesidades de su trabajo, sin poner en riesgo el trabajo de los demás.

Seguridad del núcleo

  • Esto permite la posibilidad de crear núcleos a medida de nuestras necesidades.
  • Como el núcleo controla las características de red del sistema, es importante que incluya opciones que garanticen la seguridad y que el propio núcleo no pueda ser comprometido.
  • Actualizar el núcleo.
  • Enmascaramiento de direcciones.

Seguridad de red

  • Uso de software de fuentes abiertas cuando sea posible.
  • Mantener los programas actualizados.

SAMBA

Samba es una implementación libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX. De esta forma, es posible que ordenadores con GNU/Linux, macOS o Unix en general se vean como servidores o actúen como clientes en redes de Windows. Samba también permite validar usuarios haciendo de Controlador Principal de Dominio.

Historia

  • Samba fue desarrollado originalmente para Unix por Andrew Tridgell, utilizando un sniffer o capturador de tráfico para entender el protocolo mediante ingeniería inversa.
  • El nombre viene de insertar dos vocales al protocolo estándar que Microsoft usa para sus redes, el SMB o Server Message Block.

Servicios y protocolos de Samba

  • Soporta NetBIOS sobre TCP/IP (NetBT), SMB (también conocido como CIFS), DCE/RPC MSRPC, el servidor WINS o NetBIOS Name Service (NBNS), y la suite de protocolos del dominio NT, con su mecanismo de logon de entrada a dominio.
  • Samba configura directorios Unix y GNU/Linux (incluyendo sus subdirectorios) como recursos para compartir a través de la red. Para los usuarios de Microsoft Windows, estos recursos aparecen como carpetas normales de red.
  • Cada directorio puede tener diferentes permisos de acceso.

Ejemplo de configuración

vi /etc/samba/smb.conf
workgroup = nombreGrupoTrabajo

PYTHON

  • Es un lenguaje de programación de alto nivel.
  • Apuesta por la simplicidad, versatilidad y rapidez de desarrollo.
  • El creador del lenguaje es un europeo llamado Guido van Rossum.
  • Hace ya más de una década que diseñó Python, ayudado y motivado por su experiencia en la creación de otro lenguaje llamado ABC.
  • El objetivo de Guido era cubrir la necesidad de un lenguaje orientado a objetos de sencillo uso que sirviese para tratar diversas tareas dentro de la programación.
  • El nombre del lenguaje proviene de la afición de su creador por los humoristas británicos Monty Python.
  • Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional.
  • El objetivo en el diseño de estos lenguajes es permitir a los programadores utilizar el mejor paradigma para cada trabajo.
  • Es un lenguaje interpretado (tipado dinámico, fuertemente tipado).
  • Multiplataforma (soporta varios sistemas operativos).
  • Es gratuito, incluso para empresas.

MYSQL

  • Es un sistema de gestión de bases de datos relacional.
  • Se ejecuta como un servidor que proporciona acceso multiusuario a una serie de bases de datos.
  • Se llama así por el desarrollador original Michael Widenius y por su hija 'My'. SQL significa Structured Query Language (Lenguaje de Consulta Estructurado).
  • Software libre; si se requiere para empresas puede adquirirse una licencia comercial.
  • Opción de base de datos para uso en aplicaciones web.
  • LAMP: Linux, Apache, MySQL, PHP.
  • Autores: David Axmark, Allan Larsson y Michael Widenius.
  • Multiplataforma.
  • RDBMS (sistema de gestión de bases de datos relacionales).
  • MySQL está escrito en C y C++.
  • No incluye interfaz gráfica por defecto, pero puede descargarse una interfaz que mejore su usabilidad y comprensibilidad.

XAMPP

  • Es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos MySQL, el servidor web Apache y los intérpretes para lenguajes de script: PHP y Perl.
  • El nombre proviene del acrónimo: X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl.
  • Liberado bajo la licencia GNU, actúa como un servidor web libre, fácil de usar y capaz de interpretar páginas dinámicas.
  • Creado oficialmente para que los diseñadores probaran la funcionalidad de sus páginas, pero ahora es utilizado como servidor de páginas web; si se configura bien, es muy seguro.
  • Incluye herramientas como phpMyAdmin.

DHCP

DHCP corresponde a Dynamic Host Configuration Protocol. Es un protocolo de red que permite a los clientes de una red IP obtener sus parámetros de configuración automáticamente. Es un protocolo cliente/servidor donde un servidor posee una lista de direcciones IP dinámicas y las asigna a los clientes conforme tenga IPs libres. Se puede auditar y saber en todo momento quién usó determinada IP, el tiempo y a quién se le asignó después.

Asignación manual o estática

Asigna una dirección IP a una máquina determinada. Esto hace que solo exista comunicación entre las IP dadas de alta, evitando intrusos.

Asignación automática

Asigna una dirección IP de forma permanente a una máquina cliente la primera vez que hace la solicitud al servidor DHCP y hasta que el cliente la libera.

Asignación dinámica

Uso de la reutilización de direcciones IP. El servidor DHCP renueva asignaciones cada cierto intervalo de tiempo, pudiendo asignar una nueva dirección IP a los equipos.

Configuración de dhcpd

Se edita el fichero dhcpd.conf al cual le añadiremos la información de nuestra LAN.

Requerimientos (ejemplo)

  • 2 tarjetas de red: 192.168.1.5 y 192.168.2.5.
  • Segmento de red: 192.168.1.0.
  • Submáscara de red: 255.255.255.0.
  • Rango de direcciones IP: 192.168.1.7 a 192.168.1.100.

Ejemplos de edición del fichero de configuración

Asignación manual

vi /etc/dhcpd.conf
# ejemplo de configuración para asignación manual

Asignación automática

vi /etc/dhcpd.conf
# ejemplo de configuración para asignación automática

Asignación dinámica

vi /etc/dhcpd.conf
# ejemplo de configuración para asignación dinámica
Notas finales

Los fragmentos y ejemplos mostrados deben adaptarse a la topología y políticas de cada red. Mantener actualizados los sistemas, controlar permisos y auditar accesos son prácticas clave para la seguridad de servidores y servicios.

Entradas relacionadas: