miércoles, 24 de febrero de 2016

Proxy transparente en squid3

Cambiamos la puerta de enlace a 192.168.1.163
Nos hacemos un ping a nostros mismos

-vamos a la ruta var/log/squid3------access.log para ver los accesos al servidor
-vamos a la ruta var/spool/squid3----para ver la cache, es decir, temporales de los sitios que se visitan.

Ahora paramos el servicio de squid con: sudo service squid3 stop

abrimos otro terminal y escribimos: squid3 -z ( y si no funciona sudo chmod a+w  /var/spool/squid3) para darle permisos

Una vez dentro :
Squid normally listen:

ponemos: http-port 192.168.1.163:3128 transparent
Descomentamos #de_cache PEM 256MB
Descomentamos #de cache-dir ufs /var/spool/squid3 2048 16 256
Descomentamos  #de cache-effective -user por group
Cambiamos en half-close-clients off

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.163: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.163

# 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 > transparente163.txt

sudo  iptables-restore < transparente163.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é

Proxy de squid3


Primero abrimos el terminal de Ubuntu e instalamos squid3 con estas ordenes:
sudo apt-get install squid3 -y
sudo netstat -pluny | grep 3128
sudo service squid3 start
sudo gedit /etc/squid3/squid.conf y hacemos una copia de seguridad del original por si acaso
en el apartado de ALL TYPES hay que configurarlo mas o menos en las lineas 600-900

CONFIGURACION RECOMENDADA PRIMERA

# Recommended minimum configuration:
#
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1

#Set ai1
acl ai1 src 192.168.1.0/24

acl SSL_ports port 443
acl Safe_ports port 80        # http
acl Safe_ports port 21        # ftp
acl Safe_ports port 443        # https
acl Safe_ports port 70        # gopher
acl Safe_ports port 210        # wais
acl Safe_ports port 1025-65535    # unregistered ports
acl Safe_ports port 280        # http-mgmt
acl Safe_ports port 488        # gss-http
acl Safe_ports port 591        # filemaker
acl Safe_ports port 777        # multiling http
acl CONNECT method CONNECT


http_access allow manager localhost
http_access deny manager

# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports



#Add related http_access before localhost
http_access allow ai1
http_access allow localhost

# Squid normally listens to port 3128
http_port 3128


#Setup cache
cache_dir ufs /var/cache/squid 10000 16 256
cache_mem 600 MB
cache_swap_low                  70
cache_swap_high                 85
maximum_object_size             32768 KB

ipcache_size                    1024
ipcache_low                     90
ipcache_high                    95
fqdncache_size                  1024

#Add visible_hostname if you need
visible_hostname ai1pc100.ai1.local


SEGUNDA CONFIGURACION RECOMENDADA

sudo apt-get update
sudo apt-get upgrade


sudo apt-get install squid3 -y


sudo cp /etc/squid3/squid.conf /etc/squid3/squid.conf.original
sudo chmod a-w /etc/squid3/squid.conf.original


sudo gedit /etc/squid3/squid.conf

#    WELCOME TO SQUID 3.3.8
#    ----------------------------

# Recommended minimum configuration:
#

# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
#acl localnet src 10.0.0.0/8    # RFC1918 possible internal network
#acl localnet src 172.16.0.0/12    # RFC1918 possible internal network
#acl localnet src 192.168.0.0/16    # RFC1918 possible internal network
#acl localnet src fc00::/7       # RFC 4193 local private network range
#acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines

acl ai1 src 192.168.1.0/24

acl SSL_ports port 443
acl Safe_ports port 80        # http
acl Safe_ports port 21        # ftp
acl Safe_ports port 443        # https
acl Safe_ports port 70        # gopher
acl Safe_ports port 210        # wais
acl Safe_ports port 1025-65535    # unregistered ports
acl Safe_ports port 280        # http-mgmt
acl Safe_ports port 488        # gss-http
acl Safe_ports port 591        # filemaker
acl Safe_ports port 777        # multiling http
acl CONNECT method CONNECT

#  TAG: http_access
#    Allowing or Denying access based on defined access lists
#
#    Access to the HTTP port:
#    http_access allow|deny [!]aclname ...
#

#
# Recommended minimum Access Permission configuration:
#
# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

# Only allow cachemgr access from localhost
http_access allow localhost manager
http_access deny manager


# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
#http_access allow localnet
http_access allow localhost
http_access allow ai1

# And finally deny all other access to this proxy
http_access deny all


# NETWORK OPTIONS
# -----------------------------------------------------------------------------

#  TAG: http_port
#    Usage:    port [mode] [options]
#        hostname:port [mode] [options]
#        1.2.3.4:port [mode] [options]
#

# Squid normally listens to port 3128
http_port 3128


sudo service squid3 start
[sudo] password for profes:
squid3 start/running, process 18260

sudo service squid3 status
squid3 start/running, process 18260

Instalar Axigen en Ubuntu

Lo primero que debemos hacer es quitar Postfix para evitar conflictos con: sudo apt-get remove postfix

Seguido escribimos estos comandos:
 cd Escritorio

 sudo sh axigen-9.0.2 i386.deb.run

 Pulsamos enter y en las condiciones pulsamos q

 Aceptamos la licencia y pulsamos tes

 cogemos la primera opción la de instalar, si en el caso de que nos salie xterm, ponemos: sudo /opt/axigen/bin/axigen-cfg-wizard)

 password Smr2016 y en Validate ponemos admin

 primary domain: ai1pc113.local y password Smr2016

Marcamos las 3 primeras cruces y le damos a next
 en  las siguientes donde pone eth0 debe poner nuestra IP (163)

pop3
Mail
SMTP

13- Seleccionamos las dos cruces

14- Yes and OK y OK

15- sudo service axigen start / sudo /etc/init.d/axigen start.

16- Para entrar solo tenemos que poner la IP :9000 para administrarlo
usuario y contraseña: admin/Smr2016

17- ponemos nuestra IP y puertos Smtp 25

18- Para Webmail 2095

Instalación cliente MailX

Intentamos instalar el mailx con este comando:

Instalación de cliente MUA mailx

sudo apt-get install mailx
sudo apt-get install mailutils

y a continuación cogemos el heirloom:

sudo echo "Cuerpo del mensaje de correo electrónico" | mail -s "asunto prueba 1" sersmr1516@gmail.com

mail

Heirloom mailx version 12.5 6/20/10.  Type ? for help.
"/var/mail/profes": 1 message 1 new
>N  1 Mail Delivery Syst Sun Jan 19 08:01   83/3101  Undelivered Mail Returned
? 1
<sersmr1314@gmail.com>: host gmail-smtp-in.l.google.com[173.194.67.26] said:
    550-5.7.1 [95.18.83.198] The IP you're using to send mail is not authorized
    to 550-5.7.1 send email directly to our servers.


Correo Sobre este caso practico:

Con axigen parado

Correo local en linux:

sudo apt-get install postfix

profes@pc2007:~$ sudo service postfix status
 * postfix is running


sudo apt-get install mailx
sudo apt-get install mailutils

profes@pc2007:~$ mailx
No se puede abrir el buzón /var/mail/profes: Permiso denegado
No hay correo para profes


profes@pc2007:~$ mailx profes
Cc:
Subject: Prueba1
Hoy es jueves.
.

Control-d
profes@pc2007:~$

profes@pc2007:~$ mailx profes
Cc:
Subject: Prueba2
Hay que actualizar el blog.
.

Control-d
profes@pc2007:~$

profes@pc2007:~$ mailx

profes@pc2007:~$ sudo echo "Cuerpo del correo electrónico" | mail -s "Asunto" sersmr1516@gmail.com

gmail devuelve el correo o no contesta

Mercury

Abrimos el instalador:
 Setup
 New Installation
 No Netware support
 C:\Servidores\Locales\MERCURY
 C:\PMAIL No pegusus mail integration
 C:\ServidoresLocalesMERCURY\MAIL y ok accept this directy
 Marcamos las 3 primeras casillas de verificación y pulsamos OK
 Seleccionamos Install mercury C
 Escribimos 192.168.1.163
                       admin
                       smtp.ai1pc163.local
 Pulsamos en normal
 OK continue
 Create a program y pulsamos Install Mercury/32
 Continue
 Done
 Exit

Mensaje a/desde gmail con usuario y password encriptadas en base64

Previamente encriptamos o codificamos con base64,:

echo miusuario@gmail.com | base64
c2Vyc21yMTIxM0BnbWFpbC5jb20K

echo mipassword | base64
bWlwYXNzd29yZAo=

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

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

EHLO smtp.gmail.com
AUTH LOGIN
w7VyctmkMTIxMoBnb76pbC5jb2fK
xpluYXNzdf8yZA3=
MAIL FROM:<ivan.por.97@gmail.com>

rcpt to: <ivan.por.97@gmail.com>

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

.

Mensaje desde Telnet

Si el servidor de destino está creado por nosotros deberemos añadir los servidores a nuestro archivo hosts.

Primero entramos en el bloc de notas como administrador
Seguido abrimos el fichero hosts ubicado en C:Windows/system32/drivers/etc
Ahora escribimos lo siguiente para el servidor del profesor:
192.168.1.100......ai1.local
192.168.1.100......smpt.ai1.local
192.168.1.100......pop3.ai1.local

*En caso de querer usar el de un compañero de clase escribimos esto, siendo xx el número de equipo:
192.168.1.1xx.....ai1pc1xx.local
192.168.1.1xx.....smtp.ai1pc1xx.local
192.168.1.1xx.....pop3.ai1pc1xx.local

Con esto finalizamos la edición del archivo.
Desde el cmd escribimos las siguientes líneas:
telnet smtp.ai1.local 25
HELO ai1pc113
MAIL FROM:<ivan@ai1.local>
RCPT TO: <mariano@ai1.local>
DATA
SUBJECT: Mail desde Telnet
FROM: ivan@ai1.local
TO: mariano@ai1.local
Aquí el asunto
Finalizamos el mensaje escribiendo intro,punto,intro