martes, 24 de junio de 2014

Conceptos básicos de DNS

Cuando utilices servicios empresariales de Google, puede que en ocasiones necesites cambiar la configuración de DNS de tu dominio. A continuación se especifican algunos términos comunes que te podrías encontrar y cómo se aplican a los servicios de Google. Consulta también los conceptos básicos de nombre de dominio.

DNS

DNS corresponde a las siglas en inglés de Domain Name System, es decir, "Sistema de nombres de dominio". Este sistema es básicamente la agenda telefónica de la Web que organiza e identifica dominios. Mientras que una agenda telefónica convierte un nombre como "Acme Pizza" en el número de teléfono correcto para llamar, el sistema DNS traduce una dirección web como "www.google.com" en la dirección IP física (como "74.125.19.147") del ordenador que aloja ese sitio (en este caso, la página principal de Google).
Cuando utilizas servicios empresariales de Google, debes modificar periódicamente tu configuración de DNS (cambiando varios tipos de registros DNS) para configurar distintas herramientas y servicios. Por ejemplo, cambiarás los registros MX de tu dominio para dirigir el correo electrónico de tu dominio de Google Apps a los servidores de correo de Google.

Registro MX

Los registros MX (del inglés "Mail Exchange", intercambio de correo) dirigen el correo electrónico de un dominio a los servidores que alojan las cuentas de usuario del dominio. Para configurar Gmail con Google Apps, debes apuntar tus registros MX a servidores de correo de Google. Se pueden definir distintos registros MX para un dominio, cada uno con distinta prioridad. Si el correo no puede enviarse mediante el registro de prioridad más elevada, se utilizará el registro siguiente y así sucesivamente.
Para configurar los registros MX de tu dominio para que señalen a servidores de Google, consulta Acerca de los registros MX.

Registro TXT

Un registro TXT es un registro DNS que proporciona información de texto a fuentes externas a tu dominio y que se puede utilizar con distintos fines. El valor del registro puede corresponder a un texto legible por una máquina o por una persona. Con los servicios empresariales de Google, los registros TXT se utilizan para verificar la propiedad del dominio e implementar medidas de seguridad del correo electrónico, tales como SPF, DKIM y DMARC.
Para añadir y modificar registros TXT en tu dominio, consulta Acerca de registros TXT.

Registro CNAME

Un nombre canónico o registro CNAME enlaza un nombre de alias con un nombre de dominio auténtico o canónico. Por ejemplo, www.example.com podría enlazar con example.com. Con los servicios empresariales de Google, utilizas registros CNAME para personalizar una dirección de servicio de Google Apps o la dirección de un sitio web creada con Google Sites.
Para añadir y modificar registros CNAME en tu dominio, consulta Acerca de los registros CNAME.

Registro A

Un registro A o de direcciones (también conocido como un registro de host) enlaza un dominio con la dirección IP física  de un ordenador que aloja los servicios de ese dominio. Con los servicios empresariales de Google, puedes añadir un registro A para habilitar tu dirección de dominio simple.
Para añadir y modificar registros A en tu dominio, consulta Acerca de los registros A.

Registro NS

Los registros de Servidor de nombres (NS, del inglés "Name Server") determinan los servidores que comunicarán la información del DNS de un dominio. Por lo general, dispones de registros de servidor de nombres principales y secundarios para tu dominio. Cuando utilizas servicios empresariales de Google, puedes configurar registros NS que señalen a servidores de Google para ejecutar consultas de DNS.

Time to Live (TTL*)

TTL es un valor de un registro DNS que determina el número de segundos antes de que se apliquen los cambios posteriores realizados en el registro. Cada registro DNS de tu dominio, como un registro MX, un registro CNAME, etc., dispone de un valor TTL. El valor TTL actual de un registro determina cuánto tardará en aplicarse cualquier cambio que realices. Por ejemplo, los cambios realizados en un registro que tenga un valor TTL de 86400 segundos tardarán 24 horas en aplicarse.
Ten en cuenta que el cambio del valor TTL de un registro afectará al tiempo que tardará en aplicarse cualquier cambio posterior. Recomendamos ajustar un valor TTL de 3600, que indica a los servidores de Internet que comprueben cada hora si hay actualizaciones en el registro. De este modo, la próxima vez que actualices el registro, el cambio tardará hasta una hora en aplicarse. Por ejemplo, para que los cambios posteriores se realicen con mayor rapidez, si crees que podrías necesitar deshacer un cambio, puedes establecer un valor TTL más corto, como 300 segundos (5 minutos).

Localizador uniforme de recursos (URL)

Una URL es la dirección web de un recurso en Internet (la dirección que escribes en un navegador para visitar un determinado sitio web). Por ejemplo, la URL del Centro de ayuda de Google Apps es http://support.google.com/a.

Ejemplo de configuración de DNS

A continuación se incluyen configuraciones de DNS de ejemplo para un dominio utilizado con servicios empresariales de Google.

Ten en cuenta que no utilizas el nombre de dominio real en tu configuración de DNS. En su lugar, utilizas el símbolo @ para indicar el nombre de dominio.
Name/Host/Alias Record Type Priority Value/Answer/ Destination
Blank or @ A ND 216.239.32.21
Blank or @ A ND 216.239.34.21
Blank or @ A ND 216.239.36.21
Blank or @ A ND 216.239.38.21
Blank or @ MX 1 ASPMX.L.GOOGLE.COM.
Blank or @ MX 5 ALT1.ASPMX.L.GOOGLE.COM.
Blank or @ MX 5 ALT2.ASPMX.L.GOOGLE.COM.
Blank or @ MX 10 ASPMX2.GOOGLEMAIL.COM
Blank or @ MX 10 ASPMX3.GOOGLEMAIL.COM
mail CNAME ND ghs.googlehosted.com.
Blank or @ TXT ND google-site-verification=6tTalLzrBXBO4Gy9700TAbpg2QTKzGYEuZ_Ls69jle8
Blank or @ TXT ND v=spf1 include:_spf.google.com ~all
www CNAME ND ghs.googlehosted.com.

viernes, 13 de junio de 2014

20 ejemplos de iptables para SysAdmins novatos

Linux por defecto trae un cortafuegos llamado NetFilter. Según el sitio oficil de proyecto:
netfiltes es un conjunto de hooks (Ganchos) dentro del kernel de linux que permiten a los módulos del kernel registrar funciones callbacks con la pila de red. Una función callback registrada se llama entonces para cada paquete que atraviesa el hook correspondiente dentro de la pila de red.
Este firewall lo controla un programa llamado iptables que gestiona el filtrado para IPv4, y ip6tables para IPv6.

Ejemplos de reglas IPTABLES

  • Muchas de las acciones que se listan abajo requieren ejecutarse como usuario root.
  • Los siguientes comandos deberían funcionar en cualquier distro linux moderna.
  • Esto NO es un tutorial de como configurar iptables. Puedes ver un tutorial aquí. Es más bien una referencia rápida de los comandos más comunes de iptables.

#1: Mostrando el estado de nuestro firewall

Teclea el siguiente comando como root:
iptables -L -n -v
Ejemplos de salidas:
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
El resultado de arriba indica que el firewall no está activo. La siguiente salida es la del firewall activado:
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
Donde,
  • -L : Muestra las reglas.
  • -v : Muestra información detallada.
  • -n : Muestra la dirección ip y puerto en formato numérico. No usa DNS para resolver nombres. Esto acelera la lista.

#1.1:Para Inspeccionar el firewall con número de lineas:

iptables -n -L -v --line-numbers
Salida:
Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    DROP       all  --  0.0.0.0/0            0.0.0.0/0           state INVALID
2    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
Chain FORWARD (policy DROP)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
2    DROP       all  --  0.0.0.0/0            0.0.0.0/0           state INVALID
3    TCPMSS     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp flags:0x06/0x02 TCPMSS clamp to PMTU
4    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
5    wanin      all  --  0.0.0.0/0            0.0.0.0/0
6    wanout     all  --  0.0.0.0/0            0.0.0.0/0
7    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination
Chain wanin (1 references)
num  target     prot opt source               destination
Chain wanout (1 references)
num  target     prot opt source               destination
Podemos usar los números de línea para borrar o añadir nuevas reglas al firewall.

#1.2: Mostrar las reglas de cadena de entrada y salida:

iptables -L INPUT -n -v
iptables -L OUTPUT -n -v --line-numbers

#2: Parar / Iniciar / Reiniciar el firewall

Si usas CentOS / RHEL / Fedora linux:
service iptables stop
service iptables start
service iptables restart
También se puede usar propio comando iptables para detenerlo y borrar todas las reglas.
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
Donde:
  • -F : Borra todas las reglas.
  • -X : Borra cadenas
  • -t table_name : Selecciona una tabla y elimina reglas
  • -P : Establece la política por defecto (como DROP, REJECT o ACCEPT)

#3: Borrar reglas del firewall

Para mostrar los números de línea junto a otra información para reglas existentes:
iptables -L INPUT -n --line-numbers
iptables -L OUTPUT -n --line-numbers
iptables -L OUTPUT -n --line-numbers | less
iptables -L OUTPUT -n --line-numbers | grep 202.54.1.1
Obtendrendremos la lista de IPs. Miramos el número de la izquierda y lo usamos para borrarla. Por ejemplo para borrar la línea 4:
iptables -D INPUT 4
O para encontrar una ip de origen y borrarla de la regla
iptables -D INPUT -s 202.54.1.1 -j DROP
Donde:
  • -D : Elimina una o más reglas de la cadena seleccionada.

#4: Insertar reglas:

Para insertar una o más reglas en la cadena seleccionada como el número de cadena dada usamos la siguiente sintaxis. Primero encontramos el número de línea:
iptables -L INPUT -n --line-numbers
Salida:
Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    DROP       all  --  202.54.1.1           0.0.0.0/0
2    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state NEW,ESTABLISHED
Para insertar una regla entre 1 y 2;
iptables -I INPUT 2 -s 202.54.1.2 -j DROP
Para ver las reglas actualizadas
iptables -L INPUT -n --line-numbers
Salida:
Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    DROP       all  --  202.54.1.1           0.0.0.0/0
2    DROP       all  --  202.54.1.2           0.0.0.0/0
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state NEW,ESTABLISHED

#5: Guardar reglas

Para guardar reglas en CentOS / RHEL / Fedora Linux:
service iptables save
En este ejemplo, eliminamos una ip y guardamos las reglas del firewall:
iptables -A INPUT -s 202.5.4.1 -j DROP
service iptables save
Para todas las demás distros usamos:
iptables-save > /root/my.active.firewall.rules
cat /root/my.active.firewall.rules

#6: Restaurar reglas

Para restaurar reglas desde un archivo llamado /root/my.active.firewall.rules:
iptables-restore < /root/my.active.firewall.rules
Bajo CentOS / RHEL / Fedora Linux:
service iptables restart

#7: Estableces políticas de firewall por defecto

Para borrar todo el tráfico:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -L -v -n
## you will not able to connect anywhere as all traffic is dropped ###
ping cyberciti.biz
wget http://www.kernel.org/pub/linux/kernel/v3.0/testing/linux-3.2-rc5.tar.bz2

#7.1: Solo tráfico entrante bloqueado

Para borrar todos los paquetes entrantes / enviados pero permitir el tráfico saliente:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -L -v -n
# *** now ping and wget should work *** ###
ping cyberciti.biz
wget http://www.kernel.org/pub/linux/kernel/v3.0/testing/linux-3.2-rc5.tar.bz2

#8: Borrar direcciones de red privadas en la interfaz pública

IP Spoofing es nada más que para detener los siguientes rangos de direcciones IPv4 para redes privadas en sus interfaces públicas. Los paquetes con direcciones de origen no enrutables deben rechazarse mediante la siguiente sintaxis:
iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j DROP
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP

#9: Bloqueando una direción IP (BLOCK IP)

PAra bloquear una ip atacante llamada 1.2.3.4:
iptables -A INPUT -s 1.2.3.4 -j DROP
iptables -A INPUT -s 192.168.0.0/24 -j DROP

#10: Bloquear peticiones entrantes de un puerto (BLOCK PORT)

Para bloquear todas las solicitudes de servicio en el puerto 80:
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP
Para bloquear el puerto 80 para una ip:
iptables -A INPUT -p tcp -s 1.2.3.4 --dport 80 -j DROP
iptables -A INPUT -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j DROP

#11: Bloquear ips de salida

Para bloquear el tráfico saliente a un host o dominio en concreto como por ejemplo cyberciti.biz:
host -t a cyberciti.biz
Salida:
cyberciti.biz has address 75.126.153.206
Una vez conocida la dirección ip, bloqueamos todo el tráfico saliente para dicha ip así:
iptables -A OUTPUT -d 75.126.153.206 -j DROP
Se puede usar una subred como la siguiente:
iptables -A OUTPUT -d 192.168.1.0/24 -j DROP
iptables -A OUTPUT -o eth1 -d 192.168.1.0/24 -j DROP

#11.1: Ejemplo – Bloquear el dominio facebook.com

Primero, encontrar la dirección ip de facebook.com
host -t a www.facebook.com
Salida:
www.facebook.com has address 69.171.228.40
Buscar el CIDR para 69.171.228.40:
whois 69.171.228.40 | grep CIDR
Salida:
CIDR:           69.171.224.0/19
Para prevenir el acceso externo a facebook.com:
iptables -A OUTPUT -p tcp -d 69.171.224.0/19 -j DROP
Podemos usar también nombres de dominio:
iptables -A OUTPUT -p tcp -d www.facebook.com -j DROP
iptables -A OUTPUT -p tcp -d facebook.com -j DROP
De la página del man de iptables:
… specifying any name to be resolved with a remote query such as DNS (e.g., facebook.com is a really bad idea), a network IP address (with /mask), or a plain IP address …

#12: Log y borrar paquetes

Escribe lo siguiente para añadir al log y bloquear IP spoofing en una interfaz pública llamada eth1
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j LOG --log-prefix "IP_SPOOF A: "
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
Por defecto el log está en el archivo /var/log/messages
tail -f /var/log/messages
grep --color 'IP SPOOF' /var/log/messages

#13: Log y borrar paquetes con un número limitado de entradas al log

El módulo -m limit puede limitar el número de entradas al log creadas por tiempo. Se usa para prevenir que el archivo de log se inunde. Para añadir al log y elminar spoofing cada 5 minutos, en ráfagas de 7 entradas:
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -m limit --limit 5/m --limit-burst 7 -j LOG --log-prefix "IP_SPOOF A: "
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP

#14: Aceptar o denegar tráfico desde dirección MAC

iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP
## *only accept traffic for TCP port # 8080 from mac 00:0F:EA:91:04:07 * ##
iptables -A INPUT -p tcp --destination-port 22 -m mac --mac-source 00:0F:EA:91:04:07 -j ACCEPT

#15: Bloquear o permitir peticiones ping ICMP

Para bloquear peticiones ping ICMP
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROP
Las respuestas al ping también se puede limitar a ciertas redes o hosts.
iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp-type echo-request -j ACCEPT
Lo siguiente solo acepta limitados tipos de peticiones ICMP:
### ** assumed that default INPUT policy set to DROP ** #############
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
## ** all our server to respond to pings ** ##
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

#16: Abrir un rango de puertos

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7010 -j ACCEPT

#17: Abrir un rango de direcciones ip

## only accept connection to tcp port 80 (Apache) if ip is between 192.168.1.100 and 192.168.1.200 ##
iptables -A INPUT -p tcp --destination-port 80 -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT
## nat example ##
iptables -t nat -A POSTROUTING -j SNAT --to-source 192.168.1.20-192.168.1.25

#19: Bloquear o abrir puertos comunes

Replace ACCEPT with DROP to block port:
## open port ssh tcp port 22 ##
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT
 
## open cups (printing service) udp/tcp port 631 for LAN users ##
iptables -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 631 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 631 -j ACCEPT
 
## allow time sync via NTP for lan users (open udp port 123) ##
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 123 -j ACCEPT
 
## open tcp port 25 (smtp) for all ##
iptables -A INPUT -m state --state NEW -p tcp --dport 25 -j ACCEPT
 
# open dns server ports for all ##
iptables -A INPUT -m state --state NEW -p udp --dport 53 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT
 
## open http/https (Apache) server port to all ##
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
 
## open tcp port 110 (pop3) for all ##
iptables -A INPUT -m state --state NEW -p tcp --dport 110 -j ACCEPT
 
## open tcp port 143 (imap) for all ##
iptables -A INPUT -m state --state NEW -p tcp --dport 143 -j ACCEPT
 
## open access to Samba file server for lan users only ##
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 137 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 138 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 445 -j ACCEPT
 
## open access to proxy server for lan users only ##
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 3128 -j ACCEPT
 
## open access to mysql server for lan users only ##
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

#20: Restringir el número de conexiones paralelas a un servidor por direccion Ip del cliente.

Se puede usar connlimit para crear algunas restricciones. Para permitir 3 conexiones ssh por cliente:
iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT
Establecer las peticiones HTTP a 20:
iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 --connlimit-mask 24 -j DROP
donde:
  • –connlimit-above 3 : Coincide si el número de conexiones existentes está por encima de 3.
  • –connlimit-mask 24 : Grupos de hosts usando el prefijo de longitud. Para IPv4, debe ser un número entre 0 y 32 (incluyéndolos.)

#21: HowTO: Use iptables Like a Pro

Para más información sobre iptables, échale un vistazo al manual:
man iptables
Para ver la ayuda en general o de un comando específico:
iptables -h
iptables -j DROP -h

#21.1: Probando nuestro firewall

Conocer si hay puertos abiertos o no:
netstat -tulpn
Es recomendable instalarse un sniffer como tcpdupm y ngrep para probar la configuración de nuestro firewall.

Conclusión

Esta entrada solo lista las reglas básicas para los usuarios nuevos en linux. Se pueden crear reglas más complejas. Requiere una buena comprensión de TCP/IP, tunning del kernel linux via sysctl.conf y un buen conocimiento de nuestra configuración.
Fuente original: cyberciti

Más reglas cortesía de Jker

a)a. Reestablece las reglas por defecto.
sudo su
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
IPtables -nL para ver que estan vacias
b)b. Configura la máquina para que sólo se pueda acceder desde ella a las webs http://www.google.es y http://www.iesgoya.com y a ninguna otra.
iptables -A OUTPUT -d http://www.google.es -j ACCEPT
iptables -A OUTPUT -d http://www.iesgoya.com -j ACCEPT
iptables -A OUTPUT -p tcp –dport 80 -j DROP # Mas exigente –> iptables -A OUTPUT -p all -j DROP
##como google tiene muchas IPs puede que tengamos un problema para ello realizamos lo siguiente antes de la regla EXIGENTE:
iptables -I OUTPUT 1 -d 212.106.221.0/24 -j ACCEPT
iptables -I OUTPUT 1 -d 173.194.0.0/16 -j ACCEPT
# MOstrar las reglas que llevamos hasta el momento:
iptables -nL –line-numbers
#Si queremos borrar reglas:
iptables -D OUTPUT 5
c)c. Cierra todos los puertos bien conocidos menos los necesarios para acceder a estas dos webs.
iptables -A OUTPUT -p TCP –dport 53 -j ACCEPT
iptables -A OUTPUT -p UDP –dport 53 -j ACCEPT
iptables -A OUTPUT -p TCP –dport 1:1024 -j DROP
iptables -A OUTPUT -p UDP –dport 1:1024 -j DROP
d)d. Investiga de qué forma podrías hacer que las peticiones entrantes a tu máquina virtual al puerto 81 por http vayan mediante NAT al puerto 80 de la máquina local (arranca WAMP para comprobar que funciona).
Arrancamos wamp en la maquina fisica y comprobamos que accedemos a wamp desde localhost.
Comprobamos que podemos acceder desde la maquina virtual y se encuentra cortado
Miramos la IP de la maquina virtual.
Ahora desde la maquina fisica intentamos acceder desde el puerto 81 con la IP esa.
Habilitamos el enrutamiento entre tarjetas de red de nuestro equipo:
echo 1 > /proc/sys/net/ipv4/ip_forward
#Ejecutamos las siguientes reglas
iptables -t nat -A PREROUTING -p tcp –dport 81 -j DNAT –to- destination 192.168.203.200:80
 
iptables -t nat -A POSTROUTING -s 192.168.203.0/24 -j MASQUERADE
#Para ver las reglas introducidas:
iptables -t nat -nL –line-numbers
e)e. Permite sólo los mensajes entrantes desde la IP del compañero de tu máquina física (prueba desde otro sitio para ver si funciona).
iptables -A INPUT -s 192.168.203.200 -j ACCEPT
iptables -A INPUT -j DROP
 
iptables -A FORWARD -s 192.168.203.200 -j ACCEPT
iptables -A FORWARD -s -j DROP
f) #Activa el log sobre todas las reglas y verifica que se anotan los mensajes.
Insertamos en IPTABLEs las reglas para activar el log:
iptables -I FORWARD 1 -j LOG –log-prefix ‘IPTABLESFORWARD: ‘
iptables -I INPUT 1 -j LOG –log-prefix ‘IPTABLESINPUT: ‘
 
iptables -t nat -I PREROUTING 1 -j LOG –log-prefix ‘IPTABLESPREROUTING: ‘
iptables -t nat -I POSTROUTING 1 -j LOG –log-prefix ‘IPTABLESPREROUTING: ‘
 
iptables -I OUTPUT 1 -j LOG –log-prefix ‘IPTABLESOUTPUT: ‘
NOTA: hay que ponerlas las primeras para que haga log antes de rechazarlo.
#Ahora editamos el archivo:
gedit /etc/rsyslog.d/50-default.conf
#E incluimos al final:
kern.warning /var/log/iptables.log

miércoles, 4 de junio de 2014

Removing symbolic link initrd.img.old you may need to re-run your boot loader[grub]

Asked by Warwick Greenham on 2009-01-29
I have no real idea of what I am doing but up to now, have been able to get by with the answers I have found, it has been a great experience. My problem is that after installing up-grades, I did a kernel removal and on completion I found the following notice, Removing symbolic link initrd.img.old you may need to re-run your boot loader[grub] can some one help with an explanation of what it means and how to do it. Below is the message.
The link /vmlinuz.old is a damaged link
Removing symbolic link vmlinuz.old
 you may need to re-run your boot loader[grub]
The link /initrd.img.old is a damaged link
Removing symbolic link initrd.img.old
 you may need to re-run your boot loader[grub]
Regards, Warwick.

Solucion

Just do :-
$ sudo update-grub
Generating grub.cfg ...
Found background image: /usr/share/images/grub/Lake_mapourika_NZ.tga
Found linux image: /boot/vmlinuz-3.2.0-2-amd64
Found initrd image: /boot/initrd.img-3.2.0-2-amd64
Found memtest86+ image: /boot/memtest86+.bin
Found memtest86+ multiboot image: /boot/memtest86+_multiboot.bin
done
Now at my end I have debian and have also some image for the grub boot screen hence its saying what its saying.