LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

Resumen: Iptables es la aplicación estándar de Linux® para crear un firewall. Es fácil de configurar y mantener al mismo tiempo que es lo suficientemente potente como para proporcionar el control de un aparato de gama alta. Aprenda cómo empezar con iptables, recuperarse de los problemas comunes, y simular un escenario de uso de pequeña oficina.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

En este breve artículo se explica cómo se pueden bloquear los ataques más habituales, inyecciones SQL, inyecciones de archivos, correo no deseado y los agentes de usuario usados por los hackers y hoggers de sus vhosts nginx con algunas directivas de configuración simples. Esta configuración está lejos de ser completa, pero es un buen punto de partida. Usted tendrá que ver sus registros de intento de robos en los intentos y luego tratar de modificar / completar el conjunto de reglas.

Ratio: 1 / 5

Inicio activadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

rsync es el standar sync para la sincronización remota.

rsync se utiliza para realizar la operación de copia de seguridad en UNIX / Linux.

La utilidad rsync se utiliza para sincronizar los archivos y directorios de un lugar a otro de una manera eficaz. La ubicación de copia de seguridad podría estar en el servidor local o en un servidor remoto.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

En este artículo, voy a explicar cómo realizar ssh y scp sin introducir la contraseña utilizando la autenticación de clave pública SSH con el agente SSH en OpenSSH

Hay dos niveles de seguridad en la autenticación basada en clave SSH. Para que usted pueda iniciar sesión, es necesario tener la clave privada y la contraseña. Incluso si uno de ellos se ve comprometido, el atacante aún no puede acceder a su cuenta, ya que ambos son necesarios para iniciar la sesión. Esto es mucho mejor que la autenticación de contraseña típica, en donde si la contraseña está en peligro, el atacante puede obtener acceso al sistema.

Por favor, lee la actualización de éste artículo en éste enlace.

 Utilizar ssh sin contraseña con ssh-keygen y ssh-copy-id

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado

El Instituto Nacional de Tecnologías de la Comunicación (INTECO) ha alertado hoy de un virus, conocido como Disstrack o Shamoon, que sobrescribe y destruye documentos, fotografías y vídeos almacenados en las carpetas del equipo. Este virus actúa sobre plataformas Windows y deja inservibles todos los ficheros que se encuentren en el Escritorio y en las carpetas Descargas, Mis documentos, Mis imágenes, Vídeos y Música, según ha advertido INTECO en su boletín semanal de seguridad.

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado


Código:

/* -----------------------------------------
     Network Promiscuous Ethernet Detector.
      Linux 2.0.x / 2.1.x, libc5 & GlibC
   -----------------------------------------
         (c) 1998 Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
   -----------------------------------------
   Scan your subnet, and detect promiscuous
   linuxes. It really works, not a joke.
   ----------------------------------------- */
   
/*
 * $Id: neped.c,v 1.4 1998/07/20 22:31:52 savage Exp $
 */
 
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <malloc.h>
#include <ctype.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netinet/tcp.h>
#include <net/if.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <time.h>

#define ETH_P_ARP    0x0806
#define MAX_PACK_LEN    2000
#define ETHER_HEADER_LEN 14
#define ARPREQUEST    1
#define ARPREPLY    2
#define perr(s) fprintf(stderr,s)

struct arp_struct
  {
    u_char  dst_mac[6];
    u_char  src_mac[6];
    u_short pkt_type;
    u_short hw_type;
    u_short pro_type;
    u_char  hw_len;
    u_char  pro_len;
    u_short arp_op;
    u_char  sender_eth[6];
    u_char  sender_ip[4];
    u_char  target_eth[6];
    u_char  target_ip[4];
  };

union
  {
    u_char full_packet[MAX_PACK_LEN];
    struct arp_struct arp_pkt;
  }
a;

#define full_packet a.full_packet
#define arp_pkt a.arp_pkt

char *
inetaddr ( u_int32_t ip )
{
  struct in_addr in;
  in.s_addr = ip;
  return inet_ntoa(in);
}

char *
hwaddr (u_char * s)
{
  static char buf[30];
  sprintf (buf, "%02X:%02X:%02X:%02X:%02X:%02X", s[0], s[1], s[2], s[3], s[4], s[5]);
  return buf;
}

void
main (int argc, char **argv)
{
  int rec;
  int len, from_len, rsflags;
  struct ifreq if_data;
  struct sockaddr from;
  u_int8_t myMAC[6];
  u_int32_t myIP, myNETMASK, myBROADCAST, ip, dip, sip;

  if (getuid () != 0)
    {
      perr ("You must be root to run this program!\n");
      exit (0);
    }

  if (argc != 2)
    {
      fprintf(stderr,"Usage: %s eth0\n", argv[0]);
      exit (0);
    }

  if ((rec = socket (AF_INET, SOCK_PACKET, htons (ETH_P_ARP))) < 0)
    {
      perror("socket");
      exit (0);
    }

  printf ("----------------------------------------------------------\n");
  strcpy (if_data.ifr_name, argv[1]);
  if (ioctl (rec, SIOCGIFHWADDR, &if_data) < 0) {
    perr ("can't get HW addres of my interface!\n");
    exit(1);
  }
  memcpy (myMAC, if_data.ifr_hwaddr.sa_data, 6);
  printf ("> My HW Addr: %s\n", hwaddr (myMAC));

  if (ioctl (rec, SIOCGIFADDR, &if_data) < 0) {
    perr ("can't get IP addres of my interface!\n");
    exit(1);
  }
  memcpy ((void *) &ip, (void *) &if_data.ifr_addr.sa_data + 2, 4);
  myIP = ntohl (ip);
  printf ("> My IP Addr: %s\n", inetaddr(ip));

  if (ioctl (rec, SIOCGIFNETMASK, &if_data) < 0)
    perr ("can't get NETMASK addres of my interface!\n");
  memcpy ((void *) &ip, (void *) &if_data.ifr_netmask.sa_data + 2, 4);
  myNETMASK = ntohl (ip);
  printf ("> My NETMASK: %s\n", inetaddr(ip));

  if (ioctl (rec, SIOCGIFBRDADDR, &if_data) < 0)
    perr ("can't get BROADCAST addres of my interface!\n");
  memcpy ((void *) &ip, (void *) &if_data.ifr_broadaddr.sa_data + 2, 4);
  myBROADCAST = ntohl (ip);
  printf ("> My BROADCAST: %s\n", inetaddr(ip));

  if ((rsflags = fcntl (rec, F_GETFL)) == -1)
    {
      perror ("fcntl F_GETFL");
      exit (1);
    }

  if (fcntl (rec, F_SETFL, rsflags | O_NONBLOCK) == -1)
    {
      perror ("fcntl F_SETFL");
      exit (1);
    }

 
  printf ("----------------------------------------------------------\n");
  printf ("> Scanning ....\n");
  for (dip = (myIP & myNETMASK) + 1; dip < myBROADCAST; dip++)
    {
      bzero(full_packet, MAX_PACK_LEN);

      memcpy (arp_pkt.dst_mac, "\0\6\146\3\23\67", 6); /* 00:06:66:03:13:37 :) */
      memcpy (arp_pkt.src_mac, myMAC, 6);
      arp_pkt.pkt_type = htons( ETH_P_ARP );
      arp_pkt.hw_type = htons( 0x0001 );
      arp_pkt.hw_len = 6;
      arp_pkt.pro_type = htons( 0x0800 );
      arp_pkt.pro_len = 4;
      arp_pkt.arp_op = htons (ARPREQUEST);
      memcpy (arp_pkt.sender_eth, myMAC, 6);
      ip = htonl (myIP);
      memcpy (arp_pkt.sender_ip, &ip, 4);
      memcpy (arp_pkt.target_eth, "\0\0\0\0\0\0", 6);
      ip = htonl (dip);
      memcpy (arp_pkt.target_ip, &ip, 4);

      strcpy(from.sa_data, argv[1]);
      from.sa_family = 1;
         
      if( sendto (rec, full_packet, sizeof (struct arp_struct), 0, &from, sizeof(from)) < 0)
     perror ("sendto");

      usleep (50);      

      len = recvfrom (rec, full_packet, MAX_PACK_LEN, 0, &from, &from_len);
      if (len <= ETHER_HEADER_LEN)
   continue;

      memcpy (&ip, arp_pkt.target_ip, 4);
      memcpy (&sip, arp_pkt.sender_ip, 4);

      if (ntohs (arp_pkt.arp_op) == ARPREPLY
     && ntohl (ip) == myIP
     && ( dip - ntohl(sip) >= 0 )
     && ( dip - ntohl(sip) <= 2 ) )
   {
     printf ("*> Host %s, %s **** Promiscuous mode detected !!!\n",
        inetaddr (sip),
        hwaddr (arp_pkt.sender_eth));
   }

    }

  printf ("> End.\n");

  exit (0);
}



Bueno, no hace falta decir como se compila pero por si acaso...

gcc neped.c -o neped

El Post, está relacionado con el artículo:
Detección de Sniffers, buscando modos promiscuos.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Definición de Servidor DNS

 Tenemos una configuración actualizada en:

http://www.linuxparty.es/index.php/29-internet/9237-configurar-servidor-dns-maestro-esclavo-usando-bind-en-rhel-centos#

El número de ordenadores en el centro educativo, cada vez es mayor. Aunque hayamos elegido un direccionamiento IP que relacione la asignación de direcciones con la ubicación física de los PCs, sería mucho más cómodo poder referirse a todos los PCs del centro utilizando nombres en lugar de direcciones IPs. Un servidor DNS en la red local, nos permitirá crear una asociación directa Nombre de PC <-> Dirección IP en nuestra red, que nos facilitará la identificación de nuestros equipos.

En las redes TCP/IP, cada PC dispone de una dirección IP para poder comunicarse con el resto de PCs. Es equivalente a las redes de telefonía en las que cada teléfono dispone de un número de teléfono que le identifica y le permite comunicarse con el resto de teléfonos.

Trabajar con direcciones IP es incómodo para las personas, ya que requeriría conocer en todo momento las direcciones IP de los equipos a los que queremos conectarnos. En su lugar utilizamos nombres que son más fáciles de recordar y utilizar como por ejemplo enebro.pntic.mec.es, www.google.es, www.mec.es, etc...

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
En las entregas anteriores hemos visto cómo escribir código inyectable y cómo inyectar nuestro código en otros binarios sirviéndonos de diversos trucos. La siguiente fase lógica -la activación- ya no consistirá sólo  en saltar a nuestra rutina inyectada, si no también el devolverle el control al código original y no levantar sospechas.

La idea general será la siguiente: debemos encontrar algún puntero al que el ELF intente saltar en todo su tiempo de ejecución, ejecutar el código inyectado y devolver el control al puntero original. Esto se conoce popularmente como hooking: reemplazamos la dirección a la que cierto programa debe saltar en cierto momento para ejecutar nuestro código, y devolver el control a la dirección original a la que se quería llamar.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
SystemRescueCd cuenta con una nueva versión estable, la 2.7.0, que actualiza partes importantes del sistema y otras herramientas principales. Añade ahora además la gestión para paquetería Debian y Red Hat, lo que quiere decir tambien, Ubuntu y Fedora.

Navegador web y administrador de archivos - SystemRescueCd 2-6-0 SystemRescueCd 2.7.0 es la más reciente versión estable, disponible para descargar, con el kernel Linux estándar 3.2.16 LTS y los kernels Linux alternativos en su versión estable 3.3.5.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado

Linux viene con un firewall basado en hosts llamado Netfilter. Según el sitio oficial del proyecto:

netfilter es un conjunto de hooks dentro del kernel de Linux que permite a los módulos del núcleo registrar las funciones de devolución de llamadas con la pila de red. Una función de devolución de llamadas registradas entonces se llamó de nuevo para cada paquete que atraviese el hooks correspondiente dentro de la pila de red.

Si estás empezando, te recomendamos la lectura de:

Este firewall basado en Linux está controlada por el programa llamado iptables para el filtrado para IPv4 e ip6tables. Recomiendo que primero lea nuestro tutorial rápido que explica cómo configurar un firewall basado en host llamado Netfilter (iptables) en CentOS / RHEL / Fedora / Red Hat Enterprise Linux. Este post muestra las listas más comunes de iptables con las soluciones requeridas por un nuevo usuario de Linux que quiera asegurar su sistema operativo Linux de intrusos.

Iptables Las reglas de ejemplo

  • La mayor parte de las acciones enumeradas en este post están escritos con la suposición de que será ejecutado por el usuario root o cualquier otro con usuario con privilegios. No escriba los comandos en un sistema remoto, ya que  desconecte el acceso.
  • Para propósito de la demostración que he usado Red Hat Enterprise Linux 6.x, pero el siguiente comando debería funcionar con cualquier distribución de Linux moderna.
  • Esto no es un tutorial sobre cómo configurar iptables. Ver tutorial aquí . Se trata de una hoja de trucos rápido a los comandos comunes de iptables.

# 1: Visualización del estado de su firewall

Escriba el siguiente comando como root:
# iptables -L -n -v
Salidas de la muestra:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Por encima de la producción indica que el firewall no está activa. El siguiente ejemplo muestra un firewall activo:
# iptables -L -n -v
Salidas de la muestra:

Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           state INVALID
  394 43586 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
   93 17292 ACCEPT     all  --  br0    *       0.0.0.0/0            0.0.0.0/0
    1   142 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  br0    br0     0.0.0.0/0            0.0.0.0/0
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           state INVALID
    0     0 TCPMSS     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x06/0x02 TCPMSS clamp to PMTU
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    0     0 wanin      all  --  vlan2  *       0.0.0.0/0            0.0.0.0/0
    0     0 wanout     all  --  *      vlan2   0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  br0    *       0.0.0.0/0            0.0.0.0/0
Chain OUTPUT (policy ACCEPT 425 packets, 113K bytes)
 pkts bytes target     prot opt in     out     source               destination
Chain wanin (1 references)
 pkts bytes target     prot opt in     out     source               destination
Chain wanout (1 references)
 pkts bytes target     prot opt in     out     source               destination

 

 



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías