Archivo

Archivo para la Categoría "Seguridad"

Squid Datos

noviembre 18, 2010 2 comentarios

Generar Claves de usuarios para autenticación
—————————————————–
Crear archivo claves

htpasswd /etc/squid/claves usuario

Extensiones a Bloquear
—————————-

root@xxxxx:/etc/squid# cat blocks.files.acl
#\.[Ee][Xx][Ee]$
#\.[Aa][Vv][Ii]$
#\.[Mm][Pp][Gg]$
#\.[Mm][Pp][Ee][Gg]$
#\.[Mm][Pp]3$
#\.[Jj][Pp][Gg]$
#\.[Ii][Ss][Oo]$

Sitios Denegados
———————-
root@xxxxxxx:/etc/squid# cat sitiosdenegados
#www.clarin.com
#www.youtube.com
#www.youtube.es
#www.minutouno.com.ar

Categorías:Seguridad

squid.conf

noviembre 18, 2010 6 comentarios

root@xxxxxx:/etc/squid# cat squid.conf
###Acelerador WEB Proxy cache#################################################
http_port 3128 transparent

#http_port 3128 transparent
icp_port 3130

#################Agrego para proxy reverso acelerador##########################
#hierarchy_stoplist cgi-bin ?

#acl QUERY urlpath_regex cgi-bin \?

#no_cache deny QUERY

#debug_options ALL,1 33,2 28,9
################################################################################

##Utiliza autenticacion modulo ncsa_auth htpasswd /etc/squid/claves usuario###
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/claves

cache_swap_low 90
cache_swap_high 95
maximum_object_size 4096 KB

cache_dir ufs /var/spool/squid 3000 16 256

cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
client_netmask 255.255.255.0

###ACL##########################################################################
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255

#acl mnigro src 192.168.130.155/255.255.255.255
acl red130 src 192.168.130.0/255.255.255.0
acl red131 src 192.168.131.0/255.255.255.0
###colocar ip en este archivo
#acl ip-full src “/etc/squid/full”

###Sitios denengados############################################################
acl sitiosdenegados url_regex “/etc/squid/sitiosdenegados”

###Extenciones#Bloqueadas#######################################################
acl blockfiles url_regex -i “/etc/squid/blocks.files.acl”

##Utiliza autenticacion creada con htpasswd /etc/squid/claves usuario###########
acl password proxy_auth REQUIRED

acl SSL_ports port 443 563 5190 5222
acl Safe_ports port 80 21 443 563 70 210 1863 1025-65535
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

#Default configuration:
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
###REGLAS#####Permisos##########################################################
http_access allow localhost
http_access allow red130 password !sitiosdenegados !blockfiles
http_access allow red131 password !sitiosdenegados !blockfiles
#http_access allow mnigro password !sitiosdenegados !blockfiles

###############################################################################
# DELAY POOL PARAMETERS (all require DELAY_POOLS compilation option)

###HORARIOS#Aplican Delay polls##en delay access entensiones###################
acl hora time 09:00-13:30
acl hora2 time 13:35-18:30

###Red interna#################################################################
acl redinterna url_regex -i 192.168

##Extensiones que queremos delimitar###########################################
acl extensiones url_regex .exe .zip .mp3 .vqf .avi .mpeg .mpe .qt .ram .rm .raw .wav .mov .iso

delay_pools 2

##Retardos para la red interna (sin retardos)##################################
delay_class 1 2
delay_parameters 1 -1/-1 -1/-1
##Retardos para las extensiones delimitadas (30000 = 30 kbps)#################
delay_class 2 2
delay_parameters 2 30000/100000 30000/100000

##Aplico las reglas###########################################################
delay_access 1 allow redinterna
delay_access 2 allow extensiones hora hora2
delay_access 2 deny extensiones !hora !hora2

###############################################################################

# Deny all blocked extension
#/usr/share/squid/errors/English/ERR_BLOCKED_FILES
deny_info ERR_BLOCKED_FILES blockfiles
http_access deny blockfiles
#http_access allow full
http_access deny all

Categorías:Seguridad

Squid Proxy

noviembre 18, 2010 Deja un comentario

Tabla de Contenidos [-+]

* 1 Instalación de squid
* 1.1 Archivos de configuración del squid
* 1.2 Configuración Squid
* 1.2.1 Parámetro http_port
* 1.2.2 Parámetro cache_mem
* 1.2.3 Parámetros cache_swap
* 1.2.4 Parámetros maximum_object_size
* 1.2.5 Parámetro hierarchy_stoplist
* 1.2.6 Parámetro visible_hostname
* 1.2.7 Parámetro cache_dir
* 1.2.8 Parámetro access_log
* 1.2.9 Parámetro cache_log
* 1.3 Reglas acl
* 1.3.1 Regla Tipo src
* 1.3.2 Regla Tipo dts
* 1.3.3 Regla Tipo srcdomain.
* 1.3.4 Regla Tipo dstdomain
* 1.3.5 Regla Tipo srcdom_regex
* 1.3.6 Regla Tipo dstdom_regex
* 1.3.7 Regla Tipo time
* 1.3.8 Regla Tipo url_regex
* 1.3.9 Regla Tipo urlpath_regex
* 1.3.10 Regla Tipo req_mime
* 1.3.11 Regla Tipo macaddress
* 1.3.12 Regla Tipo password
* 1.4 Control de Acceso
* 1.5 Configuración básica squid
* 1.5.1 Configuración de Navegadores Web.
* 1.6 Configuración Squid Transparente
* 1.6.1 Parámetro http_port
* 1.6.2 Reglas del Firewall
* 1.7 Squid con DMZ
* 1.7.1 Parámetros en squid
* 1.7.2 Reglas del Firewall
* 1.8 Configuración squid transparente con DMZ
* 1.9 Configuración de squid + DansGuardian + clamav
* 1.9.1 Instalación DansGuardian/clamav
* 1.9.2 Configuración de DansGuardian/Squid
* 1.9.3 Configuración de iptables
* 1.10 Herramientas de Análisis de trafico
* 1.10.1 Instalación/configuración SARG
* 1.10.2 Instalación/configuración CALAMARIS

Dentro de los servidores mas importantes que existen en GNU/Linux existe el servidor proxy, el cual se encarga de administrar el acceso a internet de tu red local y también es conocido como servidor intermedio, el servidor proxy que se ocupa en GNU/Linux en sus diferentes distribuciones es squid. Squid es un programa que hace cache de datos obtenidos de internet para poder optimizar recursos de banda ancha de internet, entre sus características mas importantes son:

* Proxy/cache: Proporciona servicio proxy a peticiones del tipo http, https y ftp a equipos que se encuentran en nuestra red local para que puedan acceder hacia internet y a su vez provee la funcionalidad de cache en el cual se almacenan localmente las paginas consultadas por los usuarios de forma que incrementa la rapidez de acceso a la información web y ftp.
* Proxy SSL: Es un servicio de squid compatible con SSL, con el cual se aceleran las peticiones y las peticiones hacia internet estarían cifradas.
* Jerarquias de Cache: Nuestro squid puede pertenecer a una jerarquía de cache que trabajan conjuntamente sirviendo peticiones. En este caso tendremos varios servidores squid resolviendo peticiones de una pagina web, si no la tiene registrada le pregunta a otro hasta que es encontrada la información.
* ICP, HTCP, CARP, Cache digests: Squid sigue los protocolos ICP, HTCP, CARP y caché digests que tienen como objetivo permitir a un proxy “preguntarle” a otros proxys caché si poseen almacenado un recurso determinado.
* Proxy Transparente: Puede ser configurado para ser usado como proxy transparente de manera que las solicitudes son enrutadas por medio de un reglas de firewall y sean enviadas al squid sin tener que configurar los clientes dentro de una red.
* WCCP: Permite interceptar y redirigir el trafico que recibe un router hacia uno o más proxys caché, haciendo control de la conectividad de los mismos.
* Control de Accesos: En este parte establecemos reglas de control de acceso, esto permite establecer políticas de denegación o aceptación.
* Aceleración de servidores HTTP: Cuando hacemos peticiones hacia intenet la información es almacenada en el cache del squid y si hay otra solicitud hacia el mismo recurso el squid le devolverá la información que tiene el squid en cache. Si hay algún cambio entonces la información deberá ser actualizada.
* SNMP: Permite activar el protocolo SNMP, esto permite la administración de red, que permite supervisar, analizar y comunicar información de estado entre una gran variedad de máquinas, pudiendo detectar problemas y proporcionar mensajes de estados.
* Caché de resolución DNS: Squid está compuesto también por el programa dnsserver, que se encarga de la búsqueda de nombres de dominio. Cuando Squid se ejecuta, produce un número configurable de procesos dnsserver, y cada uno de ellos realiza su propia búsqueda en DNS. De este modo, se reduce la cantidad de tiempo que la caché debe esperar a estas búsquedas DNS.

Instalación de squid
Para poder instalar instalar el servicio de squid tendremos que ejecutar los siguiente como usuario root.

[root@mantis ~]# yum install squid

Con este instalaremos nuestro servidor squid mas las dependencias que tenga.
Archivos de configuración del squid
Ya teniendo instalado nuestro servidor squid, ahora deberemos saber en donde se encuentra toda la configuración del mismo.

/etc/squid

Ya dentro de esta carpeta se encontraran varios archivos pero el mas importante es el squid.conf el cual se encarga de la configuración del servicio.

Por recomendación antes de editar un archivo de configuración de algún servicio, siempre deberemos hacer una copia de respaldo original del mismo.

[root@mantis squid]# cp squid.conf squid.conf-orig

Configuración Squid
Comenzaremos a configurar nuestro servidor squid.

[root@mantis squid]# vim squid.conf

Parámetro http_port

En este parámetro configuramos el puerto de escucha de nuestro servidor squid, por default es el puerto 3128, pero también puede ser utilizado el 8080.

http_port 3128

Parámetro cache_mem

Establece la cantidad de memoria RAM dedicada para almacenar los datos mas solicitados. Esta opción viene comentada por los cual la descomentaremos para darle un valor reservado en memoria RAM.

# cache_mem 8 MB

por

cache_mem 50 MB

El valor ya depende del administrador y de la carga que tenga el squid.

Parámetros cache_swap

Dentro del cache_swap, existen dos parámetros: cache_swap_low cache_swap-hight Con estos le indicamos a squid que mantenga los niveles del espacio del area de intercambio o también conocido como swap. Estos parámetros viene siempre desactivados por cual los buscaremos para activarlos.

#cache_swap_low 90
#cache_swap_high 95

por

cache_swap_low 90
cache_swap_high 95

Con esto decimos al squid que mantenga los niveles del espacio del area de intercambio entre 90% y 95%.

Parámetros maximum_object_size

Utilizamos esta directiva para indicar el tamaño maximo para los objetos a almacenar en la cache.

#maximum_object_size 4096 KB

por

maximum_object_size 10240 MB

Parámetro hierarchy_stoplist

Este parametro es util para indicar a squid que paginas que contengan ciertos caracteres no deben almacenarse en cache. Tambien se puden incluir como sitios de webmail y paginas locales en su red ya que no seria necesrario almacenarlas en el cache, esta opcion ya viene habilitada solamente tendremos que modificarle algunos datos de la misma.

hierarchy_stoplist cgi-bin ?

por

hierarchy_stoplist cgi-bin ? hotmail gmail yahoo escuela.factor.com.mx

Parámetro visible_hostname

Es el nombre del equipo, el nombre debe ser igual a los siguientes ficheros /etc/hosts y en /etc/sysconfig/network. Este parametro no viene configurado en el archivo de configuracion, tendremos que agregar y que en ocasiones pueda ser que nuestro servicio de squid no quiera iniciar.

visible_hostname mantis

Parámetro cache_dir

Con este parametro establecemos el tamaño que deseamos que tenga la cache en el disco, lo cual tendremos que habilitar y modificar el siguiente dato.

#cache_dir ufs /var/spool/squid 100 16 256

por

cache_dir ufs /var/spool/squid 700 16 256

Con esto establecemos el tamaño que deseamos que tenga la cache en el disco, se puede incrementar hasta el tamaño que desee el administrador, nosotros establecemos 700MB de cache con 16 directorios subordinados y 256 niveles cada uno.

Parámetro access_log

Especifica en que directorio se realizara el registro de accesos al squid, este parámetro es importante para definir un análisis de estadísticas con webalizer.

access_log /var/log/squid/access.log squid

Parámetro cache_log

Define en donde se almacenaran los mensajes del comportamiento de la cache de squid. Por default viene desactivado.

cache_log /var/log/squid/cache.log

Reglas acl
Una ACL es una definición de control de acceso, que utiliza squid para especifica mediante el, existen varios tipos de reglas ACL que comentaremos en la tabla.

src time
dts url_regex
srcdomain urlpath_regex
dstdomain req_mime
srcdom_regex macaddress
dstdom_regex password

Regla Tipo src
Esta reglas especifica una o varias dirección IP de origen o un segmento de red con su mascara de red. Nomenclatura:

acl [Nombre] src [Contenido]

Ejemplos:

1) El nombre de la regla es llamada redlocal la cual tendría asignada un segmento de red 192.168.1.0 a 24 bits.

acl redlocal src 192.168.1.0/24

2) Esta regla es llamada jefes de los cuales solamente se le proporcionan algunas IP de nuestro segmento de red.

acl jefes src 192.168.1.10 192.168.1.20

3) Esta regla que se llama sistemas en la cual manda a llamar al archivo permitidos el cual se encuentra en /etc/squid, contiene las IP de la gente que trabaja en el area de sistemas.

acl sistemas src “/etc/squid/permitidos”

Regla Tipo dts
Especifica una dirección de destino en formato IP y mascara o el nombre del sitio a visitar. Nomenclatura:

acl [Nombre] dts [Contenido]

Ejemplos:

1)En esta regla es llamada webmial la cual contendrá como destino final las direcciones de webmail mas conocidos de internet.

acl webmail dst http://www.gmail.com http://www.hotmail.com http://www.yahoo.com

2)En esta regla es llamada iplocales la cual contendrá algunas de la IP de nuestro segmento de red.

acl iplocales dst 192.168.1.109 192.168.1.103

Regla Tipo srcdomain.
La regla de tipo srcdomain se establecen permisos sobre dominios web de origen y se determina por la resolución de DNS inversa. Para poder ocupar esta regla es necesario contar un DNS local. Nomenclatura:

acl [Nombre] srcdomain [Contenido]

Ejemplo:

La regla repos indica que máquinas de nuestra red local están agregadas a la misma.

acl repos srcdomain repoubu.dyndns.net repodeb.dyndns.net repocen.dyndns.net

Regla Tipo dstdomain
La regla de tipo dstdomain se establecen permisos sobre dominios web de destino. Nomenclatura:

acl [Nombre] dstdomain [Contenido]

Ejemplo:

La regla permitos indicamos que dominios pueden estan hacia la salida a internet

acl pemitidos dstdomain .linuxparatodos.net .factor.com.mx .eluniversal.com .reforma.com

Regla Tipo srcdom_regex
Esta regla se encarga de evaluar palabras de entrada a nuestra red, ocupándose expresiones regulares. Nomenclatura:

acl [Nombre] srcdom_regex [Contenido]

Ejemplo:

La regla intranet análisis todas la posibles palabras de factor en mayúsculas y minúsculas de nuestra red local.

acl intranet srcdom_regex -i factor\..*

Regla Tipo dstdom_regex
Esta regla se encarga de evaluar palabras de salida, ocupándose expresiones regulares. Nomenclatura:

acl [Nombre] dstdom_regex [Contenido]

Ejemplo:

La regla google_todos análisis todas la posibles palabras de google en mayúsculas y minúsculas.

acl google_todos dstdom_regex -i google\..*

Regla Tipo time
Esta regla estable un tiempo limite de conexión dentro de una semana. Parámetros por días de la semana:

Parámetros Días
S Domingo
M Lunes
T Martes
W Miércoles
H Jueves
F Viernes
A Sábado

En el manejo de las horas se establece un horario de 24:00 hrs Nomenclatura:

acl [Nombre] time [días][horas]

Ejemplo:

La regla horario estable que esta habilitada los días Lunes a Viernes de 09:00 a 18:00 hrs.

acl horario time MTWHF 09:00-18:00

Esta regla es muy útil en las escuelas, universidades ya que con esto podemos tener un control de horarios en laboratorios.
Regla Tipo url_regex
Permite especificar expresiones regulares para comprobar dicha url, a este tipo de regla se recomienda tener un archivo en cual agregamos todas la palabras que nosotros creamos que importantes. Nomenclatura:

acl [Nombre] url_regex “Path”

Ejemplo de archivo porno.txt:

Sex
xxx
adult
pornotube
chicas
porn
playboy
lolitas

Ejemplo:

Esta regla se llama porno el cual manda a llamar aun archivo que contiene palabras relacionadas a pornografía.

acl porno url-regex “/etc/squid/listas/porno.txt”

Regla Tipo urlpath_regex
Esta regla nos permite la administración de descargas por medio de la extensión de los archivos, se recomienda tener Nomenclatura:

acl [Nombre] urlpath_regex “Path”

Ejemplo de archivo extensiones.txt:

\.avi$
\.mpg$
\.mpeg$
\.avi$
\.flv$
\.exe$
\.bat$
\.zip$
\.mp3$

Ejemplo:

Esta regla se llama extensiones la cual administrara las descargas por medio de la extensiones de los archivos.

acl extensiones urlpath_regex “/etc/squid/listas/extensiones.txt”

Regla Tipo req_mime
Esta regla nos permite comprobar el tipo de petición mime que realiza un cliente. Nomenclatura:

acl [Nombre] req_mime “mime”

Ejemplo:

Esta regla se llame MSN la cual contiene el mime del mensajero MSN.

acl MSN req_mime type application/x-msn-messenger

Regla Tipo macaddress
Este tipo de regla nos permite administrar squid por medio de Mac Address. Nomenclatura:

acl [Nombre] arp “Mac Address”

Ejemplo: Esta regla se llama adminmac en la cual nosotros proporcionamos las Mac Address de las máquinas clientes .

acl adminmac arp 09:00:2b:23:45:67 00:1f:3c:5f:fd:b1 00:1e:ec:70:7e:24

Regla Tipo password
Este tipo de regla, se controla el acceso a internet por medio de un usuario y password, para poder habilitar este método tendremos que hacer lo siguientes pasos de configuración. 1) Creamos el archivo que contendrá las claves.

[root@mantis squid]# touch claves

2) Le asignamos permisos de Lectura/Escritura y el usuario encargado del archivo.

[root@mantis squid]# chmod 600 claves
[root@mantis squid]# chown squid.squid claves

3)Creación de usuario y password para el acceso a internet.

[root@mantis squid]# htpasswd claves clientes

4) Habilitaremos las siguientes opciones dentro del fichero de configuración del servidor squid, busquemos el primer parámetro llamado auth_param basic.

#auth_param basic program

Este parámetro lo modificaremos de la siguiente manera.

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/claves

Estamos enlazando la aplicación que nos permitiría autenticarnos y en donde se encuentra el archivo donde se encuentran las cuentas de los usuarios.

acl password proxy_auth REQUIRED

5) Por ultimo tendremos que habilitar la regla acl encargada de la autenticación de password.

#acl password proxy_auth REQUIRED

por

acl password proxy_auth REQUIRED

Con esto ya tendremos habilitada la regla para la autenticación de los usuarios.
Control de Acceso
El control de acceso define si se permite o deniega el acceso a las reglas para que empecemos a crear el filtrado. Nomenclatura:

http_access allow/Deny Regla

Ejemplo:

Como sabemos la regla jefes contendrá la IP de la personas encargadas de cada area de la empresa y tendrán acceso a todo el internet.

http_access allow jefes

Toda los de mas clientes de la red no tendrán acceso a internet.

http_access deny redlocal

Dentro de la configuración http_access, existe una expresión “!” que significa no, esto permite que una regla se permitida o denegada. Es lo contrario a la primera definición del control de acceso.

Ejemplo: Esta regla permite navegar a todo la red en un horario de 09:00 a 18:00 Hrs y solamente a la paginas permitidas por el administrador. Pero no pueden entrar hacia los otros recursos de internet.

http_access deny redlocal !horario !permitidos

Configuración básica squid
Como vemos en el siguiente diagrama de red, especificaremos los siguientes reglas que tendrá nuestra red.

* Todas las computadoras de la empresa se encuentran dentro del segmento de red 192.168.1.0/24.
* Los jefes de cada departamento tienen salida a sin ninguna restricción a internet y sus IP son 92.168.1.10, 192.168.1.20.
* El resto de la red solamente tiene acceso a la pagina de la empresa Factor y de interés social, con un horario de 08:00 a 19:00 hrs, sin poder descargar archivos de música y vídeos.

Crearemos las reglas del squid.

acl redlocal src 192.168.1.0/24
acl jefes src 192.168.1.10 192.168.1.20
acl permitidas dstdomain “/etc/squid/permitidas”
acl horario time MTWHF 08:00-19:00
acl extensiones urlpath_regex “/etc/squid/extensiones”

Comenzaremos a configurar el control de accesos.

http_access allow jefes
http_access deny redlocal !permitidas !horario extensiones

Con esto tendremos ya configurado nuestro squid, para poder exportar en proxy desde consola tendremos que hacer lo siguiente:

[root@mantis ~]# export http_proxy=[http://192.168.1.254:3128

]
Configuración de Navegadores Web.
Solo nos falta que en las mas máquinas clientes configuremos la salida a internet por proxy.

Ejemplos:

* Firefox/Iceweasel

Menú Editar —> Avanzadas —> Red —> Configuración de red.

* Opera.

Menu Herramientas —> Preferencias —> Avanzadas —> Red

* Internet Explorer.

Menú Herramientas —> Opciones de Internet —>Conexiones —> Configuración de LAN
Configuración Squid Transparente
Este tipo de configuración de squid transparente, lo que hace es que conexiones son enrutadas al proxy sin hacer ninguna configuración en los clientes para que tengan salida a internet. Este tipo de configuración depende de reglas de nuestro firewall.
Parámetro http_port
Solamente tendremos que configurar este parámetro para que se un proxy transparente. Se le debe indicar la IP del servidor squid, puerto de escucha y la palabra transparente.

http_port 3128

por

http_port 192.168.1.254:3128 transparent

Reglas del Firewall
Para poder configurar este tipo de proxy transparente, tendremos que configurar reglas de firewall, en nuestro caso usaremos reglas de iptables ya que es la herramienta mas utilizada en todas distribuciones GNU/Linux. Pero para que funcione de manera transparente debemos de aplicar la siguiente regla en iptables.

iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT –to-port 3128

Con esto estamos desviando el trafico que venga por la LAN que vaya por web al puerto 3128. Con esto ya hicimos transparente nuestro proxy pero no se pueden desplegar las paginas seguras, para eso necesitamos aplicar otras reglas en iptables liberando el puerto 443, y lo hacemos de la siguiente manera:

iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 443 -j REDIRECT –to-port 3128

Habilitamos el reenvío de paquetes dentro de la red.

echo 1 > /proc/sys/net/ipv4/ip_forward

Y Guardamos las reglas con el siguiente comando.

iptables-save > /etc/sysconfig/iptables

Reiniciamos el servicio de firewall

/etc/init.d/iptables restart

Con esto tendremos configurado nuestro squid transparente.
Squid con DMZ
Este tipo de configuración conecta a dos tipos de redes:

* Red local.
* DMZ.

Lo mas importante de estas dos redes es la DMZ, la cual se le llama zona desmilitarizada, es una red que se ubica entre redes internas de una empresa. Dentro de una red DMZ habitualmente encontramos servidores que son necesarios para la empresa como:

* Servidor de Correo.
* Servidor de web.
* Servidor de FTP.
* Etc.

Parámetros en squid
Este tipo de configuración se recomienda tener a nuestro servidor squid escuchando varios puerto de comunicación ya que se tendría mejor control sobre las dos redes administradas. Para esto configuraremos el parámetro http_port en cual habilitaremos a dos puerto de escucha.

http_port 192.168.1.254:3128 transparent

Reglas del Firewall
Como podemos ver una configuración también de un proxy transparente.

#REDLOCAL
iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT –to-port 3128
#DMZ
iptables -t nat -A PREROUTING -i eth2 -p tcp –dport 80 -j REDIRECT –to-port 3129

Con esto estamos desviando el trafico de la red local y DMZ a sus puerto correspondientes del squid de cada uno y tener salida hacia internet.

# RED LOCAL
iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 443 -j REDIRECT –to-port 3128
#DMZ
iptables -t nat -A PREROUTING -i eth2 -p tcp –dport 443 -j REDIRECT –to-port 3129

Habilitamos el reenvío de paquetes dentro de la red.

echo 1 > /proc/sys/net/ipv4/ip_forward

Y Guardamos las reglas con el siguiente comando.

iptables-save > /etc/sysconfig/iptables

Reiniciamos el servicio de firewall

/etc/init.d/iptables restart

Con esto tendremos configurado nuestro squid transparente.
Configuración squid transparente con DMZ
Como vemos en el siguiente diagrama de red, especificaremos los siguientes reglas que tendrá nuestra red.

* La red local de la empresa se encuentra en segmento de red 192.168.1.0/24
* La DMZ de la empresa se encuentra en un segmento de red 10.2.0.0/8
* Los jefes de cada departamento tienen salida a sin ninguna restricción a internet y sus IP son 92.168.1.10, 192.168.1.20.
* El resto de la red solamente tiene acceso a la pagina de la empresa Factor y de interés social, con un horario de 08:00 a 19:00 hrs, sin poder descargar archivos de música y vídeos.
* Dentro la red DMZ tienen permiso a todo menos a descargar música, vídeos, programas.

Crearemos las reglas del squid.

acl dmz src 10.2.0.0/6
acl redlocal src 192.168.1.0/24
acl jefes src 192.168.1.10 192.168.1.20
acl permitidas dstdomain “/etc/squid/permitidas”
acl horario time MTWHF 08:00-19:00
acl extensiones urlpath_regex “/etc/squid/extensiones”

Comenzaremos a configurar el control de accesos.

http_access allow dmz !extensiones
http_access allow jefes
http_access deny redlocal !permitidas !horario extensiones

Con esto tendremos ya configurado nuestro squid.
Configuración de squid + DansGuardian + clamav
Squid puede apoyarse de otras aplicaciones como:

* SquidGuard.
* Clamav.

Estos nos apoyan a tener un control del acceso a internet.
Instalación DansGuardian/clamav
Para poder instalar DansGuardian es necesario instalar los siguientes y librerias para su funcionamiento: 1) Tendremos que instalar el antivirus clamav.

[root@mantis ~]# yum install clamd

Hay que actualizar nuestro antivirus.

[root@mantis ~]# fleshclam

Solo falta iniciar el servicio.

[root@mantis ~]# /etc/init/clamd start

2) También tendremos que instalar openssl, es un herramienta de seguridad y tiene herramientas de cifrado.

[root@mantis ~]# yum install openssl-devel openssl

3)Tendremos que instalar las librerías de compilación.

[root@mantis ~]# yum install rpm-build gcc-c++ gcc zlib

4)Descargaremos las librerías de smtp, este se encarga de envío de correo.

wget [http://download.fedora.redhat.com/pub/epel/5/i386/libesmtp-1.0.4-5.el5.i386.rpm]
wget [http://download.fedora.redhat.com/pub/epel/5/i386/libesmtp-devel-1.0.4-5.el5.i386.rpm

] Ya que los tenemos descargados tendremos que crearemos un enlace simbólico a la libreria de clamav.

[root@mantis ~]# ln -s /usr/lib/libclamav.so.6 /usr/lib/libclamav.so.1

Instalaremos los paquetes libestmp libesmtp-devel de la siguiente manera:

[root@mantis ~]# rpm -ivh libesmtp*.rpm

5) Descargaremos dansguardian con su parche de antivirus.

wget [http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge]
/d/dg/dgav/dansguardian-antivirus-6.4.4.2-1.src.rpm

Ya descargado, ahora tendremos que compilar el paquete.

[root@mantis ~]# rpmbuild –rebuild dansguardian-antivirus-6.4.4.2-1.src.rpm

La compilación del paquete puede tardar varios minutos dependiendo de las características de la máquina. Cuando termine la compilación, tendremos que acceder a la siguiente ruta.

[root@mantis ~]# cd /usr/src/redhat/RPMS/i386/

En esta ruta es donde se encuentra el rpm compilado de dansguardian, solo queda instalarlo.

[root@mantis i386]# rpm -ivh dansguardian-antivirus-6.4.4.2-1.i386.rpm

6) Por momento solamente queda configurar nuestro dansguardian, su archivo de configuración se encuentra en /etc/dansguardian/dansguardian.conf.

[root@mantis ~]# vim /etc/dansguardian/dansguardian.conf

Modificaremos o habilitaremos los siguientes parametros:

language = ‘spanish’
filterip = 192.168.1.254
filterport = 8080
proxyip = 192.168.1.254
proxyport = 3128
daemonuser = ‘clamav’
daemongroup = ‘clamav’
clamdsocket = ‘/tmp/clamd.socket’
virusengine = ‘clamdscan, clamav’
loglocation = ‘/var/log/dansguardian/access.log’

Crearemos el archivo access.log que contendrá los acceso al dansguardian.

[root@mantis ~]# touch /var/log/dansguardian/access.log
[root@mantis ~]# chown root.root /var/log/dansguardian/access.log
[root@mantis ~]# chmod 666 /var/log/dansguardian/access.log

Iniciamos los servicios de antivirus, proxy y dansguardian:

[root@mantis ~]# /etc/init.d/clamd restart
[root@mantis ~]# /etc/init.d/squid restart
[root@mantis ~]# /etc/init.d/dansguardian start

Configuración de DansGuardian/Squid
Ya que tenemos funcionando el dansguardian y clamav solo falta modificar algunos parámetros dentro de la configuración del squid para que tengan comunicación entre squid y dansguardian. Como siempre debemos indicar la IP del servidor y puerto de escucha, y agregaremos otros parámetros de los cuales permite crear el enlace entre las dos aplicaciones.

http_port 192.168.1.254:3128 transparent
tcp_outgoing_address 192.168.2.1
cache_peer 127.0.0.1 sibling 8080 7
cache_peer 192.168.2.1 parent 3128 7

Con esto ya tendremos configurado nuestro squid solo queda reiniciarlo.

[root@mantis ~]# /etc/init.d/squid restart

Configuración de iptables
Que configurar nuestro reglas de ruteo y de acceso a la red interna

###Hacemos limpieza de reglas existentes de entrada, salida, Ruteo y nateo
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
###Habilitamos el reenvio de paquetes y como a máquinas dinámicas
echo “1″ > /proc/sys/net/ipv4/ip_forward
echo “1″ > /proc/sys/net/ipv4/ip_dynaddr
##Aceptamos conexiones locales
iptables -A INPUT -i lo -j ACCEPT
###Aceptamos conexiones de tipo de DNS a nuestro servidor
iptables -A INPUT -p udp –dport 53 -j ACCEPT
iptables -A INPUT -p tcp –dport 53 -j ACCEPT
##Aceptamos conexiones del segmento de red 192.168.2.0 por la interfaz eth1
iptables -A INPUT -s 192.168.2.0/24 -i eth1 -j ACCEPT
##Creamos un nateo de la red interna hacia afuera de la red.
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -d 0.0.0.0/0 -j MASQUERADE
#Aceptamos peticiones de la tarjeta de red eth1
iptables -A FORWARD -i eth1 -j ACCEPT
#Aceptamos peticiones de la red local al puerto 80.
iptables -A FORWARD -s 192.168.2.0/24 -p tcp –dport 80 -j ACCEPT
#Aceptamos peticiones de entrada/salida por medio de protocolo udp del servidor DNS 192.168.1.1
iptables -A INPUT -s 192.168.1.1 -p udp -m udp –sport 53 -j ACCEPT
iptables -A OUTPUT -s 192.168.1.1 -p udp -m udp –dport 53 -j ACCEPT
###Todo petición que venga de la red local que vaya hacia el puerto 80 mandalo al puerto 8080
iptables -t nat -A PREROUTING -s 192.168.2.0/24 -p tcp –dport 80 -j REDIRECT –to-port 8080
### Todo conexiones que venga de la red local haz un nateo con salida de la ip del servidor.
iptables -t nat -A POSTROUTING -i eth1 192.168.2.0/24 -o eth0 -j SNAT –to-sources 192.168.1.240
###Genera un archivo de configuracion de la reglas y lo guardas en la ruta indicada
iptables-save > /etc/sysconfig/iptables
###reinicia el servicio de iptables o firewall
/etc/init.d/iptables restart

Con esto ya tendremos configurado nuestro servicio de Squid Transparente con DansGuardian y Clamav.

Quedando de la siguiente manera nuestra configuración como se muestra en el siguiente diagrama, toda petición al puerto 80 sera reenviada al 8080 que tiene DansGuardian, analizada con el antivirus y al terminar todo este proceso sera enviada a squid.
Herramientas de Análisis de trafico
Dentro de squid existen dos herramientas:

* sarg
* calamaris

Esta herramientas nos permite generar reportes de la información que esta pasando por el squid, como podemos ver la información de cada máquina que paginas han visitado, es como u histórico de cada computadora de nuestra red. Para poder ocupar estas herramientas es necesario tener instalado el servicio de apache dentro de squid, por que si no sera posible utilizar estas herramientas.

[root@mantis ~]# yum install httpd

Instalación/configuración SARG
Tendremos que instalar la herramienta de Sarg.

[root@mantis ~]# yum install sarg

Ahora tendremos que habilitaremos o modificaremos algunas de las opciones del archivo de configuración de sarg.

language Spanish
access_log /var/log/squid/access.log
title “REPORTE DE SQUID”
font_face Arial
header_color darkblue
header_bgcolor blanchedalmond
background_color white
text_color black
text_bgcolor beige
title_color green
output_dir /var/www/sarge
date_format u
weekdays 0-6
hours 0-23
overwrite_report yes
report_type topsites users_sites sites_users date_time denied auth_failures site_user_time_date
time_by bytes

Tendremos que reiniciar el servicio de apache, para que agregue a la configuración del fichero /etc/httpd/conf.d/sarg.conf al apache.

[root@mantis ~]# /etc/init.d/httpd restart

Ahora tendremos que inicia la aplicación de sarg.

[root@mantis ~]# sarg
SARG: Records in file:436, reading:100.0 %

Con esto indica que nuestro sarg ya empezó a crear el informe y fue creado al 100%. Solo falta entrar con nuestro navegador a la dirección http://127.0.0.1/sarg o http://IP/sarg.
Instalación/configuración CALAMARIS
Tendremos que instalar la herramienta de calamaris.

[root@mantis ~]# yum install calamaris

La configuración de calamaris es un poco mas tediosa que sarg. En calamaris no tiene un archivo de configuración propio cuando se instala aplicación, lo que tendremos que hacer es crear el archivo manualmente.

[root@mantis ~]# vim /etc/calamaris.conf

Y tendremos que agregarle los siguientes parámetros:

## Reporte Por Dia
daily:root:/var/www/calamaris/daily.html:both:’Squid daily’
### Reporte por Semana
weekly:root:/var/www/calamaris/weekly.html:both:’Squid weekly’
### Reporte por Mes
monthly:root:/var/www/monthly.html:both:’Squid monthly’

También crearemos el archivo de configuración para apache.

[root@mantis ~]# vim /etc/httpd/conf.d/calamaris.conf

Deberá contener a la siguientes parámetros.

Alias /calamaris “/var/www/calamaris”

Options Indexes MultiViews
AllowOverride None
Order allow,deny
# Allow from all
Allow from 192.168.1.0/24

Se creara el directorio de alojamiento de reportes, tambien se le otorgara permisos al usuario squid y grupo apache.

[root@mantis ~]# mkdir /var/www/calamaris
[root@mantis ~]# chown squid.apache /var/www/calamaris -R

Reiniciamos el servicio de apache.

[root@mantis ~]# /etc/init.d/httpd restart

Generando el reporte.

[root@mantis ~]# cat /var/log/squid/access.log | calamaris -R -1 -a -F html > /var/www/calamaris/reporte-hoy.html

Solo falta entrar con nuestro navegador a la dirección http://127.0.0.1/calamaris o http://IP/calamaris. Con esto ya podremos ver toda la información que es genera en la red cuando los usuarios acceden a internet

Categorías:Seguridad

Las mejores 10 herramientas de seguriadad Linux

Es un sueño poder hackear en Linux. toneladas de herramientas y utilidades para el craqueo de contraseñas, escanear las vulnerabilidades de la red, y detectar posibles intrusiones. He aquí una colección de 10 de los mejores la piratería y la seguridad herramientas de software para Linux. Por favor, siempre tenga en cuenta que estas herramientas no son para dañar, sino para proteger.

1. John the Ripper

John the Ripper es una contraseña libre de grietas herramienta de software inicialmente desarrollado para el sistema operativo UNIX. Es uno de los más populares contraseña de prueba / programas de romper, ya que combina un número de contraseña de galletas en un paquete, detecta automáticamente los tipos de hash de la contraseña, e incluye un cracker personalizable. Se puede ejecutar en contra de diversos formatos de contraseña encriptada cripta incluidos varios tipos de hash de la contraseña más comúnmente encontrados en diversos sabores de Unix (sobre la base de DES, MD5, o Blowfish), Kerberos AFS, y Windows NT/2000/XP/2003 LM hash. Módulos adicionales han ampliado su capacidad para incluir MD4 basados en los hashes de contraseñas y contraseñas almacenados en LDAP, MySQL y otros.

2. Nmap 2. Nmap

Nmap es mi favorito escáner de seguridad de red. Se utiliza para descubrir los equipos y servicios en una red de ordenadores, creando así un “mapa” de la red. Al igual que muchos escáneres de puerto sencillo, Nmap es capaz de descubrir los servicios pasivos en una red, a pesar de el hecho de que tales servicios no son publicidad con un servicio de descubrimiento de protocolo. Además Nmap puede ser capaz de determinar diversos detalles sobre los equipos remotos. Estos incluyen el sistema operativo, tipo de dispositivo, tiempo de actividad, producto de software utilizado para ejecutar un servicio, número de versión exacta de ese producto, la presencia de algunas técnicas de firewall y, en una red de área local, incluso los proveedores de la tarjeta de red remoto.

Nmap se ejecuta en Linux, Microsoft Windows, Solaris y BSD (incluyendo Mac OS X), y también en AmigaOS. Linux es el más popular nmap plataforma Windows y el segundo más popular.

3. Nessus 3. Nessus
Nessus es un software de escaneado de vulnerabilidad. Su objetivo es detectar posibles vulnerabilidades en los sistemas de prueba, tales como:

-Las vulnerabilidades que permiten a un cracker a distancia para controlar o acceso a datos sensibles en un sistema.
-Mala (por ejemplo, correo abiertas, la falta de parches, etc.)
-Contraseñas por defecto, algunas contraseñas, y en blanco / ausente contraseñas en algunas cuentas del sistema. Nessus también puede llamar Hydra (una herramienta externa) para lanzar un ataque de diccionario.
-Las denegaciones de servicio en contra de la pila TCP / IP mediante el uso de paquetes mangled

Nessus es el más popular del mundo la vulnerabilidad de escáner, que se estiman para ser utilizado por más de 75.000 organizaciones de todo el mundo. Se tomó el primer lugar en el 2000, 2003, 2006 y herramientas de seguridad de SecTools.Org encuesta.

4. chkrootkit 4. Chkrootkit

chkrootkit (Marque Rootkit) es un Unix-programa basado en la intención de ayudar a los administradores de sistemas controlar su sistema de rootkits conocidos. Se trata de un script de shell utilizando UNIX / Linux herramientas como las cuerdas y los comandos grep para buscar programas del sistema básico de firmas y para la comparación de un recorrido de los archivos / proc con la salida de la PS (estado de proceso) para buscar discrepancias.

Puede ser utilizado desde un “disco de rescate” (típicamente un Live CD) o puede utilizar opcionalmente un directorio alternativo desde el que ejecutar la totalidad de sus propios comandos. Estas técnicas permiten chkrootkit a confiar en los comandos a los que dependen un poco más.

Hay limitaciones inherentes a la fiabilidad de cualquier programa que intenta detectar compromisos (tales como rootkits y virus). Más reciente rootkits mayo específicamente tratan de detectar y compromiso copias de los programas de chkrootkit o tomar otras medidas para evadir la detección por ellas.

5. Wireshark 5. Wireshark

Wireshark es un sniffer de paquetes de libre aplicación informática utilizada para la solución de problemas de red, análisis, software de protocolo de comunicaciones y el desarrollo, y la educación. En junio de 2006, el proyecto pasó a denominarse de Ethereal, debido a cuestiones relacionadas con las marcas.

La funcionalidad proporciona Wireshark es muy similar a tcpdump, pero tiene un GUI front-end, y muchos más información clasificación y opciones de filtrado. Permite al usuario ver todo el tráfico que pasa a través de la red (por lo general, una red Ethernet, pero el apoyo se añade a los demás) por poner la interfaz de red en modo promiscuo.

Wireshark utiliza la cruz-plataforma de widgets GTK + Toolkit, y es multi-plataforma, se ejecuta en diversos sistemas operativos incluyendo Linux, Mac OS X, y Microsoft Windows. Liberado bajo los términos de la Licencia Pública General de GNU, Wireshark es software libre.

6. netcat 6. Netcat
netcat es una utilidad para la creación de redes de lectura y escritura a las conexiones de red sobre TCP o UDP.

Netcat se votó la segunda más útil herramienta de la seguridad de la red en 2000 una encuesta realizada por insecure.org nmap sobre la lista de correo de los usuarios. En 2003, obtuvo el cuarto lugar, una posición que también tuvo lugar en la encuesta de 2006.

La versión original de netcat es un programa de UNIX. Su autor es conocido como Hobbit * *. Se publicó la versión 1.1 en marzo de 1996.

Netcat es plenamente compatible POSIX y existen varias implementaciones, incluyendo una reescritura desde cero conocido como GNU netcat.

7. Kismet 7. Kismet
Kismet es un detector de red, sniffer de paquetes, y sistema de detección de intrusos para redes LAN inalámbricas 802.11. Kismet trabajará con cualquier tarjeta inalámbrica que soporta modo de supervisión crudo, y puede oler 802.11a, 802.11b y 802.11g tráfico.

Kismet es a diferencia de la mayoría de los demás detectores de red inalámbrica en el sentido de que las obras pasivamente. Esto significa que sin el envío de cualquier loggable paquetes, es capaz de detectar la presencia de ambos puntos de acceso inalámbrico y conexión inalámbrica a clientes, asociados y cada uno de ellos con otros.

Kismet también incluye IDS inalámbrica básica características como la detección de activos inalámbricos incluyendo la inhalación de los programas de NetStumbler, así como una serie de ataques de red inalámbrica.

8. hping 8. Hping

hping libre es un generador de paquetes y analizador para el protocolo TCP / IP. Hping es uno de los instrumentos de facto para la auditoría de seguridad y pruebas de cortafuegos y redes, y se utilizó para explotar la inactividad de exploración de exploración técnica (también inventado por el autor hping), y ahora aplicadas en el Nmap Security Scanner. La nueva versión de hping, hping3, es scripts usando el lenguaje Tcl y ejecuta un motor de la cadena base, legible descripción de los paquetes TCP / IP, de modo que el programador puede escribir secuencias de comandos relacionados con el bajo nivel TCP / IP de paquetes de manipulación y análisis en muy poco tiempo.

Como la mayoría de las herramientas utilizadas en seguridad informática, hping es útil tanto para los administradores de sistemas y crackers (o script kiddies).

9. Snort 9. Snort
Snort es un servicio gratuito y de código abierto Red sistema de prevención de intrusiones (PIN) y la red de detección de intrusos (NIDS) capaz de realizar paquetes de la tala y tráfico en tiempo real análisis sobre redes IP.

Snort realiza protocolo de análisis, búsqueda de contenido / cotejo, y se utiliza comúnmente para bloquear activamente o pasivamente detectar una variedad de ataques y sondas, tales como desbordamientos de búfer, sigilo puerto scans, ataques de aplicaciones Web, SMB sondas, y OS intentos de toma de huellas dactilares, entre otras características. El software se usa principalmente para fines de prevención de intrusos, pasando por los ataques que se están llevando a cabo. Snort se puede combinar con otros tipos de software tales como SnortSnarf, sguil, OSSIM, y el Análisis Básico y de Seguridad Engine (BASE) para proporcionar una representación visual de los datos de intrusos. Con los parches para el Snort fuente de sangrado borde amenazas, el apoyo para los paquetes de flujo con la exploración antivirus ClamAV y de la red con SPADE anomalía en las capas de red 3 y 4 es posible con la observación histórica.

10. tcpdump 10. Tcpdump
tcpdump es una red de computadoras herramienta de depuración que se ejecuta bajo la línea de comandos. Permite al usuario para interceptar y mostrar TCP / IP y otros paquetes transmitidos o recibidos a través de una red a la que el equipo se adjunta.

En algunos Unix-como sistemas operativos, un usuario debe tener privilegios de superusuario para utilizar tcpdump, porque el paquete de mecanismos de captura de esos sistemas requieren privilegios elevados. Sin embargo, la opción-Z se puede utilizar para soltar los privilegios a un usuario sin privilegios después de la captura se ha creado. En otros Unix-como sistemas operativos, el mecanismo de captura de paquetes se puede configurar para permitir a usuarios no privilegiados para usarlo, si es que hacer, privilegios de superusuario no son necesarios.

El usuario puede, opcionalmente, aplicar un BPF de filtrado para limitar el número de paquetes visto por tcpdump, lo que hace que la salida más utilizable en las redes con un alto volumen de tráfico.

Categorías:Seguridad

Linux LiveCD Router

Linux LiveCD Router permite convertir una vieja PC en un router moderno, firewall, control de tráfico QoS, VPN y ya te permite acelerar tu conexión a Internet. No requiere instalación y permite hardware barato, tales como USB y WiFi PCMCIA y tarjetas de red. Se puede arrancar desde un CD, unidad flash o disco duro.

Download .iso

http://www.easylivecd.com/download/livecdrouter/

Categorías:Redes, Seguridad

Firewall Basico Ubuntu Grafico Gufw

Gufw

site: http://gufw.tuxfamily.org/

Gufw is an easy, intuitive, way to manage your Ubuntu firewall.

It supports common tasks such as allowing or blocking pre-configured services, common P2P, or individual IP/port(s), and many others!

Gufw is free software licenced under GPL3. It’s an interface powered by ufw.

Easy to use Ubuntu Firewall

Categorías:Redes, Seguridad

Gufw: la cara amable del cortafuegos preinstalado en Ubuntu 9.10

Categorías:Redes, Seguridad

KON-BOOT: accede a cualquier equipo sin conocer la contraseña

En alguna ocasión podemos encontrarnos en una situación en la que necesitamos entrar a nuestro propio sistema y no recordamos la contraseña que le pusimos. Por ejemplo, si acabamos de cambiarla y es completamente nueva para nosotros. En otras ocasiones hemos hablado de John the Ripper y Trinity Rescue Kit pero en esta ocasión vamos a tratar una herramienta mucho más fácil de manejar como es Kon-Boot.

Kon-Boot es un software gratuito que nos permite acceder a cualquier equipo sin conocer la contraseña y sin tener que eliminarla o cambiarla, ya sea de Windows o de Linux. Su funcionamiento está basado en el cambio del contenido del kernel durante el arranque del sistema y ocupa solamente 110 KB.
Si no lo has probado todavía, estás tardando. Simplemente es ¡espectacular!

Kon-Boot funciona entre otros en los siguientes sistemas (para ver el listado completo y detallado visita la página oficial):

  • Windows: XP, Vista Ultimate y Business, 7, Server 2008 y 2003.
  • Ubuntu, Debian, Gentoo y Fedora (GRUB 0.97)

Los pasos para entrar a cualquier equipo sin conocer la contraseña son los siguientes:

  1. Descargamos la imagen ISO desde la página oficial de Kon-Boot y la grabamos en un CD.
  2. Arrancamos el equipo con el CD de Kon-Boot y nos aparece la siguiente pantalla de presentación. Para seguir adelante, tendremos que pulsar la tecla Intro.
    Pantalla de bienvenidaPantalla de bienvenida

  3. A continuación veremos algunos mensajes mientras se inicia el Kon-Boot. En estos mensajes se nos informará, entre otras cosas, de la versión de Kon-Boot y que es gratuito para uso no comercial.
    Arrancando con Kon-BootArrancando con Kon-Boot

  4. El resto del arranque se realizará de forma completamente normal. Sin embargo, cuando arranque nuestro sistema podremos entrar a él sin conocer la contraseña.
    • Windows: hacemos clic en el nombre de usuario con el que queramos acceder y entraremos ¡sin conocer la contraseña! Aunque el usuario tenga contraseña, no nos la pedirá.
      Entramos a Windows sin contraseñaEntramos a Windows sin contraseña

    • Linux: tenemos que acceder en modo consola por lo que pulsamos la combinación de teclas Control+Alt+F1 (o cualquier otra desde F2 a F6). Y como nombre de usuario tecleamos kon-usr. Y sin pedirnos tampoco en esta ocasión la contraseña, también estaremos dentro como root.
      wwEntramos a Ubuntu como root sin contraseña

Espero que sea de utilidad.

Extraido

http://sliceoflinux.com/2009/05/06/kon-boot-accede-a-cualquier-equipo-sin-conocer-la-contrasena/

Categorías:Seguridad

PERMISOS EN LINUX

El sistema de permisos en Linux se basa en un esquema de usuarios/grupos que lo convierte en la base principal de la seguridad en Linux, a estos usuarios y grupos se les asignan distintos derechos sobre los archivos y directorios.

Esta es una de las características que ayudan a que Linux sea casi inmune a los Virus de computadora, los virus deben ser capaces de escribir sobre un archivo para poder infectarlo y ejecutarse de alguna manera para poder infectar mas archivos, con el sistema de permisos de Linux los virus no pueden copiarse a cualquier archivo, si el usuario carece de permisos el virus no podrá infectar más archivos y por lo tanto no podrá reproducirse.

Todos los archivos y directorios en Linux tienen permisos que verifican quien puede hacer o no alguna acción con él.

Cuales son los permisos

Los permisos propiamente dichos son tres:

  • r: read (lectura): Cuando el permiso de lectura está activo sobre un directorio significa que se podrá listar los recursos almacenados en él, si está asignado a un archivo se podrá leer su contenido.
  • w: write (escritura): Cuando el permiso de escritura está activo sobre un directorio significa que se podrá crear y borrar archivos en su interior, si esta activado para un archivo significa que se podrá modificar su contenido.
  • x: execute (ejecución): Si el permiso de ejecución está activo sobre un directorio significa que el usuario podrá realizar otras funciones dentro de él mediante los otros permisos de lectura y escritura, y si está activo sobre un archivo se podrá ejecutarlo desde la línea de comandos.

Y donde están los permisos?

Para poder ver los permisos de los archivos y directorios es necesario ejecutar el siguiente comando:

$ ls –l

Este comando nos dará una salida similar a la siguiente:

drwxr-xr-x 3 raul raul 4096 2005-02-16 14:47 Desktop
drwxr-xr-x 5 raul raul 4096 2005-02-16 12:42 GNUstep
-rw-r--r-- 1 raul raul 246417 2005-03-03 13:13 foto1.png
-rw-r--r-- 1 raul raul 232505 2005-03-03 13:14 carta2.abw
-rw-r--r-- 1 raul raul 239618 2005-03-03 13:14 informe.abw
drwxr-xr-x 2 raul raul 4096 2005-02-16 12:42 tmp

Ahora describamos la salida que hemos obtenido:

Con la siguiente línea interpretamos la información así:

- rw- r-- r-- 1 raul raul 246417 2005-03-03 13:13 foto1.png
↑ ↑   ↑   ↑   ↑ ↑    ↑    ↑      ↑          ↑     ↑
1 2   3   4   5 6    7    8      9          10    11

1 : Tipo de archivo = es un archivo regular
2 : Permisos = los permisos para el propietario son de lectura y escritura
3 : Permisos = el grupo tiene permiso de sólo lectura
4 : Permisos = los otros usuarios tienen el permiso de sólo lectura
5 : Enlace Físico = tiene un enlace físico
6 : Propietario = el usuario raul es el propietario de este archivo
7 : Grupo = este archivo pertenece al grupo raul
8 : Tamaño = su tamaño es de 246417 bytes
9 : Fecha = fue creado el 03 de marzo de 2005
10 : Hora = a 13:13 horas
11 : Nombre = el archivo se llama foto1.png

Como habrás apreciado los permisos están asignados en grupos de 3 (rwx) y corresponde al: propietario (owner: dueño del archivo o directorio), grupo (group: grupo del archivo o directorio) y otros (others: otro usuario diferente del propietario).

En la siguiente imagen resaltamos nuevamente la ubicación de los permisos en caso no lo hayamos notado:

COMANDOS RELACIONADOS

Linux dispone de 3 comandos que permite cambiar los permisos, el propietario y el grupo de un archivo y/o directorio respectivamente:

  • Comando chmod : se utiliza para cambiar los permisos del archivo o directorio
    $ chmod [permisos] [archivo/directorio] [opciones]
  • Comando chown : se utiliza para cambiar el propietario del archivo o directorio
    # chown [nuevo usuario propietario] [archivo/directorio] [opciones]
  • Comando chgrp : utilizado para cambiar el grupo del archivo o directorio
    # chgrp [nuevo grupo] [archivo/directorio] [opciones]

¿COMO SE CAMBIAN LOS PERMISOS?

Para cambiar los permisos se puede hacer de 2 maneras:

  1. Utilizando taquigrafía basada en caracteres, o
  2. Utilizando números.

1. CAMBIO DE PERMISOS UTILIZANDO TAQUIGRAFÍA DE CARACTERES

Para poder utilizar la taquigrafía basada en caracteres tomemos en cuenta la siguiente lista con su respectiva correspondencia:

Símbolo Descripción
Identidades u Es el usuario propietario del archivo o directorio
g Es el grupo al que pertenece el archivo o directorio
o Otros usuarios, el resto del mundo, ni el propietario ni su grupo
a Todo el mundo – propietario, grupo y otros
Permisos r Acceso de lectura
w Acceso de escritura
x Acceso de ejecución
Acciones + Añade los permisos
- Elimina los permisos
= el único permiso

Vamos a practicar con el comando chmod, para ello lo primero que haremos será crear el archivo foto1.png para ver los cambios de permisos, así que les recomiendo seguir la secuencia:

Ejemplo Descripción Resultado
$ touch foto1.png creamos el archivo foto1.png foto1.png
$ chmod a-rwx foto1.png quitamos todos los permisos al archivo foto1.png ---------
$ chmod u+rwx foto1.png añadimos todos los permisos para el propietario rwx------
$ chmod g+x foto1.png añadimos el permiso de ejecución para el grupo rwx—x---
$ chmod o+r foto1.png añadimos el permiso de lectura para los otros usuarios rwx—xr--
$ chmod u-rw foto1.png eliminamos los permisos de lectura y escritura para el propietario --x—xr--
$ chmod a=r foto1.png establecemos como unico permiso de lectura para los 3 grupos r—r—r--
$ chmod a=rx foto1.png establecemos los permisos de lectura y ejecución para los 3 grupos r-xr-xr-x
$ chmod a=- foto1.png quitamos todos los permisos ----------
$ chmod u+rx,o+x foto1.png añadimos los permisos de lectura y ejecución al propietario y ejecución a otros r-x-----x
$ chmod g+rx,o-x foto1.png añadimos permiso de lectura y ejecución al grupo y eliminamos permiso de ejecución a otros r-xr-x---
$ chmod ug+wx,o-x foto1.png añadimos permiso de escritura y ejecución al propietario y grupo, y eliminamos permiso de ejecución a otros rwxrwx---
$ chmod a=rw foto1.png permite a cualquiera modificar el contenido e incluso eliminar el archivo rw-rw-rw-

Si cambiamos los permisos a un directorio y deseamos que estos permisos tengan efecto sobre todos sus subdirectorios y archivos sólo deberemos añadir la opción –R. Ejemplo:

$ chmod a=rw DIRECTORIO –R

2. CAMBIO DE PERMISOS UTILIZANDO NÚMEROS

Cada permiso tienen asignado un valor, incluso cuando el permiso no está activo. Para poder utilizar los números tendremos que tener en cuenta la siguiente tabla con sus respectivos valores:

r = 4 (lectura)
w = 2 (escritura)
x = 1 (ejecucion)
- = 0 (sin permisos)

Cuando asignamos los permisos utilizando números debemos tener en cuenta que primero se sumarán los valores y dicho resultado será el que se coloque, aquí una tabla que muestra dichos valores:

Valor Permisos Descripción
0 --- El valor cero significa que no se han asignado permisos
1 --x sólo se ha asignado el de ejecución
2 -w- sólo permiso de escritura
3 -wx permisos de escritura y ejecución
4 r-- sólo permiso de lectura
5 r-x permisos de lectura y ejecución
6 rw- permisos de lectura y escritura
7 rwx permisos: lectura, escritura y ejecución

Los permisos por números se asignan en grupos de 3, es decir, para el propietario-grupo-otros, no es factible asignar solo para uno o dos de ellos.

Ejemplos:

  • rw------- (600) — Sólo el propietario tiene el derecho de leer y escribir.
  • rw-r--r-- (644) — Sólo el propietario tiene los permisos de leer y escribir; el grupo y los demás sólo pueden leer.
  • rwx------ (700) — Sólo el propietario tiene los derechos de leer, escribir y ejecutar el archivo.
  • rwxr-xr-x (755) — El propietario tiene los derechos de leer, escribir y ejecutar; el grupo y los demás sólo pueden leer y ejecutar.
  • rwx--x--x (711) — El propietario tiene los derechos de lectura, escritura y ejecución; el grupo y los demás sólo pueden ejecutar.
  • rw-rw-rw- (666) — Todo el mundo puede leer y escribir en el archivo. ¡No es una buena elección!
  • rwxrwxrwx (777) — Todo el mundo puede leer, escribir y ejecutar. ¡Tampoco es buena elección!

Utilizaremos el mismo ejercicio anterior para poder practicar con los permisos utilizando números, el único cambio que haremos será utilizar otro archivo llamado foto2.png:

Ejemplo Descripción Resultado
$ touch foto2.png creamos el archivo foto2.png foto2.png
$ chmod 000 foto2.png quitamos todos los permisos al archivo foto2.png ----------
$ chmod 700 foto2.png añadimos todos los permisos para el propietario -rwx------
$ chmod 710 foto2.png añadimos el permiso de ejecución para el grupo -rwx—x---
$ chmod 714 foto2.png añadimos el permiso de lectura para los otros usuarios -rwx—xr--
$ chmod 114 foto2.png eliminamos los permisos de lectura y escritura para el propietario ---x—xr--
$ chmod 444 foto2.png establecemos como unico permiso de lectura para los 3 grupos -r—r—r--
$ chmod 555 foto2.png establecemos los permisos de lectura y ejecución para los 3 grupos -r-xr-xr-x
$ chmod 000 foto2.png quitamos todos los permisos -----------
$ chmod 501 foto2.png añadimos los permisos de lectura y ejecución al propietario y ejecución a otros -r-x-----x
$ chmod 550 foto2.png añadimos permiso de lectura y ejecución al grupo y eliminamos permiso de ejecución a otros -r-xr-x---
$ chmod 770 foto2.png añadimos permiso de escritura y ejecución al propietario y grupo, y eliminamos permiso de ejecución a otros -rwxrwx---
$ chmod 666 foto2.png permite a cualquiera modificar el contenido e incluso eliminar el archivo -rw-rw-rw-

CAMBIANDO PROPIETARIOS Y GRUPOS

Otra de los puntos a la hora de establecer permisos es la necesidad de poder cambiar el propietario y grupo del archivo o directorio, para hacer esta operación debe estar como root y los usuarios y grupos que utilizará deben haber sido creados previamente.

Cambiando el propietario

Utilizamos el comando chown explicado líneas arriba:

# chown clases foto1.png # estamos cambiando el propietario del archivo, ahora el usuario clases será el propietario del archivo foto1.png

# chown raul foto2.png # el usuario raul será el propietario del archivo foto2.png

Si vamos a cambiar el propietario de un directorio y con todos sus subdirectorios y archivos en forma recursiva utilizaremos la opción –R:

# chown clases datos/ –R # el usuario clases sera el nuevo propietario de todos los archivos y subdirectorios que estén dentro del directorio datos/

Cambiando el grupo

Utilizamos el comando chgrp explicado líneas arriba:

# chgrp clases foto1.png # estamos cambiando el propietario del archivo, ahora el archivo foto1.png será del grupo clases

# chgrp raul foto2.png # el archivo foto2.png será del grupo raul

Si vamos a cambiar el grupo de un directorio y con todos sus subdirectorios y archivos en forma recursiva utilizaremos la opción –R:

# chgrp clases datos/ –R # todos los archivos y sub directorios del directorio datos/ serán del grupo clases

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.