viernes, 29 de abril de 2011

Cual es mi ip publica el linux

root@morsian:~# apt-get install -y lynx && lynx -dump checkip.dyndns.org && lynx -dump checkip.dyndns.org | cut --delimiter=" " -f7

martes, 19 de abril de 2011

SQUID en debian squeeze 6.0

Definicion de proxy:Es un programa o dispositivo que realiza una actividad por otro, es una especie de intermediario. Una analogia podria ser: pedirle a una persona que le pida a otra (la cual no nos cae bien,) una birome.

Usualmente es utilizado el termino para referirse a un equipo/servidor que permite a los demas equipos de una empresa el acceso a internet. Esto ocurre obviamente cuando disponemos de una unica direccion ip publica.

Un PROXY CACHE es un servidor, en nuestro caso un linux el cual realiza la funcion de intermediario solicitando paginas web y las almacena para brindar en forma mas rapida a los clientes en un acceso futuro.

Un PROXY TRANSPARENTE combina un proxy con NAT, evitando configurar el proxy en forma manual en el internet explorer, firefox u otra aplicacion. Esto nos asegura que el usuario no pueda cambiar la configuracion localmente. El acceso a internet es enrutado hacia el proxy sin necesidad de onfigurar nada extra en los clientes.


apt-get install squid


cp -pf /etc/squid/squid.conf /etc/squid/squid.conf.orig


vim /etc/squid/squid.conf


#Puerto en el que escucha por defecto es el: 3128
http_port 8080

#Poner el nombre de host del server
visible_hostname morsa

#Errores de redireccion, por ejemplo Acceso Denegado, no se ha podido encontrar x pagina.
error_directory /usr/share/squid/errors/es-ar

#Directoryo donde se guardan los iconos
icon_directory /usr/share/squid/icons

#Usuario y grupo para el squid
cache_effective_user proxy
cache_effective_group proxy

#Memoria usada por squid, solemos poner la raiz cuadrada de la memoria total, 1Gb de mem -> sqrt(1024)=32Mb
cache_mem 32 MB

#Porcentaje de minima capacidad, permanece en el cache hasta que se llene el minimo
cache_swap_low 95

#Porcentaje de maxima capacidad para guardar datos en el cache. Empieeza a borrar la cache cuando llegue al 100% de capacidad asignada al squid
cache_swap_high 100

#Tamano maximo que guardamos en cache
maximum_object_size 4096 KB

#Path de ubicacion del chache
#El aufs aumenta el rendimiento del squid (multithread), por default es ufs
#El 1024 indica los Mb que tendremos del disco para la cache (como maximo)
#El 16 y 256 indican la forma de organizar la cache, no suelen cambiarse.
cache_dir aufs /var/spool/squid 1024 16 256

#Patrones de refresco
#Determinan que archivos no deben volver a solicitarse a la url y los separa de los que si deben actualizarse.
#Uso: refresh_pattern [-i] regex minimo porcentaje maximo [opciones]
#Lo que aparece entre [] es opcional, -i no distingue entre MAYUSC y minusc.
#El regex es una expresion regular
#El min es el tiempo en minutos que se considera actualizado.
#El porcentaje es la vida promedio del objeto.
#El max es el tiempo maximo en minutos que se considera actualizado
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320

#Ips permitidas para navegar:
acl permitidos src "/etc/squid/permitidos"
http_access allow permitidos

#Bloquear sitios por ips:
acl NoFacebook_ip src "/etc/squid/de_ips_prohibidos.txt"
acl no_facebook dstdomain "/etc/squid/sitios_denegados.txt"
http_access deny no_facebook NoFacebook_ip

#Bloquear videos, deja entrar a youtube, pero no muestra el video. Aparece mensaje: An error ocurred, try again later.
acl noVideo rep_mime_type ^.*video.*
http_reply_access deny noVideo

#Bloquear radios/audio
acl noRadio rep_mime_type ^.*audio.*
http_reply_access deny noRadio

#Pid del proceso del squid
pid_filename /var/run/squid.pid

#Bloquear sitios por mac (solo en la misma subnet):
acl no_mac arp 00:17:A4:AB:CD:CD
acl no_facebook dstdomain "/etc/squid/sitios_denegados.txt"
http_access deny no_facebook no_mac

#Parametro para indicar que las paginas que tengan ciertos caracteres no se almacenen en cache
#Agregar paginas como hotmail, tienen problemas para autenticar a traves de squid
#Tambien podemos agregar paginas locales, por ejemplo el server se llama morsa agregamos morsa detras de hotmail
hierarchy_stoplist cgi-bin ? hotmail morsa

#Restringir pagina web que tenga en el nombre el contenido TUBE (youtube, pornotube, etc) a todos:
acl noLogmein url_regex -i ^http://.*logmein.*\.com\*
acl noLogmein url_regex -i ^http://.*youtube.*\.com
http_access deny noLogmein

#Emula logs del webserver, activarlo cuando utilizamos Webalaizer
emulate_httpd_log on

#Cuanto tiempo permanece el objeto en el cache
reference_age 1 month

#Correo que me muestra a quien contactar en algunos casos, por ejemplo cuando deniega una pagina web a un user.
cache_mgr morsa@redes-seguridad.com.ar

#####
#LOGS
#####

#Indica los links accedidos y/o denegados
cache_access_log /var/log/squid/access.log

#Info del cache
cache_log /var/log/squid/cache.log
#Objetos sacados del cache, se recomienda deshabilitar, ocupa mucho espacio
cache_store_log /var/log/squid/store.log

####
#PID
####
#Donde almacena el pid del proceso del squid
pid_filename /var/run/squid.pid


vim /etc/squid/permitidos

192.168.1.151/255.255.255.255 #La ip de mi pc para que pueda navegar

vim /etc/squid/de_ips_prohibidos.txt

192.168.1.151/255.255.255.255

vim /etc/squid/sitios_denegados.txt

.facebook.com

/etc/init.d/squid restart


Redirigir una pagina de acceso denegado a la de la empresa u otra:

cp -pf /usr/share/squid/errors/es-ar/ERR_ACCESS_DENIED /usr/share/squid/errors/es-ar/ERR_ACCESS_DENIED.orig


vim /usr/share/squid/errors/es-ar/ERR_ACCESS_DENIED #0 el tiempo en redirigir y www.google.com hacia a donde


html
head
META HTTP-EQUIV="Refresh" CONTENT="0;URL=http://www.google.com" meta http-equiv="Content-Type" content="text/html; charset=utf-8"

head
html


Si queremos que el squid autentique con usuarios de OpenLdap seguimos los pasos del siguiente enlace:
http://www.redes-seguridad.com.ar/2013/05/autenticar-squid-27-con-openldap.html


FUENTES:
http://wiki.xtech.com.ar
http://www.colnodo.apc.org
http://es.wikipedia.org
http://www.squid-cache.org
http://wiki.debian.org/

lunes, 18 de abril de 2011

Vi Mejorado (vim)

Instalar vim:

apt-get install vim

Comandos:


Eliminar líneas comentadas con "#":
:g/^#/d

Descomentar el # de la linea 3 a la 8 con vim:
:3,8 s/#/ /g

Descomentar el ; desde la linea 10 hasta el final del archivo:
:10,$ s/;/ /g

Ir a la linea 20:
:20

Ir al final del archivo:
:$

Ayuda sobre vim:
:help

Historial de comandos en vim:
:history

Ordena el archivo:
:sort

Ordena en orden inverso:
:sort!

Borrar primer columna de caracteres:
ctrl+v
G
d

Borrar las primer palabra de cada linea: (todas deben tener al menos 1):
ctrl+v
G
1w
d

Borrar la palabra:
dw

Ir dos palabras adelante:
2w

Pasar todas las lineas de minusculas a mayusculas:
ctrl+v
G
$
gU

Para lo mismo que antes pero a minusculas:
ctrl+v
G
$
gu

Completa la palabra, debe existir en el archivo antes, si existe más de una da para elegir:
ctrl+n

Editar el vimrc de root:

vim /root/.vimrc

Backup de los archivos modificados:
#set nobackup # Por defecto
set backup
set backupdir=/root/vimBackup

Historial de comandos de vi (lineas buffereadas 100):
set history 100

Resaltar palabras buscadas:
set hlsearch

Mostrar el archivo en colores:
syntax on

Quitar beep:
set vb

Cambiar colores para comentarios:
#highlight Comment ctermfg=Green
#highlight Comment ctermfg=LightCyan
#highlight Comment ctermfg=DarkBlue # Por defecto
highlight Comment ctermfg=Blue

En busquedas omite MAY y min (Buscar en minúsculas):
set ic

Cambiar cantidad de espacios del TAB a 10:
set tabstop=10

Indica filas y columnas totales que posee el archivo:
set ruler

Keys Authentication

1) Descargar puttygen de: http://the.earth.li/~sgtatham/putty/latest/x86/puttygen.exe


2) Lo ejecutamos, seleccionamos en Parameters: SSH-2 RSA, de 1024 y luego clickeamos sobre Generate. Movemos el mouse dentro de la ventana del putty key generator hasta que se completa la barra azul.


3) Agregamos una passphrase y la confirmamos, luego guardamos la "key publica" y la "key privada".


4) Abrimos la "key publica" con un procesador de texto, si usamos windows abrirlo con el wordpad en vez del notepad y obtendremos algo como:

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20110418"
AAAAB3NzaC1yc2EAAAABJQAAAIBF8pQ+Sd8/lkrCkFIiTnMmjyRJ6HGL4pIJJBxw
e9djuT9ZbocsQ/MHeWM3/WJJUrQgP1QSS1w8CnYR3auGAb37yYXumYrD3oQ7ij4B
vKKQgSQVEksRmdzx0oMsmqDcDOjKn79rSlI9fK8wJPDvFeTH07M/YTpL97Cwu74u
/tN9CQ==
---- END SSH2 PUBLIC KEY ----


5) Eliminamos la primer y ultima linea, quedaria asi:
Comment: "rsa-key-20110418"
AAAAB3NzaC1yc2EAAAABJQAAAIBF8pQ+Sd8/lkrCkFIiTnMmjyRJ6HGL4pIJJBxw
e9djuT9ZbocsQ/MHeWM3/WJJUrQgP1QSS1w8CnYR3auGAb37yYXumYrD3oQ7ij4B
vKKQgSQVEksRmdzx0oMsmqDcDOjKn79rSlI9fK8wJPDvFeTH07M/YTpL97Cwu74u
/tN9CQ==


6) Luego reemplazamos la línea del Comment por ssh-rsa, finalmente debe quedar así:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBF8pQ+Sd8/lkrCkFIiTnMmjyRJ6HGL4pIJJBxwe9djuT9ZbocsQ/MHeWM3/WJJUrQgP1QSS1w8CnYR3auGAb37yYXumYrD3oQ7ij4BvKKQgSQVEksRmdzx0oMsmqDcDOjKn79rSlI9fK8wJPDvFeTH07M/YTpL97Cwu74u/tN9CQ==


7) Editamos el .ssh del usuario con el cual queremos loguearnos, copiamos y pegamos la clave generada, luego le damos los permisos correspondientes, modificamos la config del ssh y reiniciamos lo reiniciamos:

vim /root/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBF8pQ+Sd8/lkrCkFIiTnMmjyRJ6HGL4pIJJBxwe9djuT9ZbocsQ/MHeWM3/WJJUrQgP1QSS1w8CnYR3auGAb37yYXumYrD3oQ7ij4BvKKQgSQVEksRmdzx0oMsmqDcDOjKn79rSlI9fK8wJPDvFeTH07M/YTpL97Cwu74u/tN9CQ==

chmod 600 /root/.ssh/authorized_keys

vim /etc/ssh/sshd_config
PasswordAuthenticacion no

/etc/init.d/ssh restart


8) Abrimos el putty, en el panel izquierdo en la solapa conexión -> SSH -> Auth, vamos al panel derecho y seleccionamos Browse y buscamos la ubicación del archivo de la key private modificada. Al loguearnos nos aparecerá algo como:

Authenticating with public key "rsa-key-20110418"
Passphrase for key "rsa-key-20110418":

viernes, 1 de abril de 2011

Samba en debian squeeze 6.0

Instalamos Paquetes:

apt-get install samba smbfs smbclient
#Especificamos el grupo de trabajo o dominio
Workgroup/Domain Name: MI-DOMINIO.NET



Guardamos el archivo de configuracion original:

cp -pf /etc/samba/smb.conf /etc/samba/smb.conf.orig



Editamos la configuracion:

vim /etc/samba/smb.conf
#Al final del archivo agregamos:
[Compartida]
comment = Compartida #Nombre de la carpeta compartida
browseable = yes #Se puede browsear
path = /Compartida #Ruta de la carpeta compartida
read only = no #Colocamos que no sea de solo lectura
create mask = 0700 #Creamos la mascara



Creamos la carpeta y asignamos permisos:

mkdir /Compartida
chmod 0777 /Compartida



Agregamos usuario:

adduser morsa
Enter new UNIX password:
Retype new UNIX password:
Is the information correct? [Y/n] Y



Asignamos password para usuario de smb:

smbpasswd -a morsa
New SMB password:
Retype new SMB password:
Added user morsa.