Script de notificacion mail

Cuando tenia el otro movil me solia activar bluetooth para notificarme con mensajes ciertos eventos importantes, como cuando logea Angela o cuando habia tareas interesantes en el trabajo. Ahora con el nuevo movil como tengo internet everywhere 😀 he pensado que seria mejor tener notificaciones por mail. Se ejecuta pasandole por parametro el mensaje que se quiere enviar. Primero se prueba a enviar un txt con dicho mensaje por bluetooth a una MAC concreta por un canal concreto, y si falla se envia por mail a user@mail.con con el subject Notify. Lo malo es que la notificacion por mail tarda mucho… si no recuerdo mal de 2 a 3min ya que el movil no esta cada segundo monitorizando si tiene mail y el propio programa tarda mucho en enviar el mail. Tuve que editar la configuracion de sendmail y poner el smtp de gmail que es donde envio notificaciones… Por ahora no he encontrado ninguna utilidad a esta notificacion por mail XDDD

#!/bin/bash

#Enviamos notificacion por bluetooth
echo $1 > ~/mensaje.txt
obexftp -b 00:00:00:00:00:00 -B 12 -p ~/mensaje.txt

#Si falla la enviamos por mail
if [ $? != 0 ]; then
echo $1 | mail -s "Notify" user@mail.com
fi

Ampliacion iptables

El otro dia me dio por poner firewall mas serio con iptables. Ya que usaba iptables para enrutar la conexion haciendo de router lo aproveche para tambien poner politicas a drop y aceptar solo algunas concretas… La info la saque de alguna web, copie lineas y adapte a mi iptables. No se si realmente funciona el firewall pero esto es lo que tengo ahora ^^U


#### SCRIPT DE CONFIGURACION DE IPTABLES ####
#!/bin/bash

# Dispositivo de red de internet
EXIF=»eth3″
# Dispositivo de red local
INIF=»CASA»

fail=0

[ -f /etc/default/rcS ] && . /etc/default/rcS
. /lib/lsb/init-functions

log_begin_msg «Aplicando Reglas de Firewall…»

## Borrado de reglas anteriores
iptables -F || fail=1
iptables -X || fail=1
iptables -Z || fail=1
iptables -t nat -F || fail=1

## Establecemos politica por defecto
iptables -P INPUT DROP || fail=1
iptables -P OUTPUT DROP || fail=1
iptables -P FORWARD DROP || fail=1
iptables -t nat -P PREROUTING ACCEPT || fail=1
iptables -t nat -P POSTROUTING ACCEPT || fail=1

# Marcar paquetes salientes con su ip de origen
iptables -t nat -A POSTROUTING -o $EXIF -j MASQUERADE || fail=1

############################SCRIPT NUEVO############################
# Deshabilitar broadcast
echo «1» > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts || fail=1

# Deshabilitar la redirección del ping
echo «0» > /proc/sys/net/ipv4/conf/all/accept_redirects || fail=1

# Registrar los accesos extraños, paquetes falseados, etc..
echo «1» > /proc/sys/net/ipv4/conf/all/log_martians || fail=1

# Anti-flooding o inundación de tramas SYN.
iptables -N syn-flood || fail=1
iptables -A INPUT -i $INIF -p tcp –syn -j syn-flood || fail=1
iptables -A syn-flood -m limit –limit 1/s –limit-burst 4 -j RETURN || fail=1
iptables -A syn-flood -j DROP || fail=1

# Guardar los accesos con paquetes fragmentados, recurso utilizado para tirar
# servidores y otras maldades (bug en Apache por ejemplo)
iptables -A INPUT -i $INIF -f -j LOG –log-prefix «Fragmento! » || fail=1
iptables -A INPUT -i $INIF -f -j DROP || fail=1
############################SCRIPT NUEVO############################

# Reenvio de IP
echo 1 > /proc/sys/net/ipv4/ip_forward || fail=1

# Aceptar paquetes para reenviar procedentes de la red local
iptables -A FORWARD -i $INIF -o $EXIF -j ACCEPT || fail=1

# Aceptar paquetes para reenviar procedentes de internet de conexiones ya establecidas
iptables -A FORWARD -i $EXIF -o $INIF -m state –state RELATED,ESTABLISHED -j ACCEPT || fail=1

############################SCRIPT NUEVO############################
# Operar en localhost sin limitaciones
iptables -A INPUT -i lo -j ACCEPT || fail=1
iptables -A OUTPUT -o lo -j ACCEPT || fail=1

# Permitimos que la maquina pueda salir a la web
iptables -A INPUT -p tcp -m tcp –sport 80 -m state –state RELATED,ESTABLISHED -j ACCEPT || fail=1
iptables -A OUTPUT -p tcp -m tcp –dport 80 -j ACCEPT || fail=1

# Y tambien a webs seguras
iptables -A INPUT -p tcp -m tcp –sport 443 -m state –state RELATED,ESTABLISHED -j ACCEPT || fail=1
iptables -A OUTPUT -p tcp -m tcp –dport 443 -j ACCEPT || fail=1

# Reglas necesarias para FTP pasivo y activo y SSH. Se permiten conexiones entrantes YA establecidas
iptables -A INPUT -p tcp -m tcp –sport 20:22 -m state –state RELATED,ESTABLISHED -j ACCEPT || fail=1
iptables -A OUTPUT -p tcp -m tcp –dport 20:22 -j ACCEPT || fail=1
iptables -A INPUT -p tcp -m tcp –sport 1024:65535 –dport 1024:65535 -m state –state ESTABLISHED -j ACCEPT || fail=1
iptables -A OUTPUT -p tcp -m tcp –dport 1024:65535 -m state –state NEW,RELATED,ESTABLISHED -j ACCEPT || fail=1

# Permitimos la consulta a un primer DNS
iptables -A INPUT -s 62.42.63.52 -p udp -m udp –sport 53 -j ACCEPT || fail=1
iptables -A OUTPUT -d 62.42.63.52 -p udp -m udp –dport 53 -j ACCEPT || fail=1

#Ahora para el amsn
iptables -A INPUT -p tcp -m tcp –dport 6891:6895 -j ACCEPT || fail=1
iptables -A OUTPUT -p tcp -m tcp –sport 6891:6895 -j ACCEPT || fail=1

# Barrera de backup por si cambiamos a modo ACCEPT temporalmente
# Con esto protegemos los puertos reservados y otros well-known
iptables -A INPUT -p tcp -m tcp –dport 1:1024 -j DROP || fail=1
iptables -A INPUT -p udp -m udp –dport 1:1024 -j DROP || fail=1
iptables -A INPUT -p tcp -m tcp –dport 1723 -j DROP || fail=1
iptables -A INPUT -p tcp -m tcp –dport 3306 -j DROP || fail=1
iptables -A INPUT -p tcp -m tcp –dport 5432 -j DROP || fail=1
############################SCRIPT NUEVO############################

# Se muestran los resultados
log_end_msg $fail

if [ $fail -eq 0 ]
then
log_success_msg «Verifique que lo que se aplica con: iptables -L -n.»
else
log_warning_msg «Se ha producido un error al aplicar alguna de las reglas»
fi

#### FIN SCRIPT DE CONFIGURACION DE IPTABLES ####