0 comentarios

Detectando Sniffers en nuestra red. Redes conmutadas y no conmutadas.

Detectando Sniffers en nuestra red. Redes conmutadas y no conmutadas.
Este escenario sería una subred o red no conmutada. Aunque más adelante nos introduciremos brevemente en la escucha en redes conmutadas o basadas en switches y herramientas de detección en este tipo de redes. Antes que nada, decir que los sniffers no son fáciles de detectar y combatir, ya que se trata de programas que trabajan en modo pasivo. Las técnicas que se tratan aquí, por tanto, no son totalmente fiables, aunque en algunos casos si suponen una gran aproximación al descubrimiento de este tipo de software.

Antes que nada y para entender algunos conceptos de este artículo veremos como funciona, brevemente, el protocolo ARP.
¿Qué es. Para qué sirve ARP?

En una red Ethernet cuando queremos enviar un paquete IP entre dos hosts conectados las únicas direcciones válidas son las MAC y lo que circula son tramas Ethernet. Entonces y volviendo al ejemplo de antes cuando queremos enviar un paquete IP lo que se hace es meter el paquete dentro de una trama Ethernet y enviar.

Formato de una cabecera ARP:

Formato de una cabecera ARP

HLEN Longitud dirección hardware

PLEN Longitud dirección del protocolo

OPERACION Código de operación (ARPreques ó ARPreply)

SENDER HA Dirección de origen hardware

SENDER IP Dirección de origen del protocolo

TARGET HA Dirección de destino hardware

¿Cuál es el problema entonces?

El problema radica en que sabemos la dirección IP del host de destino pero no su dirección MAC.

¿Cómo se soluciona esto?

La solución está en que antes de enviar el paquete IP se debe usar ARP para averiguar cual es la dirección MAC del host destino de la conexión que pretendemos realizar.

¿Y cómo se hace?

ARP tiene dos tipos básicos de mensajes:

* Mensaje de petición o ARPrequest
* Mensaje de respuesta o ARPreply

Los dos viajan por nuestra red dentro de tramas Ethernet.

Cuando queremos enviar un paquete IP desde un host origen (A) hacia un host destino (B) sucede:

(A) crea un mensaje o petición ARPrequest indicando:

* Su dirección IP
* Su dirección MAC
* Dirección IP del host (B)
* Campo de dirección MAC host (B) sin rellenar.

Envía el ARPrequest a la dirección broadcast (todos los hosts de la red) pero sólo contesta uno de ellos (B). Entonces:

(B) crea un mensaje ARPreply:

* Rellena el campo de dirección MAC con su MAC
* Intercambia las direcciones origen y destino
* Cambia el tipo de mensaje de ARPreques a ARPreply
* Envía el mensaje ARPrpely a (A).

Ya hay entonces información suficiente para establecer cualquier comunicación entre (A) y (B).

Esto lo podemos comprobar utilizando un sniffer de red como Ethereal y filtrando por protocolos, en este caso ARP:

C:\scan>windump -qtn arp
windump: listening on \Device\NPF_{604C8AE3-5FAC-45A5-BFAA-81175A8C32BF}
arp who-has 192.168.5.241 tell 192.168.5.240
arp who-has 192.168.4.234 tell 192.168.4.1
arp who-has 192.168.4.234 tell 192.168.4.1
arp who-has 192.168.4.234 tell 192.168.4.1
arp who-has 192.168.5.4 tell 192.168.5.240
arp who-has 192.168.5.6 tell 192.168.5.240
arp who-has 192.168.5.44 tell 192.168.5.240
arp who-has 192.168.5.14 tell 192.168.5.240
arp who-has 192.168.4.234 tell 192.168.4.1
arp who-has 192.168.4.15 tell 192.168.4.10
arp reply 192.168.4.15 is-at 0:1:2:e7:57:cf
arp who-has 192.168.4.234 tell 192.168.4.1
arp who-has 192.168.4.15 tell 192.168.4.1
arp reply 192.168.4.15 is-at 0:1:2:e7:57:cf
arp who-has 192.168.4.234 tell 192.168.4.1
arp who-has 192.168.4.15 tell 192.168.4.13
arp reply 192.168.4.15 is-at 0:1:2:e7:57:cf.....

Toda la información de las relaciones IP/MAC se guarda en la cache ARP.

En un sistema Windows:

C:\>arp -a

Interfaz: 192.168.4.3 on Interface 0x1000003

Dirección IP Dirección física Tipo

192.168.4.1 00-04-76-97-b3-a9 dinámico

192.168.4.20 00-a0-24-4e-4e-4e dinámico

Sistemas Linux:

$ arp -a

serprint (192.168.4.2) at 52:54:05:fd:de:e5

infografia3 (192.168.4.3) at 00:90:27:6a:58:74

Una vez visto como funciona el protocolo ARP, seguimos con la detección de los sniffers.
Detección en sistemas UNIX/Linux
En entornos Linux o UNIX la verificación de una interfase en modo promiscuo se puede hacer usando ifconfig. Este programa configura la interfase de red instalada en un determinado host y obtiene información de la configuración en el momento de ejecutar el programa. Cuando un adaptador de red se encuentra en modo promiscuo, ifconfig nos devuelve la siguiente información:

$ ifconfig -a

eth0 Link Encap: 10Mbps Ethernet HWaddr: xx:xx:xx:xx:xx:xx
inet addr: a.b.c.d Bcast: a.b.c.f Mask: m.m.m.m
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 (OJO: Modo
promiscuo)

RX packets: 0 errors:0 dropped:0 overruns:0TX packets:0 errors:0
dropped:0 overruns:0

Interrupt:15 Base Address:0x300

Este sistema no es infalible.

Existen programas que pueden hacer esta labor como:
cpm (Check Promiscuous Mode)
Este pequeño programa realizado por la Universidad de Carnegie Mellon, chequea el interfaz de red de la máquina descubriendo si está siendo utilizado en modo promiscuo (escuchando todo el tráfico de la red).

$ cpm

4 network interfaces found:

eth0:5: Normal
eth0:3: Normal
eth0:2: Normal
eth0:1: Normal
eth0: *** IN PROMISCUOUS MODE ***

Existen otros programas como Antisniff, Sentinel, SniffDet, ifstatus o NEPED:
Veamos como trabaja NEPED

Tenemos que introducir la interfase de red:

neped eth0

----------------------------------------------------------

> My HW Addr: 00:50:BF:1C:41:59
> My IP Addr: 192.168.0.1
> My NETMASK: 255.255.255.0
> My BROADCAST: 192.168.1.255

----------------------------------------------------------
Scanning ....

* Host 192.168.0.3, 00:C2:0F:64:05:FF **** Promiscuous mode detected
!!!

End.

NEPED utiliza la técnica de realizar una simple petición ARP para cada una de las IPs de la red a diagnosticar, pero ojo, los paquetes no van destinados a broadcast (FF:FF:FF:FF:FF:FF), sino a una dirección aleatoria e inexistente. Sólo las interfaces en modo promiscuo verán estos paquetes, y de esta manera, sólo estas interfaces contestarán a estas peticiones.

Existe también un dispositivo de hardware llamado Tap. Este dispositivo permite conectarse a un Hub o incluso a un switch de red al cual conectásemos un dispositivo (ordenador) para monitorizar la red. Existen tipos de Taps para cada tipo de red Ethernet 10 Mbps, 100 Mbps y 1 Gbps.

Más información en: http://www.netoptics.com/
SniffDet - Remote Sniffer Detection

http://prdownloads.sourceforge.net/sniffdet/sniffdet-0.9.tar.gz

Usa las técnicas test ICMP, test ARP, test DNS y test de ping de latencia.

# ./sniffdet 0.9
A Remote sniffer Detection Tool
Copyright (c) 2003
Ademar de Souza Reis Jr.
Milton Soares Filho

Usage: ./sniffdet [options] TARGET
Where:
TARGET is a canonical hostname or a dotted decimal IPv4 address

-i --iface=DEVICE Use network DEVICE interface for tests
-c --configfile=FILE Use FILE as configuration file
-l --log=FILE Use FILE for tests log
-f --targetsfile=FILE Use FILE for tests target
--pluginsdir=DIR Search for plugins in DIR
-p --plugin=FILE Use FILE plugin
-u --uid=UID Run program with UID (after dropping root)
-g --gid=GID Run program with GID (after dropping root)
-t --test=[testname] Perform specific test
Where [testname] is a list composed by:
dns DNS test
arp ARP response test
icmp ICMP ping response test
latency ICMP ping latency test
-v --verbose Run in verbose mode
-h, --help Show this help screen and exit
--version Show version info and exit

Defaults:
Interface: "eth0"
Log file: "sniffdet.log"
Config file: "/etc/sniffdet.conf"
Plugins Directory: "/usr/lib/sniffdet/plugins"
Plugin: "stdout.so"

You have to inform at least one test to perform

Vemos un ejemplo resultado de este software:

------------------------------------------------------------
Sniffdet Report
Generated on: xxxxxxxxx 2003
------------------------------------------------------------
Tests Results for target 192.168.2.1
------------------------------------------------------------
Test: ARP Test
Check if target replies a bogus ARP request (with wrong MAC)
Validation: OK
Started on: xxxx
Finished on: Mxxxxx
Bytes Sent: 84
Bytes Received: 60
Packets Sent: 2
Packets Received: 1
------------------------------------------------------------
RESULT: POSITIVE
------------------------------------------------------------
------------------------------------------------------------
Number of tests with positive result: #1

AntiSniff_v1.3

http://www.l0pht.com/antisniff

Esta herramienta, tanto para plataformas linux/Unix como para Win32, es muy sencilla de usar y tan sólo es necesario introducir el rango ede IPs a monitorizar en busca del posible sniffer. Usa las técnicas de ping de latencia, test DNS y test ARP.
Sentinel

http://www.packetfactory.net/Projects/sentinel/

Utiliza los métodos de: test DNS, test ARP, prueba ICMP Etherping, y ping de latencia.

Uso de sentinel:

./sentinel [método] [-t ] [opciones]

Métodos:

[ -a test ARP ]

[ -d test DND ]

[ -i ICMP Test ping de latencia]

[ -e ICMP test Etherpingt ]

Opciones:

[ -f fichero o IP]

[ -c clase C a monitorizar]

[ -n ]

[ -I ]

Ejemplos:

./sentinel -a -t 192.168.1.2

Optimizado para usar el test ARP host 192.168.1.2

./sentinel -d -f 1.1.1.1 -t 192.168.1.2

Optimizado para usar el test DNS host 192.168.1.2

192.168.4

Optimizado para escanear una red de clase c (192.168.4) usando el test ARP, DNS y test Etherping
Otras formas de detectar posibles sniffers

* Detectar y controlar los logs que suelen generar los sniffers.
* Detectar y controlar las conexiones al exterior.
* Monitorizados los programas que acceden al dispositivo de red.
* Normalmente una interfase en modo promiscuo, queda reflejada en el fichero de logs:
* $ cat /var/log/messages

Otras técnicas de detección

Sólo por nombrar algunas, son usadas por los programas anti-sniffers. Comentaremos la última:

* Ping de latencia
* Test ARP
* Uso de un IDS. Por ejemplo Snort que contiene un preprocesador (arpspoof) que nos puede servir. Aquí las líneas de snort.conf configurando el preprocesador:

arpspoof
#----------------------------------------
# Experimental ARP detection code from Jeff Nathan, detects ARP
attacks,
# unicast ARP requests, and specific ARP mapping monitoring. To make
use
# of this preprocessor you must specify the IP and hardware address
of hosts on # the same layer 2 segment as you. Specify one host IP
MAC combo per line.
# Also takes a "-unicast" option to turn on unicast ARP request
detection.
# Arpspoof uses Generator ID 112 and uses the following SIDS for
that GID:
# SID Event description
# ----- -------------------
# 1 Unicast ARP request
# 2 Etherframe ARP mismatch (src)
# 3 Etherframe ARP mismatch (dst)
# 4 ARP cache overwrite attack

preprocessor arpspoof
preprocessor arpspoof_detect_host: 192.168.2.1 f0:0f:00:f0:0f:00

Otro IDS para sistemas Linux como Prelude Hybrid IDS (http://www.preludeids.org/rubrique.php3?id_rubrique=13)

Posee un plugin ( ArpSpoof Plugin ) que nos ayuda a detectar incoherencias en mensajes ARP, conflictos con una base de datos ARPwatch (veremos esto más adelante), etc:

Configuración de plugin: /usr/local/etc/prelude-nids/prelude-nids.conf

...
[ArpSpoof]
#
# Search anomaly in ARP request.
#
# The "directed" option will result in a warn each time an ARP
# request is sent to an address other than the broadcast address.
#
# directed;
# arpwatch= ;
...

* Test DNS

Las técnicas de detección. Breve explicación.

El test DNS

En este método, la herramienta de detección en sí misma está en modo promiscuo. Creamos numerosas conexiones TCP falsas en nuestro segmento de red, esperando un sniffer pobremente escrito para atrapar estas conexiones y resolver la dirección IP de los inexistentes hosts. Algunos sniffers realizan búsquedas inversas DNS en los paquetes uqe capturan. Cuando se realiza una búsqueda inversa DNS, un utilidad de detección de sniffers "huele" la petición de las operaciones de búsqueda para ver si el objetivo es aquel que realiza la petición del host inexistente.

El Test del Ping

Este método confía en un problema en el núcleo de la máquina receptora. Podemos construir una petición tipo "ICMP echo" con la dirección IP de la máquina sospechosa de hospedar un sniffer, pero con una dirección MAC deliberadamente errónea. Enviamos un un paquete "ICMP echo" al objetivo con la dirección IP correcta, pero con una dirección de hardware de destino distinta. La mayoría de los sistemas desatenderán este paquete ya que su dirección MAC es incorrecta. Pero en algunos sistemas Linux, NetBSD y NT, puesto que el NIC está en modo promiscuo, el sniffer asirá este paquete de la red como paquete legítimo y responderá por consiguiente. Si el blanco en cuestión responde a nuestra petición, sabremos que está en modo promiscuo. Un atacante avanzado puede poner al día sus sniffers para filtrar tales paquetes para que parezca que el NIC no hubiera estado en modo promiscuo.

El Test ICMP

Ping de Latencia. En éste método, hacemos ping al blanco y anotamos el Round Trip Time (RTT, retardo de ida y vuelta o tiempo de latencia) Creamos centenares de falsas conexiones TCP en nuestro segmento de red en un período de tiempo muy corto. Esperamos que el sniffer esté procesando estos paquetes a razón de que el tiempo de latencia incremente. Entonces hacemos ping otra vez, y comparamos el RTT esta vez con el de la primera vez. Después de una serie de tests y medias, podemos concluir o no si un sniffer está realmente funcionando
en el objetivo o no.

El test ARP

Podemos enviar una petición ARP a nuestro objetivo con toda la información rápida excepto con una dirección hardware de destino errónea. Una máquina que no esté en modo promíscuo nunca verá este paquete, puesto que no era destinado a ellos, por lo tanto no contestará. Si una máquina está en modo promiscuo, la petición ARP sería considerada y el núcleo la procesaría y contestaría. Por la máquina que contesta, la sabemos estamos en modo promiscuo.

El test Etherping

Enviamos un "ping echo" al host a testear con una IP de destino correcta y dirección MAC falseada. Si el host responde, es que su interfaz está en modo promiscuo, es decir, existe un sniffer a la escucha y activo.
Protegerse contra la acción de los sniffers

A grandes rasgos para protegernos de los sniffers y para que éstos no cumplan sus objetivos de olfateo de contraseñas y en general nos "lean datos sensibles" en texto plano -sin cifrado fuerte-, podemos hacer uso de diversas técnicas o utilizar sistemas como:

* Redes conmutadas (no siempre es efectivo)
* PGP
* SSL
* SSH
* VPN
* etc.

Aunque ya veremos más adelante que ni siquiera el uso de SSH, por citar un ejemplo, nos puede proteger efectivamente del uso de ciertos tipos de sniffer como ettercap.
Detección en sistemas Windows
PromiScan

"PromiScan ( http://www.securityfriday.com/) es una utilidad de distribución gratuita diseñada para dar caza a los nodos promiscuos en una LAN rápidamente y sin crear una carga pesada en la red. Hay que tener en cuenta que localizar un nodo promiscuo es una tarea ardua, y que en muchos casos el resultado es incierto; no obstante, PromiScan consigue mostrar cada uno de esos nodos de una manera transparente, claramente visible. Para usar PromiScan es necesario contar con Windows 2000 Professional y haber instalado previamente el controlador WinPcap."
PromiscDetect

http://ntsecurity.nu/downloads/promiscdetect.exe

:\scan>promiscdetect
PromiscDetect 1.0 - (c) 2002, Arne Vidstrom
(arne.vidstrom@ntsecurity.nu)
- http://ntsecurity.nu/toolbox/promiscdetect/

Adapter name:

- NIC PCI 3Com EtherLink XL 10/100 PCI para administraci¾n completa
del equipo
(3C905C-TX)

Active filter for the adapter:

- Directed (capture packets directed to this computer)
- Multicast (capture multicast packets for groups the computer is a
member of)
- Broadcast (capture broadcast packets)
- Promiscuous (capture all packets on the network)

WARNING: Since this adapter is in promiscuous mode there could be a
sniffer
running on this computer!

ProDETECT 0.2 BETA

http://sourceforge.net/projects/prodetect/

Alerta de ProDETECT:

Alerta de ProDETECT
Detección en redes conmutadas

En redes conmutadas o que hagan uso de switches, la técnica de ARP poisoning o envenenamiento arp es la más efectiva. Esta técnica consiste, muy brevemente, en modificar (envenenar) la tabla ARP de los host involucrados en el ataque para que éstos envíen a la red tramas Ethernet con destino la MAC del atacante. Esto significa que el switch entregará los datos de la comunicación a dicho host. Para evitar el refresco de la caché ARP es necesario el envió constante de arp-reply.

Una posible solución o defensa sería el uso de MACs estáticas, con el fin de que no puedan ser modificadas, aunque en algunos sistemas Windows esto no es eficiente al 100 por 100.

En sistemas Linux la herramienta ARPWatch ( http://www-nrg.ee.lbl.gov/) nos puede servir para detectar el uso del envenenamiento ARP en nuestro sistema. Con ARPWatch podemos comprobar la correspondencia entre pares IP-MAC (Ethernet). En caso de que un cambio en un par se produzca (esto es, se escuche en el interfaz de red del sistema), ARPWatch envía un correo de notificación del suceso a la cuenta root o administrador del sistema con un mensaje tipo "FLIP FLOP o Change ethernet address" . También podemos monitorizar la existencia de nuevos host (aparición de una nueva MAC en la red).

# ./arpwatch -?
Version 2.1a11
usage: arpwatch [-dN] [-f datafile] [-i interface] [-n net[/width]]
[-r file]
[-u username] [-e username] [-s username]

# cat /etc/sysconfig/arpwatch
# -u : defines with what user id arpwatch should run
# -e : the where to send the reports
# -s : the -address
OPTIONS=""

Una herramienta similar a ARPwatch pero para sistemas Windows la encontramos en WinARP Watch v1.0 ( http://www.securityfocus.com/data/tools/warpwatch.zip). Esta herramienta no enviará correo alguno a ningún administrador, pero nos tendrá puntualmente informados sobre la caché ARP, las correspondencias IP/MAC, cualquier nuevo par que se añada a la caché, etc.

Una alerta de WinARP Watch:

Una alerta de WinARP Watch

Existe un tipo especial de switches que está preparado para que la tabla ARP no pueda ser modificada.

Hablando de herramientas, una que realiza este trabajo de escucha en redes conmutadas con gran eficacia es Ettercap. Ettercap ( http://ettercap.sourceforge.net ) es capaz de escuchar tanto redes basadas en hubs como en switches. Además puede escuchar conexiones SSH e incluso detectar otros envenenamientos o modificaciones de la tabla ARP.
Detección de envenenamiento ARP con ettercap en un sistema Windows.

C:\...\ettercap>ettercap -Nc

ettercap 0.6.b (c) 2002 ALoR & NaGA

List of available devices :

--> [dev0] - [3Com EtherLink PCI]

Please select one of the above, which one ? [0]:
Your IP: 192.168.4.3 with MAC: 00:04:76:F2:C9:5F on Iface: dev0
Building host list for netmask 255.255.255.0, please wait...

Sending 255 ARP request...

* |==================================================>| 100.00 %

Resolving 14 hostnames...

* |==================================================>| 100.00 %

Checking for poisoners...

MAC of 192.168.4.59 and 192.168.4.235 are identical !

Otra herramienta que detecta cambios en los pares IP/MAC así como ataques tipo arp-spoofing es ACiD (ARP Change intrusion Detection)

C:\scan\ACID>acid
ACiD - 0.0.2 - (c) 2002 Roberto Larcher - robertolarcher@webteca.port5.com
All rights reserved.

Press CTRL+C to stop.

Initializing default adapter. Please wait...

IP: 0.4.168.192 Subnet Mask: 0.255.255.255
Network type: Ethernet

ACiD: bogon 192.168.4.1 00:04:76:97:b3:a9
ACiD: bogon 192.168.5.240 00:06:5b:05:9a:e7
ACiD: bogon 192.168.4.1 00:04:76:97:b3:a9
ACiD: bogon 192.168.2.3 00:a0:24:4d:bc:69
ACiD: bogon 192.168.4.5 00:04:76:9a:66:a6
ACiD: bogon 192.168.2.3 00:a0:24:4d:bc:69
ACiD: bogon 192.168.2.3 00:a0:24:4d:bc:69
ACiD: bogon 192.168.4.3 00:04:76:f2:c9:5f
ACiD: bogon 192.168.4.3 00:04:76:f2:c9:5f
ACiD: bogon 192.168.4.20 00:a0:24:4e:4e:4e
ACiD: bogon 192.168.5.240 00:06:5b:05:9a:e7
ACiD: bogon 192.168.4.5 00:04:76:9a:66:a6
ACiD: bogon 192.168.4.1 00:04:76:97:b3:a9
ACiD: bogon 192.168.4.20 00:a0:24:4e:4e:4e
ACiD: bogon 192.168.4.15 00:01:02:e7:57:cf
ACiD: bogon 192.168.4.8 00:10:4b:4d:15:bb

Ctrl+C detected...

IP <-> MAC table:

192.168.2.3 00:a0:24:4d:bc:69
192.168.4.1 00:04:76:97:b3:a9
192.168.4.10 00:a0:24:4e:51:6b
192.168.4.15 00:01:02:e7:57:cf
192.168.4.20 00:a0:24:4e:4e:4e
192.168.4.3 00:04:76:f2:c9:5f
192.168.4.5 00:04:76:9a:66:a6
192.168.4.8 00:10:4b:4d:15:bb
192.168.5.240 00:06:5b:05:9a:e7

ArpCount table:

192.168.2.3 -3
192.168.4.1 -8
192.168.4.10 1
192.168.4.15 -2
192.168.4.20 3
192.168.4.3 -2
192.168.4.5 -10
192.168.4.8 1
192.168.5.240 -6

En la consola de ACID si existe un error en la paridad IP/MAC nos alertará de esta manera:

ACiD: bogon 192.168.4.5 00:04:76:f2:c9:5f
(00:11:22:33:44:55)
ACiD: ethernet mismatch 192.168.4.5 00:04:76:f2:c9:5f (00:11:22:33:44:55)
ACiD: bogon 192.168.4.5 00:04:76:f2:c9:5f (00:11:22:33:44:55)
ACiD: ethernet mismatch 192.168.4.5 00:04:76:f2:c9:5f (00:11:22:33:44:55)
ACiD: bogon 192.168.4.5 00:04:76:f2:c9:5f (00:11:22:33:44:55)
ACiD: ethernet mismatch 192.168.4.5 00:04:76:f2:c9:5f (00:11:22:33:44:55)
ACiD: bogon 192.168.4.5 00:04:76:f2:c9:5f (00:11:22:33:44:55)
ACiD: ethernet mismatch 192.168.4.5 00:04:76:f2:c9:5f (00:11:22:33:44:55)
ACiD: bogon 192.168.4.1 00:04:76:97:b3:a9
ACiD: bogon 192.168.4.5 00:04:76:9a:66:a6
Possible spoof 192.168.4.5 00:04:76:9a:66:a6 was at 00:04:76:f2:c9:5f



http://www.maestrosdelweb.com/editorial/sniffers/

0 comentarios

Reloj




http://www.clocklink.com/clocks/0001-blue.swf?TimeZone=CET&Place=&

0 comentarios

Ubuntu 6.06 LTS ISP Server Setup with DTC

Ubuntu 6.06 LTS ISP Server Setup with DTC

Install of Ubuntu 6.06 LTS Server with the DTC control panel to provide a secure virtual hosting platform for Email, Webmail Anti-spam and Anti-virus with usage statistics.
This system uses the LAMP install of Ubuntu and Domain Technologies control panel.

Remote access with ssh
Firewall security with Shorelines Shorewall
DNS Sever: Bind9
FTP server: Pureftp
Mail: Postfix, Courier POP(s), IMAP(s)
Web mail with Squirrelmail
Mailing lists management with mlmmj
Anti virus and Spam controls with Spam Assassin, Clam AV,SPF, Amavis
Web statistics with Webalizer and awstats
Security certificates from CaCerts

The control panel also features a package installer for 'one click' application deployment.
For the future, the control panel supports virtualisation with xen.
I can be contacted by email at kdavies at syntosdotltddotuk or from my website www.syntos.ltd.uk.

Enjoy

Kevin

Install the Ubuntu LAMP server.

Reconfigure eth0 for a static ip address.

In this example I used 192.168.1.15 as the server ip.

Now for some configuration changes as root.

sudo -i

vi /etc/network/interfaces

#This file describes the network interfaces available on your system
#and how to activate them. For more information, see interfaces(5).
#The loopback network interface
auto lo

iface lo inet loopback

#The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.15
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1


Turn off IPv6

echo "alias net-pf-10 off" > /etc/modprobe.d/bad_list

reload the network settings

/etc/init.d/networking restart

edit the /etc/hosts file to reflect the new ip.

vi /etc/hosts

127.0.0.1 localhost
192.168.1.15 myhostname.home.net myhostname
#The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

A reboot may be desirable at this stage.

Update your system

Check /etc/apt/sources.list to ensure repositories are enabled and remove cdrom from sources.list

vi /etc/apt/sources.list

apt-get update

apt-get upgrade
Remote access with ssh

apt-get install ssh

use ssh to connect to your server.

ssh adminname@192.168.1.15

To log into the admin account on the server without having to enter a password each time, populate the authorized_keys file on the server

ssh-copy-id -i ~/.ssh/id_dsa.pub adminname@192.168.1.15

You can now logon to the server.

ssh adminame@192.168.1.15

Start a root session

sudo -i

Remove some unwanted software

apt-get remove pppoeconf ppp pppconfig

Now to get some software

apt-get install screen defoma fontconfig gawk fileutils unrar-free zip unzip libzzip-0-12 mhonarc fakeroot chrootuid patch ucf openntpd ncftp

apt-get install php5 php5-cli php5-cgi php5-curl php5-gd php5-imap php5-mcrypt php5-mhash php5-pspell php5-recode php5-snmp php5-xmlrpc php5-xsl php-pear php-net-smtp php-net-socket php-xml-parser

When asked about libclient answer no. we want to use maildirs.

apt-get install bind9 bindgraph

apt-get install rrdtool rrdcollect mrtg-rrd librrd2 mrtg libgd-tools mrtg-contrib


Answer no to MRTG user only.
edit mrtg.cfg to reflect your web work directory

vi /etc/mrtg.cfg

apt-get install libmysqlclient12 libdigest-hmac-perl libdigest-sha1-perl libhtml-parser-perl libhtml-tagset-perl libltdl3 liburi-perl libnet-ip-perl libnet-dns-perl libnet-cidr-lite-perl libmail-spf-query-perl

apt-get install libsocket6-perl

needed for mysql authentication

apt-get install libpam-mysql libnss-mysql

apt-get install postfix postfix-mysql courier-base courier-pop courier-imap courier-authdaemon courier-maildrop courier-authmysql courier-ssl courier-imap-ssl courier-pop-ssl sasl2-bin libsasl2 libsasl2-module

rm /var/spool/postfix/var/run/saslauthd/
ln -s /var/run/saslauthd /var/spool/postfix/var/run

Answer yes for web based configuration files.
Chose Internet site

apt-get install spamassassin spamc

apt-get install clamav-base clamav-daemon php5-clamavlib clamav clamav-freshclam

apt-get install phpmyadmin webalizer awstats squirrelmail sqwebmail amavisd-new amavisd-new-milter

Had some problems with ftp-server, this worked.

aptitude -t ftp-server install pure-ftpd pure-ftpd-common pure-ftpd-mysql

pear install Crypt_CBC Auth_SASL

Some setting up

ln -s /usr/share/php/PEAR /usr/share/pear
ln -s /var/log /etc/apache2/logs
touch /etc/apache2/logs/mod_log_sql-preserve
chown nobody:nogroup /etc/apache2/logs/mod_log_sql-preserve

Set up root user password for MySQL

mysqladmin password mysqlrootpassword

PHP settings

Edit php.ini files.

vi /etc/php5/apache2/php.ini

max_execution_time = 300
memory_limit = 32M
upload_max_filesize = 6M
extension=mysql.so
extension=mysqli.so

then copy to the cgi and cli directories

cp /etc/php5/apache2/php.ini /etc/php5/cgi
cp /etc/php5/apache2/php.ini /etc/php5/cli

Apache configuration

copy the cgi-bin alias from default site to apache2.conf

vi /etc/apache2/apache2.conf

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all


Restart Apache webserver

apache2ctl restart

Add the dtc repository to /etc/apt/sources.list

echo deb ftp://ftp.gplhost.com/debian stable main /etc/apt/sources.list

Update apt

apt-get update

apt-get install mlmmj sbox-dtc libapache2-mod-log-sql-mysql libapache2-mod-log-sql libapache2-mod-log-sql-ssl
Install DTC control panel

For the standard release:

apt-get dtc

For the latest version from cvs:

apt-get install cvs

cvs -d :pserver:anonymous@gplhost.com:/var/lib/cvs login

Password is anoncvs

cvs -d :pserver:anonymous@gplhost.com:/var/lib/cvs checkout dtc

cvs -d :pserver:anonymous@gplhost.com:/var/lib/cvs logout

Now to make DTC package

cd dtc/bin

./makeDebian

Next install the control panel

dpkg -i dtc_0.21.0-0_all.deb

To remove dtc

dpkg -r dtc

To reconfigure dtc

dpkg-reconfigure dtc

Install some traffic loggers

apt-get install mysqmail-postfix-logger mysqmail-courier-logger mysqmail-pure-ftpd-logger

Firewall configuration with Shorewall

apt-get install shorewall

To get phpmyadmin to work I had to edit /etc/phpmyadmin/blowfish_secret.inc.php and add it to /usr/share/phpmyadmin/config.inc.php
Using the control panel

Browse to http://yourdtcdomain.com/dtcadmin

Log in

Select DTC general configuration
Set Use SSL to yes

Using DTC

Set up mail

Select Users Administration ==>dtcdomain ==>Mailboxes

In the login box enter postmaster

Enter a password

for the postmaster username

In the Catch-all dropdown box select postmaster

Select ok

Continue to add emails.

To change account settings select
Admin editor or
Domain config

Adding a database

Select Client interface ==> database

First create a database username with a password

Select create

Create your database with username ==> create


http://www.howtoforge.com/ubuntu6.06_dtc_isp_server

0 comentarios

Bandwidth Monitoring Tools for Ubuntu Users

Bandwidth Monitoring Tools for Ubuntu Users.

Bandwidth in computer networking refers to the data rate supported by a network connection or interface. One most commonly expresses bandwidth in terms of bits per second (bps). The term comes from the field of electrical engineering, where bandwidth represents the total distance or range between the highest and lowest signals on the communication channel (band).

Bandwidth represents the capacity of the connection. The greater the capacity, the more likely that greater performance will follow, though overall performance also depends on other factors, such as latency.

Here is the list of bandwidth monitoring tools for your network bandwidth

bmon
bwbar
bwm
bwm-ng
iftop
iperf
ipfm
speedometer
cbm
ibmonitor
pktstat
mactrack
MRTG
Cacti

Now we will see each tool separately

bmon

bmon is a portable bandwidth monitor and rate estimator running on various operating systems. It supports various input methods for different architectures.

Various output modes exist including an interactive curses interface, lightweight HTML output but also formatable ASCII output

Current Stable Version :- 2.1.0

Install bmon in Ubuntu

sudo apt-get install bmon

This will complete the installation.

If you want to open the application you need to enter the following command

bmon

you should see the following output

If i select the eth0 i should see all the traffic details

If you want to know more available options check man page

bwbar

This program will output a PNG and a text file that can be used in scripts or be included in web pages to show current bandwidth usage. The amount of total bandwidth can be customized. The PNG output appears as a bar graph showing maximum possible usage with the current inbound or outbound usage shown as a differently colored bar.

Current Stable Version :- 1.2.3

Install bwbar in ubuntu

sudo apt-get install bwbar

This will complete the installation

There is a /etc/default/bwbar file to configure before this package will work and here is my config

# Directory to put files into
DIR=/var/www
# Who to run as
RUNAS=www-data
# What are the options (eth0, scale of 1.5mbps)
OPTIONS=”eth0 1.5″

Now you need to chnage the permissions using the following command

sudo chown -R www-data:www-data /var/www/bwbar/

Start the bwbar using the following command

sudo /etc/init.d/bwbar start

You can also launch bwbar using the following command

bwbar eth0 100 -x 200 -y 7 -t 10 -p network.png -f network.txt -d /var/www/bwbar &

Now you need to go to http://serverip/bwbar you should see the bandwidth bar as follows

If you want to know about available option check man page

bwm

BandWidth Monitor This is a very tiny bandwidth monitor (not X11). Can monitor up to 16 interfaces in the in the same time, and shows totals too.

Current Stable Version :- 1.1.0

Install bwm ubuntu

sudo apt-get install bwm

This will complete the installation now

If you want to run the application use the following command

bwm

Output looks like below

If you want more details and available options check man page

bwm-ng

small and simple console-based bandwidth monitor.Bandwidth Monitor NG is a small and simple console-based live bandwidth monitor.

Current Stable Version :- 0.5

features

supports /proc/net/dev, netstat, getifaddr, sysctl, kstat and libstatgrab

unlimited number of interfaces supported

interfaces are added or removed dynamically from list

white-/blacklist of interfaces

output of KB/s, Kb/s, packets, errors, average, max and total sum

output in curses, plain console, CSV or HTML

configfile

Install bwm-ng in ubuntu

sudo apt-get install bwm-ng

This will complete the installation

If you want to run the application you need to use the following command

bwm-ng

Output looks like below

If you want more details and available options check man page

iftop

iftop does for network usage what top does for CPU usage. It listens to network traffic on a named interface and displays a table of current bandwidth usage by pairs of hosts.

Current Stable Version :- 0.17

Install iftop in ubuntu

sudo apt-get install iftop

This will complete the installation

If you want to run the application you need to use the following command

iftop

Output looks like below

If you want more details and available options check man page

ipfm

IP Flow Meter (IPFM) is a bandwidth analysis tool, that measures how much bandwidth specified hosts use on their Internet link.

Current Stable Version :- 0.11.5

Install ipfm in Ubuntu

sudo apt-get install ipfm

This will complete the installation

Now if you want to configure this for your network you need to copy example configuration file from /usr/share/doc/ipfm/examples if you want to check this file click here

once you configure this file you need to start the service using the following command

sudo /etc/init.d/ipfm start

If you want more details and available options check man page

Speedometer

Measure and display the rate of data across a network connection or data being stored in a file.

Current Stable Version :- 2.4

Install speedometer in ubuntu

Check which version of python is the default by running

python -V

Then issue the following commands as root to install speedometer (choose the correct Urwid package for your python version, ie. if python -V reports version 2.3.X then install python2.3-urwid)

apt-get install python2.4-urwid

Download the speedometer.py source file.

As user issue the following commands in the directory that you downloaded the source file

sudo cp speedometer.py /usr/local/bin/speedometer

sudo chown root: /usr/local/bin/speedometer

sudo chmod 755 /usr/local/bin/speedometer

Now you can run the speedometer application using the following

/usr/local/bin/speedometer

Now you should see the following screen output

Speedometer Usage

Usage: speedometer [options] tap [[-c] tap]

Available options

speedometer -h

Usage: speedometer [options] tap [[-c] tap]…

Monitor network traffic or speed/progress of a file transfer. At least one tap must be entered. -c starts a new column, otherwise taps are piled vertically.

Taps:

[-f] filename [size] display download speed [with progress bar]

-f must be used if directly following another

file tap without an expected size specified

-rx network-interface display bytes received on network-interface

-tx network-interface display bytes transmitted on network-interface

Options:

-i interval-in-seconds eg. “5″ or “0.25″ default: “1″

-p use plain-text display (one tap only)

-b use old blocky display instead of smoothed display even when UTF-8 encoding is detected

-z report zero size on files that don’t exist instead of waiting for them to be created

Usage Examples

How long it will take for my 38MB transfer to finish?

speedometer favorite_episode.rm $((38*1024*1024))

How quickly is another transfer going?

speedometer dl/big.avi

How fast is this LAN?

$ cat /dev/zero | nc -l -p 12345

$ nc host-a 12345 > /dev/null

$ speedometer -rx eth0

How fast is the upstream on this ADSL line?

speedometer -tx ppp0

How fast can I write data to my filesystem? (with at least 1GB free)

dd bs=1000000 count=1000 if=/dev/zero of=big_nothing &
speedometer big_nothing

cbm

cbm — the Color Bandwidth Meter — displays the current traffic on all network devices.

Current Stable Version :- 0.1-1

Install cbm in ubuntu

First you need to download the .deb package from here

once you have the .deb package you need to install using the following comamnd

sudo dpkg -i cbm_0.1-1_i386.deb

this will complete the installation now if you want to use the appltcation use the following command

cbm

Output looks like below

pktstat

pktstat listens to the network and shows the bandwidth being consumed by packets of various kinds in realtime. It understands some protocols (including FTP,HTTP, and X11) and adds a descriptive name next to the entry (e.g., ‘RETR cd8.iso’, ‘GET http://slashdot.org/’ or ‘xclock -fg blue’).

Current Stable Version :- 1.8.3

Install pktstat in Ubuntu

First you need to download .rpm package from here once you have the .rpm package you need to convert this .rpm file to .deb file using alien

Install alien

sudo apt-get install alien

Now you need to use the follwoing command to convert .rpm to .deb

sudo alien -k pktstat-1.7.2q-0.i386.rpm

Now you should be having pktstat_1.7.2q-0_i386.deb package

Install pktstat in Ubuntu

sudo dpkg -i pktstat_1.7.2q-0_i386.deb

This will complete the installation now you can open the application using the following command

pktstat

output looks like below


If you want more available options for pktstat check man page

ibmonitor

ibmonitor is an interactive linux console application which shows bandwidth consumed and total data transferred on all interfaces.

Current Stable Version :- 1.4

Its main features are:

Shows received, transmitted and total bandwidth of each interface

Calculates and displays the combined value of all interfaces

Displays total data transferred per interface in KB/MB/GB

Values can be displayed in Kbits/sec(Kbps) and/or KBytes/sec(KBps)

Can show maximum bandwidth consumed on each interface since start of utility

Can show average bandwidth consumption on each interface since start of utility

The output with all features (max, avg and display in Kbps and KBps) easily fits on a 80×24 console or xterm

Can interactively change its output display format depending on key pressed by user.

Install ibmonitor in Ubuntu

First you need to download the latest version from here

wget http://ovh.dl.sourceforge.net/sourceforge/ibmonitor/ibmonitor-1.4.tar.gz

Now you have ibmonitor-1.4.tar.gz

Extract this file using the following commands

tar xvfz ibmonitor-1.4.tar.gz

cd ibmonitor

If you want to run the application use the following command

Once you are in ibmonitor folder use

./ibmonitor

Output looks like the following screen

iperf

While tools to measure network performance, such as ttcp, exist, most are very old and have confusing options. Iperf was developed as a modern alternative for measuring TCP and UDP bandwidth performance.

Iperf is a tool to measure maximum TCP bandwidth, allowing the tuning of various parameters and UDP characteristics. Iperf reports bandwidth, delay jitter, datagram loss.

Current Stable Version :- 2.0.2

Install iperf in ubuntu

sudo apt-get install iperf

iperf Syntax

iperf [-s|-c host] [options]

Example

iperf -c server address -F file-name

iperf -c server address -I

The -F option is for file input.

The -I option is for input from stdin.

If you want more details and available options check man page

tcptrack

tcptrack is a sniffer which displays information about TCP connections it sees on a network interface. It passively watches for connections on the network interface, keeps track of their state and displays a list of connections in a manner similar to the unix ‘top’ command. It displays source and destination addresses and ports, connection state, idle time, and bandwidth usage.

Current Stable Version :- 1.1.5

Install tcptrack in Ubuntu

sudo apt-get install tcptrack

this will complete the installation

tcptrack Syntax

tcptrack [-dfhvp] [-r ] -i []

Examples

tcptrack requires only one parameter to run: the -i flag followed by an interface name that you want tcptrack to monitor. This is the most basic way to run tcptrack

tcptrack -i eth0

tcptrack can also take a pcap filter expression as an argument. The format of this filter expression is the same as that of tcpdump and other
libpcap-based sniffers. The following example will only show connections from host 10.45.165.2

tcptrack -i eth0 src or dst 10.45.165.2

The next example will only show web traffic (ie, traffic on port 80)

tcptrack -i eth0 port 80

The following output screen will show you more details

MRTG

The Multi Router Traffic Grapher or just simply MRTG is free software for monitoring the traffic load on network links. It allows the user to see traffic load on a network over time in graphical form.

Current Stable Version :- 2.15.0

Project Homepage

http://oss.oetiker.ch/mrtg/

Cacti

Cacti is a complete network graphing solution designed to harness the power of RRDTool’s data storage and graphing functionality. Cacti provides a fast poller, advanced graph templating, multiple data acquisition methods, and user management features out of the box. All of this is wrapped in an intuitive,easy to use interface that makes sense for LAN-sized installations up to complex networks with hundreds of devices.

Current Stable Version :- 0.8.6i

Project Homepage

http://www.cacti.net

Regarding MRTG and Cacti i am going write detailed articles in future




http://www.ubuntugeek.com/bandwidth-monitoring-tools-for-ubuntu-users.html

0 comentarios

Bajarse una web entera

Bajarse una web entera

Comandos
Bajarse una web entera con linux es muy sencillo.Simplemente has de abrir una consola y escribir wget -r paginaweb.Por ejemplo para bajarse esta web,seria:
wget -r -k http://tuxhuellas.bitacoras.com/

tb puedes poner a bajar varias web a la vez.Para ello escribe las direcciones en un fichero de texto (xejemplo:websadercargar.txt)y luego ejecuta el comando asi:
wget -r -i webadescargas.txt

Facil,no?pues a probarlo ;)


wget
—-
Gestor de descargas (si pide autorizacion–http-user –http-passwd), s –mirror, -X para excluir las sources, -l solo entra en los links locales, cosa muy util.

Para descargar un fichero indefinido de veces (-t 0),retomando la descarga en la proxima ejecucion si se corta la conexion o se para el programa (-c), identificandose como un navegador web normal para evitar ser detectado por servidores (-U “Mozilla”) y no identificandose como un robot para tener acceso completo
a las paginas (-erobot=off), auque algunas estan protegidas contra descargas abusibas.

wget -t 0 -c -U “Mozilla” http://www.playboy.com/virus.zip

Para descargar completamente una pagina (-r) y convertir los enlaces para verla localmente (-k):
wget -t 0 -c -U “Mozilla” -erobot=off -r -k http://xxx.unizar.es

Para descargar la lista de enlaces de un fichero urls.txt:
wget -i urls.txt

Para aceptar solamente los ficheros JPG y MPG (-A *.jpg,*.mpg):
wget -t 0 -c -U “Mozilla” -erobot=off -r -k -A *.wmv,*.mpg,*.avi,*.mpeg http://www.fotos_y_videos_guarros.es

Bajar el directorio completo:
wget -r -A=.html,.deb -nc -np http://www.debian.org/~jules/gnome-stage-2/dists/

NOTA: Si bajas una serie de archivos html que en su contenido incluyen vinculos a otras paginas html, el WGET cambia las url’s y las adapta a tu maquina local, de manera que puedes navegar en los archivos que bajaste y en sus vinculos sin necesidad de estar conectado a la WEB.

/////////////////////////////////////////////////

Un saludo

http://www.tuxhuellas.com/2006/03/07/bajarse-una-web-entera/

0 comentarios

Configurando facilmente redes inalambricas en Linux

Configurando facilmente redes inalambricas en Linux

Leemos literalmente de http://oswax.sourceforge.net/
Hace un tiempo comencé un proyecto de gestor de redes inalámbricas que llamé Oswa... La idea era hacerlo funcionar en consola y comencé haciendo simples echos y cowsays :P.

Sin embargo la funcionalidad del proyecto era buena y seguí trabajando en ello... Ahora tiene soporte para MacChanger, generación de scripts para redes favoritas, escaneado y elección de red con un menú sencillo... Incluso una interfaz de verdad con dialog (el sistema que utiliza la instalación de Debian) compatible con X gracias a Xdialog....(sigue)

El programa, que ahora se llama OswaX (descubrí que me habían pillado el nombre original) está tomando buena forma.
FUNCIONALIDADES

* Escaneado de redes vía iwlist y elección y conexión mediante un sencillo menú.
* Configuración de algunos parámetros
* Petición de IP vía DHCP
* Generación de scripts de conexión a redes favoritas personalizados
* Soporte de Macchanger para cambiar por software la MAC de su tarjeta por una introducida manualmente o por una aleatoria.
* Soporte de encriptación WEP

La web oficial es http://oswax.sourceforge.net/

0 comentarios

Conectarse a wifi con wpa2


Conectarse a wifi con wpa2

Empezaba pensar en cambiar mi encriptacion del router por una wep con filtrado de mac. Pero hoy he conseguido la solucion.

Los paquetes qeu debemos instalar son (estan todos en los repositorios de ubuntu):

* network-manager (y network-manager-gnome si usas gnome)
* wpagui
* wpasupplicant

y listo, reiniciamos el pc y veremos un nuevo demonio en la barra de tareas. Pinchamos en el y seleccionamos nuestra red, nos pregunta el tipo de encriptacion y la contraseña. Luego nos pedira que pongamos una contraseña al anillo de redes, esta servira para impedir qeu cualquiera qeu coja nuestro pc, se conecte a nuestra wifi.

(una fotico del programa en si )

A disfrutar!!!!

PD: Para detectar wifis me gusta mucho tb el wifi-radar, pero no me permitia conectarme a una wap2…

http://www.ecualug.org/?q=2005/11/17/forums/como_monitorear_el_trafico_de_internet