Archives: October 2007

Verificacion de posibles ataques de bruteforce al protocolo ssh (2 parte)

0

27 October 2007 at 15:58 Filed in:Uncategorized

Con este script logramos no solo ver que direcciones Ips que tuvieron mas de 20 intentos fallidos de conexion , sino que tambien las bloqueamos para tener una mayor seguridad..

CODE:
  1. #!/bin/sh
  2.  
  3. for i in `grep "sshd" /var/log/auth.log | grep "Invalid user" | awk -F" " '{print $10}' |  sort | uniq -c | sort|sed '1,$s/^ *//' | sed '1,$s/ /|/g' `
  4. do
  5.  
  6. CNT=`echo $i | cut -f1 -d"|"`
  7. IP=`echo $i | cut -f2 -d"|"`
  8. if [ "$CNT" -gt "20" ]
  9. then
  10. echo "la ip $IP se conecto $CNT veces"
  11. echo "sshd : $IP">> /etc/hosts.deny
  12. fi
  13. done

El resultado obtenido es el siguiente en mi caso:

[~][root]# sh bloque.ar
la ip 217.150.154.88 se conecto 123 veces
la ip 200.170.227.101 se conecto 135 veces
la ip 221.8.13.187 se conecto 135 veces
la ip 24.234.56.32 se conecto 222 veces
la ip 125.248.60.132 se conecto 331 veces
la ip 200.49.181.154 se conecto 36 veces
la ip 80.247.230.204 se conecto 46 veces
la ip 200.123.153.250 se conecto 77 veces
Gracias Aldo.!

Verificacion de posibles ataques de bruteforce al protocolo ssh

0

25 October 2007 at 23:40 Filed in:Uncategorized

Pequeño script el cual nos sirve para saber las direcciones ips que estan tratando de hacer bruteforce a nuestro ssh.

CODE:
  1. grep "sshd" /var/log/auth.log | grep "Invalid user" | awk  '{print $10}' |  sort | uniq -c | sort

Para verificar la cantidad de intentos usamos:

CODE:
  1. grep "sshd" /var/log/auth.log | grep "Invalid user" | awk  '{print $10}' |  sort | uniq

Script para cifrar archivos usando gnupg

0

25 October 2007 at 19:56 Filed in:Uncategorized

Les dejo un script el cual tiene como funcion cifrar todos los archivos de un directorio, incluyendo los que esta alojando en subdirectorios.
Cabe aclarar que esta realizado para plataformas Windows y para que funcione debemos tener instalada la aplicación GnuPG.

GnuPg -> http://www.gnupg.org/(es)/index.html

El script pertenece al usuario Gasfed. =D

PERL:
  1. #!/usr/bin/perl -w
  2.  
  3. #
  4. # GasFed Nov 2006
  5.  
  6. my $gpg='C:\Program Files\GNU\GnuPG\gpg.exe';
  7.  
  8. ########### you probably don't need to edit below this line. ###########
  9. use Cwd;
  10. use Getopt::Std;
  11.  
  12. if ( $#ARGV <1 ) {
  13. print "\nUso: perl $0 DirOrigen DirDestino\n\n";
  14. print "   DirOrigen    Directorio donde se encuentran las archivos a ser encriptados\n";
  15. print "   DirDestino   Directorio donde se guardaran los arrchivos encriptados\n";
  16. exit();
  17. }
  18.  
  19. my $src=$ARGV[0];
  20. my $dst=$ARGV[1];
  21.  
  22. if ( -x $gpg ) {
  23. print "\nEncriptando..\n";
  24. print "Por favor espere, esto puede tardar unos minutos..\n";
  25. $home=getcwd;
  26. &encript($src, $dst);
  27. chdir($home);
  28. print "\nDone!\n\n";
  29. }
  30. sub encript ()
  31. {
  32. my $src = shift;
  33. my $dst = shift;
  34. (-d $src) or die "No puedo abrir el directorio $src\n";
  35. (-d $dst) or mkdir($dst) or die "No puedo abrir el directorio $dst\n";
  36. $base = getcwd;
  37. chdir("$dst");
  38. $dst=getcwd;
  39. chdir("$base");
  40. opendir( DIR, "$src" );
  41. @contents = readdir(DIR);
  42. closedir(DIR);
  43. chdir("$src");
  44. $src = getcwd;
  45. $src =~ s/\//\\/g;
  46. $dst =~ s/\//\\/g;
  47. # No hidden files and ".." directories:
  48. @contents = grep {!/^\./} @contents;
  49. # Get directories:
  50. my @dirs = grep {-d} @contents;
  51. # Get files:
  52. my @files = grep {-f} @contents;
  53. # Get images:
  54. if (@dirs==0 and @files==0)
  55. {
  56. rmdir($dst);
  57. } else {
  58. foreach my $f (sort(@files)) {
  59. $ejecutar=("\"$gpg\" --yes --output \"$dst\\$f.gpg\" --recipient seguridad --encrypt \"$src\\$f\"");
  60. $status=system($ejecutar);
  61. if ($status != 0) { print "$ejecutar\n"; }
  62. }
  63. foreach my $d (sort(@dirs)) {
  64. &encript("$src\\$d", "$dst\\$d");
  65. }
  66. }
  67. }

Tengamos en cuenta que el script usa nuestra clave privada para realizar el procedimiento de cifrado.
Les dejo un link donde van a encontrar el manual de la aplicación:

http://webber.dewinter.com/gnupg_howto/spanish/index.html

Envio de mail con archivo adjunto usando Perl

0

25 October 2007 at 19:21 Filed in:Uncategorized

Este script tiene como objetivo el envío de mails con archivos adjuntos.

PERL:
  1. #!/usr/bin/perl
  2.  
  3. use MIME::Lite;
  4. # Envío de correo
  5.  
  6. $msg = MIME::Lite->new(
  7. From =>'micuenta@dominio.com.ar',
  8. To =>'lacuentadel@destinario.com.ar',
  9. Subject =>'Test',
  10. Type =>'multipart/mixed'
  11. );
  12.  
  13. $msg->attach(
  14. Type =>'TEXT',
  15. Data =>"Cuerpo del mensaje"
  16. );
  17.  
  18. $msg->attach(
  19. Type =>'text/html',
  20. Path =>'prueba.txt',
  21. Filename =>'nuevo_nombre_de_prueba.txt',
  22. Disposition => 'attachment'
  23. );
  24.  
  25. $msg->send('smtp', 'servidor');

Cómo utilizar la herramienta Liberador de espacio en disco para eliminar la carpeta Windows.old después de que se instala Windows Vista

0

24 October 2007 at 18:48 Filed in:Uncategorized

INTRODUCCIÓN
En este artículoe describe, cómo y cuándo y utilizar la característica Liberador de espacio en disco después de instalar Windows Vista . Por ejemplo, consideren el escenario siguiente:
• Realizan una instalación personalizada de Windows Vista o una instalación limpia de Windows Vista.
• El equipo en el que instalan Windows Vista ya contiene un sistema operativo Microsoft Windows.

Read More...

Como hacer PING usando Perl

0

24 October 2007 at 4:14 Filed in:Uncategorized

Les dejo un script el cual nos sirve para hacer un ping a un host y comprobar si este responde.

PERL:
  1. #!/usr/bin/perl
  2.  
  3. use Net::Ping;
  4. $servidor = "127.0.0.1";
  5. $p = Net::Ping->new();
  6. print "$El servidor responde.\n" if $p->ping($servidor);
  7. $p->close();

Gracias nuevamente al foro de perl por su ayuda.

Listar archivos con menos de 1KB usando Perl

0

24 October 2007 at 2:41 Filed in:Uncategorized

Les dejo un pequeño script, el cual tiene como funcion listar todos los archivos de un directorio que ocupen menos de 1 KB.

Gracias al foro de : http://perlenespanol.baboonsoftware.com/ por la ayuda.

PERL:
  1. #!/usr/bin/perl
  2. ## Lista archivos que ocupen menos de 1 kb
  3. use strict;
  4. use File::Find;
  5.  
  6. my $dir = '/home/operador';
  7.  
  8. find(\&imprimir_archivo_chico, $dir);
  9.  
  10. sub imprimir_archivo_chico{
  11. my $elemento = $_;
  12. print "$File::Find::name\n" if (-s $elemento <1024 && -f);
  13. }

Instalacion y configuracion shorewall en DEBIAN con 2 interfaces.

0

23 October 2007 at 21:54 Filed in:Uncategorized

Shorewall es una robusta y extensible herramienta de alto nivel para la configuración de firewall. Solo necesita que se le proporcionen algunos datos en algunos archivos y éste creará las reglas correspondientes a través de iptables.

Los pasos a seguir son los siguientes:

1) apt-get install shorewall
2) cp * /usr/share/doc/shorewall/default-config /etc/shorewall
3) Editar los siguientes archivos en /etc/shorewall

Inicio Shorewall
/etc/default/shorewall

Donde dice startup=0 cambiarlo por startup=1

Interfaces
/etc/shorewall/interfaces

En este archivo se establecen las interfaces de las zonas a ser tomadas en cuenta por el firewall. Se establecen las que corresponden a la de Internet y Red Local.
En el siguiente ejemplo, se cuenta con una interfaz eth1 para acceder hacia Internet, y una interfaz eth0 para acceder hacia la LAN

CODE:
  1. #ZONE  INTERFACE  BROADCAST  OPTIONS  GATEWAY
  2. net    eth1       detect     dhcp
  3. loc    eth0       detect
  4. #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Zonas
/etc/shorewall/zones

En el archivo zones se definen las zonas que se administraran del firewall.

CODE:
  1. #ZONE      DISPLAY         OPTIONS
  2. fw         firewall
  3. net        ipv4
  4. loc        ipv4
  5. #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Reglas
/etc/shorewall/rules

Este es el archivo de configuración más importante de Shorewall, ya que aquí se definen las reglas que permitirán o denegarán el acceso a servicios y puertos desde y hacia zonas o el firewall. También se puede definir las reglas DNAT y registro de ciertos paquetes.

ACCEPT net $FW tcp 22
(con esto abrimos el puerto del ssh para poder ingresar desde afuera de ser necesario, de lo contrario no hace falta)

ACCEPT loc $FW tcp 3128
(con esto abrimos el puerto del proxy en el caso de tener instalado)

DNAT net loc:192.168.0.10:27016 tcp 27016
(Un ej de como abrir el puerto 27016 en la IP indicada, remplazamos por lo que querramos, muy util para poder administrar los puertos en las PC donde se quiere utilizar programas p2p)

Mas ejemplos en http://www.shorewall.net/ports.htm

Politicas
/etc/shorewall/policy

En este archivo se establecen las políticas por defecto para paquetes que viajan entre una zona hacia otra.

CODE:
  1. loc    net    ACCEPT
  2. fw    loc    ACCEPT
  3. loc    fw    ACCEPT
  4. fw    net    ACCEPT
  5. net    all    DROP
  6. all    all    REJECT

Enmascaramiento
/etc/shorewall/masq

Este archivo se lo utiliza para definir enmascaramiento (masquerading) o NAT, esto es útil cuando tenemos una red privada con la cual queremos navegar a través de un Proxy. En el siguiente ejemplo aplicaremos enmascaramiento para la interfaz eth0 (Red Lan) la cual sale por medio de la interfaz eth1 que es nuestra IP Pública:

CODE:
  1. #INTERFACE   SUBNET   ADDRESS   PROTO   PORT(S)   IPSEC
  2. eth1         eth0
  3. #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Lo mas probable es que no les inicie bien el shorewall cuando prendan la PC, para resolver ese problema hacemos lo siguientes pasos.

1) cd /etc/init.d/
2) Creamos un archivo de texto llamado shoreclear.sh o el nombre que quieran. Dentro agregamos lo siguiente:

CODE:
  1. #!/bin/sh
  2. shorewall stop
  3. sleep 4
  4. shorewall clear
  5. sleep 4
  6. shorewall start

3) Lo guardan y le dan permiso de ejecucion.
chmod +x shoreclear.sh
4) Creamos un link blando en /etc/rc2.d/ de la siguiente manera.
cd /etc/rc2.d/
ln -s /etc/init.d/shoreclear.sh
mv shoreclear.sh S92shoreclear

Con eso cada vez que inicie el sistema va a ejecutar el script que hicimos en los pasos anteriores.

Nuevo dominio: www.wikipeando.com

0

20 October 2007 at 17:07 Filed in:General

Gracias que a partir del año que viene NIC.ar va a empezar a cobrar 60$ por cada dominio .com.ar que querramos usar decidimos migrar el blog entero a un dominio .com: www.wikipeando.com.

El dominio viejo lo vamos a mantener con la redirección 301 hasta que entre en vigencia la nueva normativa (Marzo/2008), para así darle tiempo a todos (robots y usuarios) a que cambien la URL.

Saludos y Gracias!

Cómo establecer un volumen seccionado con paridad (RAID-5) en Windows Server 2003

0

5 October 2007 at 17:15 Filed in:Uncategorized

Un volumen seccionado con paridad, también denominado RAID-5 en Windows Server 2003, combina áreas de espacio libre de varios discos duros (de 3 a 32) en un volumen lógico.

La paridad es información redundante asociada con un bloque de información. En los productos Windows Server 2003, la paridad es un valor calculado que se utiliza para reconstruir datos después de producirse un error. Los volúmenes RAID-5 crean bandas de datos y paridad en un conjunto de discos. Cuando se produce un error en un disco, Windows Server 2003 utiliza la información de paridad para volver a crear los datos en el disco con errores.

Debido a esta tolerancia a errores, los administradores propician el uso de volúmenes RAID-5 cuando tanto la integridad de los datos como la velocidad de entrada y salida de los datos son importantes. Los volúmenes RAID-5 no puedenn reflejarse ni ampliarse. En un volumen RAID-5 se pueden utilizar cualquier sistema de archivos, lo que incluye los sistemas de archivos FAT, FAT32 o NTFS. Read More...