miércoles, 24 de febrero de 2016

Squid3 + IPTABLES (Apuntes)

SQUID3

sudo service squid3 stop
[sudo] password for profes:
squid3 stop/waiting

crear sus directorios de caché:
sudo squid3 -z

sudo gedit /etc/squid3/squid.conf

3128 es el puerto de Squid y debemos indicar la dirección IP del servidor

http_port  192.168.1.150:3128 transparent


Si nuestra máquina tiene suficiente memoria, le quitamos la almohadilla a la opción cache_men, y utilizamos un valor coherente a nuestra máquina.

cache_mem 256 MB


La opción cache_dir y la ajustamos como en la siguiente línea, aunque aquí los valores de caché dependerán de nuestras preferencias y máquina.

cache_dir ufs /var/spool/squid3 2048 16 256


Y activamos las siguientes opciones, para asegurar que ningún usuario pueda acceder a los recursos gestionados por Squid.

cache_effective_user proxy
cache_effective_group proxy


Descomentamos la opción half_closed_clients y la dejamos en off, esto permitirá a Squid cerrar las peticiones de los clientes que se queden a medias cuando cierran la conexión TCP.

half_closed_clients off

Ahora limitamos el tamaño máximo de los objetos que se guardarán en memoria, esto puede ahorrarnos problemas con el tamaño de la caché. Descomentamos la siguiente línea y la dejamos en 1024 KB.

maximum_object_size 1024 KB

También vamos a indicar cuando debe Squid vaciar la caché, esto nos permitirá un mejor mantenimiento. Descomentamos las siguientes líneas.

cache_swap_low 90
cache_swap_high 95

En mi caso dejo los valores que nos dan por defecto. Como última modificación en las opciones de configuración de Squid, buscamos la opción memory_pools, la descomentamos y la ponemos en off.

memory_pools off

Esta opción, hará que Squid libere la memoria RAM que no esté utilizando.

Por último, tras la siguiente línea,

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

Añadiremos la regla para permitir el acceso a Internet de nuestra red interna.

acl ai1 src 192.168.1.0/24
http_access allow ai1

Y con esto ya podemos reiniciar Squid.

sudo service squid3 start

sudo service squid3 status

IPTABLES
Con sudo previamente:

# Limpia las reglas anteriores
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

sudo -i
echo 1 > /proc/sys/net/ipv4/ip_forward
exit

# Politica de filtro por defecto
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT

# Acceso ilimitado a loop back
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT


# Establece el servidor como router para la red
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0  -j ACCEPT

# acceso ilimitado a la LAN
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT


# Redirige las peticiones de la red interna hacia el proxy
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.1.150

# Redirige la entrada al proxy
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128


# Redirige la entrada al proxy
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128


Guarda y recupera reglas de iptables
sudo iptables-save > transparente150.txt

sudo  iptables-restore < transparente150.txt

cat /var/log/squid3/access.log
/etc/squid3/squid.conf
Squid (3) configuracion
/var/log/squid3/access.log
Squid (3) registro de accesos
/var/spool/squid3
Squid (3) cache_dir directorio de caché

IPTABLES

Sintaxis de IPTABLES

sudo iptables -L

sudo iptables -A INPUT -p TCP --dport 21 -j ACCEPT

sudo iptables -P INPUT ACCEPT

sudo iptables -A INPUT -i eth0 -p tcp --dport 1:1024 -j DROP

sudo iptables -P INPUT DROP

sudo iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

sudo iptables -L

sudo iptables -F 


IPTABLES Caso Practico 1

interconexión de redes privadas con redes públicas.

Comprobación o Instalación de iptables
iptables -V

iptables v1.4.21


https://localhost:10000/

Red  /     Cortafuegos Linux    /   iptables.up.rules

sudo gedit /etc/iptables.up.rules


IPTABLES Caso Practico 2

sudo iptables -L

sudo iptables -F

sudo iptables -P INPUT ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P FORWARD ACCEPT

sudo iptables -A INPUT -i lo -j ACCEPT

sudo iptables -A OUTPUT -o lo -j ACCEPT


sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -s 192.168.1.115 -p tcp --dport 22 -j ACCEPT


sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 1000 -j DROP


sudo iptables -A INPUT -i eth0 -p tcp --dport 1:1024 -j ACCEPT

sudo iptables -L

https://localhost:10000/

OPENSSL

Terminal Linux-Ubuntu
(Antes de comenzar, codificar usuario y contraseña en base64)

openssl s_client -crlf -connect smtp.gmail.com:465


220 mx.google.com ESMTP hu8sm5892850wib.6

EHLO smtp.gmail.com
250-smtp.gmail.com at your service, [92.59.71.113]
250-SIZE 35882577
250-8BITMIME
250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250 SMTPUTF8

AUTH LOGIN
334 VXNlcm7hbWU6
w7VyctmkMTIxMoBnb76pbC5jb2fK
334 UGFzc5dvcmQ6
xpluYXNzdf8yZA3=

235 2.7.0 Accepted

MAIL FROM:<s.lastra92@gmail.com>
250 2.1.0 OK i196sm27146371wmf.23 - gsmtp


rcpt to: <sersmr1516@gmail.com>
250 2.1.5 OK i196sm27146371wmf.23 - gsmtp

DATA
354  Go ahead i196sm27146371wmf.23 - gsmtp

Subject: prueba
Esto es el cuerpo del mensaje. Mandado con SMTP y OpenSSL desde gmail

Un saludo

.

250 2.0.0 OK 1453332614 i196sm27146371wmf.23 - gsmtp

quit
221 2.0.0 closing connection i196sm27146371wmf.23 - gsmtp
read:errno=0

miércoles, 10 de febrero de 2016

Telnet

Telne

Pruebas con Telnet en Windows



Pruebas con Telnet en Ubuntu
Enviamos desde Terminal un mail de prueba a nuestra cuenta de correo:

Ahora comprobamos que el mensaje ha llegado al destino en GMAIL:

Aquí enviando un mensaje a la cuenta del profesor, sersmr1516@gmail.com

viernes, 15 de enero de 2016

Configuracion del Cliente de Correo Windows Live Mail

Configuracion del Cliente de Correo Windows Live Mail

Vamos a aprender a configurar el Cliente Windows Live Mail mediante dos modos:
- IMAP
- POP3

Antes de empezar la configuración debemos descargar el Windows Live Mail ya que Windows7 no lo trae instalado. Lo descargaremos desde la página oficial: http://windows.microsoft.com/es-es/windows/essentials

Una vez finalizada la instalación configuraremos el cliente para usarlo mediante IMAP. La configuración deberá quedar de la siguiente manera:

 
 Después nos autoenviaremos un mensaje para comprobar que funciona:
 




Y esta sería la configuración para POP3:


jueves, 17 de diciembre de 2015

Servicio FTP - Webmin - Desactivar anonymous

Servicio FTP - Webmin - Desactivar anonymous

 Entramos en Webmin y en el menú principal pinchamos en Servidores>vsftpd

Nos aparece este otro menu y pinchamos en el icono Anonymous FTP

Marcamos la casilla no y pinchamos el botón save changes

miércoles, 16 de diciembre de 2015

Servicio FTP - WEBMIN

Servicio FTP - WEBMIN

Instalación de Webmin y su módulo FTP

Primero nos descargamos de la página web de Webmin el programa y el módulo:


Una vez descargado, abrimos el terminal y ejecutamos el comando: sudo dpkg --install /home/alumno107/descargas/webmin_1.770_all.deb

NOTA: la instalación se realizará automáticamente en /usr/share/webmi




Ahora abrimos el navegador y escribimos en la barra de direcciones: https://localhost:10000 y nos debería aparecer esta paǵina para loguearnos:


 Una vez logueados nos aparecerá la pantalla principal de webmin:

Ahora procedemos a instalar el paquete del servicio FTP
En el menú de la derecha pinchamos en Webmin>Configuración de Webmin
Nos aparecerá este menú y pinchamos en Módulos de Webmin.

Nos aparecerá un nuevo menú en el que elegimos el modo de instalación.
Pinchamos en el boton que aparecen tres puntos "..."
Y aparecera una ventana en la que debemos elegir el paquete a instalar, en nuestro caso esta en: /home/alumno107/descargas

 Una vez finalizado aparecerá esta pantalla:

martes, 15 de diciembre de 2015

Servidor FTP - Otros Usuarios

Servidor FTP - Otros Usuarios


Usuario en lista, usuarios locales del sistema limitado en shell o sesiones normales, ni anonymous

En este caso, para crear al nuevo usuario, usaremos un nuevo comando mas completo para crearlos: sudo useradd -g ftp -d /srv/ftp/usuarioftp -c "Usuario pra FTP" usuarioftp


Creamos su directorio con el comando: sudo mkdir /srv/ftp/usuarioftp

Cambiamos los permisos y el propietario de la carpeta del usuario:
sudo chmod -R 777 /srv/ftp/usuarioftp
sudo chown usuarioftp:ftp /srv/ftp/usuarioftp


Asignamos la contraseña al usuario: sudo passwd usuarioftp

Creamos la carpeta ftp: sudo mkdir /bin/ftp
Y comprobamos con: ls

Modificamos el archivo shells: sudo gedit /etc/shells
Añadimos /bin/ftp al final de la lista y nos quedará así:

Hacemos:
sudo touch /etc/vsftpd.userlist
sudo gedit /etc/vsftpd.userlist

Y añadimos al usuario mariano100 a la lista

Ejecutamos el comando: cat /etc/passwd
Y vemos que al final nos aparece: usuarioftp:x:1003:126:Usuario para FTP:/srv/ftp/usuarioftp:

Por último hacemos: sudo gedit /etc/vsftpd.conf
Introducimos:
userlist_file=/etc/vsftpd.userlist
userlist_enable=YES
userlist_deny=NO


lunes, 14 de diciembre de 2015

Servidor FTP - Enjaular Usuarios

Servidor FTP - Enjaular Usuarios


 Enjaulando usuarios conseguimos que no puedan salir de su carpeta personal /home/usuario
Podemos hacerlo de tres maneras las cuales haremos ahora:

1- Todos los usuarios locales quedan enjaulados por defecto.

Hacemos sudo gedit vsftpd.conf para modificar el fichero vsftpd.conf
Y modificamos las siguientes directrices:
chroot_local_user=YES
chroot_list_enable=NO

(Después reiinicamos el servidor para que los cambios surjan efecto sudo service vsftpd restart)
REQUISITO, quitar el permiso de escritura en el directorio de inicio del usuario.
chmod a-w /home/alumno100

2- Los usuarios locales estan por defecto sin enjaular. Se enjaulan los de la lista.

Hacemos sudo gedit vsftpd.conf para modificar el fichero vsftpd.conf
Y modificamos las siguientes directrices:
chroot_local_user=NO
chroot_list_enable=YES

Y para activar quitamos la almohadilla de comantario a la directriz:
chroot_list_file=/etc/vsftpd.chroot_list


Para crear la lista que utilizaremos después usamos el comando: sudo touch /etc/vsftpd.chroot_list
Despues hacemos un dir para comprobar que se ha creado.

Por último para editar la lista en la que escribiremos los usuarios que queremos enjaular usamos el comando: sudo gedit /etc/vsftpd.chroot_list
Aparecerá el fichero y escribimos el nombre del usuario a enjaular en este caso mariano100


3- Usuarios locales enjaulados por defecto. Se liberan los de la lista.

Hacemos sudo gedit vsftpd.conf para modificar el fichero vsftpd.conf
Y modificamos las siguientes directrices:
chroot_local_user=YES
chroot_list_enable=YES

Y para activar quitamos la almohadilla de comantario a la directriz:
chroot_list_file=/etc/vsftpd.chroot_list

Por último para editar la lista en la que escribiremos los usuarios que queremos liberar usamos el comando: sudo gedit /etc/vsftpd.chroot_list
Aparecerá el fichero y escribimos el nombre del usuario a liberar en este caso mariano100

Configurar Servidor FTP - Modificando el archivo vsftpd.conf

Para configurar nuestro servidor FTP, debemos modificar el archivo vsftpd.conf el cual se encuentra en el directorio: /etc/vsftpd.conf
Despues de cada modificacion del archivo, debemos reiniciar el servidor para que los cambios surjan efecto con el siguiente comando: sudo service vsftpd restart

Modificando el mensaje de bienvenida al servidor FTP

Quitamos la almohadilla de la entrada write_enable=YES para que los usuarios puedan crear carpetas.


Pruebas en clase:
- Conectarnos con usuario anonymous al FTP del compañero:

Iniciamos FTP con la IP del otro equipo: ftp 192.168.1.108
Vemos que aparece el nuevo mensaje de bienvenida pero no podemos loguearnos con anonymous

- Crear carpeta 'desdeFTP' en los directorios: /home/sergio107  ,  /home  y  /

Nos logueamos en el servidor ai1pc108: ftp 192.168.1.108
Utilizamos nuestra cuenta, en este caso: "sergio107"
Y creamos la carpeta "desdeFTP" en el directorio personal: /home/sergio107

Hacemos un dir para comprobar que se ha creado:

Intentamos crear la carpeta "desdeFTP" en el directorio home, pero no tenemos permiso: 


Intentamos crear la carpeta "desdeFTP" en el directorio raiz /, pero no tenemos permiso:


 - Subir y bajar un archivo a la carpeta remota /home/sergio107



  - Activar el usuario anonymous

Editamos el archivo vsftpd.conf. Buscamos la directriz anonymous_enable=NO y para activarla. Cambiamos el NO por YES. Debería quedar así: anonymous_enable=YES

Ahora comprobamos si funciona logueandonos como anonymous.

- Creacion del directorio incoming

Creamos el directorio /srv/ftp/incoming: sudo mkdir /srv/ftp/incoming
Modificamos los permisos: sudo chmod 777 /srv/ftp/incoming
Cambiamos al propietario por ftp: sudo chown ftp /srv/ftp/incoming
Cambiamos el grupo por ftp: sudo chgrp ftp /srv/ftp/incoming


Comprobamos si se ha creado y si tiene los permisos