Archive for the ‘Tutorial’ Category

Flasheando mi WRT54GL v1.1 !!!

Saturday, July 19th, 2008

Exactamente, le cambié el firmware a mi Linksys!

Que pasos segui?

Que cuidados hay que tener?

  • El único cuidado que tuve fue…
    • Primero instalar el ‘mini‘ y después el ‘std
    • Después que instalé el ‘miniesperé 5 minutos antes de cliquear en “Continuar

Realmente la interfaz web esta mucho mejor, y trae muchisimas funcionalidades extra! Además de la flexibilidad de poder instalar cualquier paquete que quieras! :)

Instalación y configuración de OpenSSH en GNU/Linux (Debian)

Tuesday, July 3rd, 2007

Vayamos al grano, para instalar en debian, adivinen que tienen que hacer?

(Logeado como root…)

  • apt-get install openssh-server

…y voilá! Ya esta instalado.

Ahora nos falta configurarlo adecuadamente…

Acá muestro mi archivo de configuración (/etc/ssh/sshd_config) pero un poco modificado (porque tengo otras cosas que no viene al caso), asi que puede ser que no funque porque no lo probé, pero no creo. Debería andar.

# What ports, IPs and protocols we listen for
Port 22

# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2

# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 30
PermitRootLogin no
StrictModes yes

MaxStartups 3

#Version 2 only
PubkeyAuthentication yes# Don’t read the user’s ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable tunnelled clear text passwords
PasswordAuthentication no

X11Forwarding no
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
KeepAlive yes
#UseLogin no
#MaxStartups 10:30:60
Banner /etc/issue.ssh

Subsystem sftp /usr/lib/openssh/sftp-server

UsePAM yes

ClientAliveInterval 600
AllowGroups ssh

#Solo usamos IPv4
AddressFamily inet

###EOF

Voy a explicar lo que esta en negrita (que sería lo más relevante para mi)

  1. Protocol 2 <- Usar solamente el protocolo 2 de SSH (La primera version no es segura)
  2. PermitRootLogin no <- Más que claro. No se debería dejar logear a root. Creo que ni tengo que explicar porque.
  3. PasswordAuthentication no <- Hay que obligar a usar passwd’s
  4. AllowGroups ssh <- Solamente permitimos aquellos usuarios que pertenecen al grupo ssh

Un consejo que yo no utilicé pero debería empezar a utilizar:
UseDNS
<- Por lo que lei, es para anti spoofing. (además, suena lógico)

Bueno, esto lo escribi en 30′ asi que supongo que debe tener algun error… criticas sean bienvenidas!

* Edité lo que comentó Francisco

Mi firewall con iptables en linux

Tuesday, July 3rd, 2007

Debutamos!… arrancamos con un pequeño (¿tutorial?) firewall para linux, como no podía ser de otra manera utilizo iptables.
No importa que version de iptables tengas, esto debería andar (creo).

Para que quede claro como es la topología en mi casa:

{Internet} <— (Modem-Adsl) —-> (Switch) <—- (Linux)

Basicamente: Esta todo conectado al switch.
Aclaro que esto es un firewall para mi PC solamente, no actuo como router/gateway para
el resto de la red (que no la dibujé pero tmb estan conectados al switch).
Los servidores DNS me los dan dinámicamente mi ISP, por eso me fijo en el archivo
/etc/resolv.conf para saber cuales son.

Creo que por ahora es todo….
Mi firewall con iptables


#####
## Firewall by ^MaKaM^ (makam at makam dot org)
## Web: http://www.makam.org/
## Blog: http://blog.makam.org/
## Version 2.1.0
##

#####
##
## Este frw es MUY simple, no deja pasar casi nada.
## Solo las conexiones activas que pidió nuestra PC y
## las respuestas del servidor DNS.
## Este frw se tiene que activar DESPUES de levantar la ppp0
##
#####


IPTABLES=`which iptables`
INET="ppp0"
LAN="eth1"
SRC_TRABAJO="200.200.200.200/32"
NS=`grep "nameserver " /etc/resolv.conf | awk '{ print $2 }'`

## Reglas por defecto en cada tabla
# Por defecto, no aceptamos nada…
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
# Por defecto dejamos que salga cualquier cosa…
$IPTABLES -P OUTPUT ACCEPT

## Limpiamos….
$IPTABLES -F INPUT
$IPTABLES -F FORWARD
$IPTABLES -F OUTPUT
$IPTABLES -F -t nat

#Anti-Spoofing
$IPTABLES -A INPUT -i $INET -s 10.0.0.0/8 -j DROP
$IPTABLES -A INPUT -i $INET -s 192.168.0.0/24 -j DROP
$IPTABLES -A INPUT -i $INET -s 127.0.0.0/8 -j DROP

### Aca empieza la joda..
# Toda conexion que ya este establecida la acepto…
$IPTABLES -A INPUT -i $INET -m state –state ESTABLISHED,RELATED -j ACCEPT

# Acepto las peticiones de SSH desde mi trabajo…
$IPTABLES -A INPUT -i $INET -s $SRC_TRABAJO -dport 22 –syn -j ACCEPT

# Toda conexion que venga de la LAN la acepto…
$IPTABLES -A INPUT -i $LAN -s 10.1.0.0/8 -d 0/0 -j ACCEPT

# Toda conexion que venga de la interfaz de loopback la acepto…
$IPTABLES -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT

# Servidor DNS
# Acepto toda entrada del Servidor DNS…
# Como no tengo servidor dns fijo, me tengo que fijar en el que me dio mi ISP (Anteldata)
for ip in $NS; do
$IPTABLES -A INPUT -p udp -s $ip/32 –source-port 53 -d 0/0 -j ACCEPT
done