Páginas

lunes, 13 de octubre de 2014

VPN con OpenVPN y Pfsense

Redes privadas virtuales multiplataformas seguras con Pfsense y OpenVPN


Un acceso seguro y controlado a la red de una empresa para road warriors, teletrabajadores y sucursales es facil de garantizar si utilizamos OpenVPN..

El certificado raiz es utilizado para generar los certificados clientes, en nuestro caso generaremos uno propio, por lo tanto seremos nuestra propia entidad certificadora.

Certificado cliente para el pfSense, únicamente deberá estar en el Pfsense.

Certificados clientes para usuarios, es necesario un certificado para cada usuario (máquina) al que daremos acceso.

El paquete OpenVPN Client Export Utility genera paquetes instaladores para cada usuario desde el pfSense, que configurarán las máquinas clientes de manera sencilla.

No tener una IP fija obliga a utilizar un servicio ddns. Por supuesto tiene que configurar ddns en el router de su proveedor ISP, abrir el puerto que utilizará openvpn y configurar ddns en Pfsense.

No olvide copiar los nuevos archivos de configuración a la carpeta; Program Files - OpenVPN - config del sistema Windows descargados desde la pestaña Clente Export en formato comprimido.

Instalación de OpenVPN Client Export Utility


Crear el certificado del servidor VPN





User Manager Groups. Crear grupo vpngrp (opcional)


User Manager. Crear usuario vpnuser, su certificado y agregarlo al grupo vpngrp.


Desde OpenVPN: Server y la pestaña Wizards configuramos el servidor

















Conectar desde un cliente FreeBSD (desde otra red):
Instalar OpenVPN con pkg.

# rehash

Agregar al archivo /etc/rc.conf:
openvpn_enable="YES"
openvpn_if="tun"
openvpn_dir="/usr/local/etc/openvpn"

Agregar al archivo /boot/loader.conf
if_tap_load="YES"

# kldload if_tap
Crear la carpeta openvpn
# mkdir /usr/local/etc/openvpn

Descargar archivos de configuracion en formato zip y descomprimirlos en la carpeta /usr/local/etc/openvpn
Asegurese que la linea siguiente del archivo de configuracion apunte a su direccion ddns

remote freebsdsvr2.no-ip.org 1194 udp


Cambiar los permisos de los archivos descargados:


Por ultimo conectar utilizando openvpn /usr/local/etc/openvpn/archivo-config.ovpn


Conectar desde un cliente Windows (desde otra red)




System logs OpenVPN:



Unix es genial!.

sábado, 20 de septiembre de 2014

FreeBSD MBR slice Bios UEFI

FreeBSD MBR slice.

https://wiki.freebsd.org/UEFI

FreeBSD y Windows 8 en un mismo disco duro.

Nivel : Avanzado

Bios UEFI.
Activar “Launch CSM”
desctivar secure boot
pestaña exit boot override seleccionar dvd
Windows boot manager
Launch EFI shell from filesystem device

Ctrl + F1

Desde el sistema operativo Windows 8
> Configuración Windows 8 > uso general > solucionar problemas
> opciones avanzadas
> configuración de FIRWARE UEFI
Se reiniciará el portátil entrando directamente en la bios
> pestaña boot
> activar Fast boot y Launch CSM

> pestaña Security
> Secure boot control disabled
si no es posible ir a pestaña
> Advanced
- usb configuration, seleccionar y activar Legacy Support > enabled
Debería bootear USB

Mode Safe F8 o Shift F8 o desde msconfig Safe mode minimal

Crear FreeBSD MBR partición

utilizar particionado manual.
(espacio no particionado)
type freebsd
size 20 GB
OK.
De esta manera creamos

Seleccionar la nueva FreeBSD MBR (ada0s3)
Intro y crear el primer slice, root-slice. El primer slice debe ser root o FreeBSD no arrancará (boot).

Add partition
type freebsd-ufs
size 18 GB
mountpoint  /
OK. luego Intro.
Tenemos creada la slice ada0s3a

Seleccionar ada0s3 nuevamente y crear slice swap
add partition
type freebsd-swap
size 2039 MB
OK intro.
La slice swap ada0s3b ha sido creada

Finish y Commit. Ahora empieza la extracción de archivos.

- FreeBSD le preguntará por el password root
- Luego necesita configurar la interfaz de red.
- Reloj y localización.
- Demonios que se iniciarán con el sistema /(sshd y moused)
- Enable crash dumps = no
- Agregar una cuenta de usuario (grupo adicional wheel)

Abrir un shell y teclear:

boot0cfg -B ada0

Reiniciar

A partir de ahora al iniciar su portátil o pc le preguntará que sistema operativo quiere iniciar (boot).

$ gpart show

Unix es genial!.

jueves, 24 de julio de 2014

FreeBSD wifi Intel 3945ABG

El manual de FreeBSD cubre un único método que funciona hasta 7.x serie voy a añadir aquí lo que debe hacer para hacer trabajar inalámbrica Intel 3945ABG en FreeBSD 9.1.

Nota: durante la instalación FreeBSD 9.x puede hacer esto mismo de forma totalmente automatizada, creando los archivos e instalando los ports necesarios.

Gracias a vermaden administrador de daemonforums.org

Averiguar tarjeta hardware wifi de mi laptop:

$ pciconf -lv| grep Wireless

 device     = 'PRO/Wireless 3945ABG [Golan] Network Connection'

 wpi - Intel 3945ABG Wireless LAN IEEE 802.11 driver

Para compilar este driver dentro del kernel, coloque las siguientes líneas en el archivo de configuración del kernel:
           device wpi
           device wpifw
           device pci
           device wlan
           device wlan_amrr
           device firmware

Como alternativa, para cargar el controlador como un módulo en el arranque, coloque la siguiente línea en el archivo /boot/loader.conf

if_wpi_load="YES"

Por si sola la wlan0 no se podra usar para conectarse. Primero debemos generar un alias para esta como wlan0:
# ifconfig wlan0 create wlandev wpi0

# ifconfig -lv
msk0 wpi0 fwe0 fwip0 lo0 wlan0

Ahora ya teniendo una interfaz wlan0, ahora si encontraremos nuestra red alrededor:

# ifconfig wlan0 up scan
SSID/MESH ID BSSID CHAN RATE S:N INT CAPS
HPC943A6 02:21:11:c2:59:bd 10 54M -87:-96 100 I
ONOB4C5 00:1a:ef:05:97:c6 5 54M -94:-96 100 EP WPA
43157023 00:21:00:6d:e3:df 6 54M -95:-96 100 EP
Orangeb12 00:21:91:5f:1a:0d 6 54M -72:-96 100 EPS RSN WPA ATH

Es necesario añadir estas líneas a estos archivos:
Archivo /etc/wpa_supplicant.conf

# echo 'if_wpi_load="YES"' >> /boot/loader.conf

# echo 'wlans_wpi0="wlan0"' >> /etc/rc.conf
# echo 'ifconfig_wlan0="WPA DHCP"' >> /etc/rc.conf
# echo 'defaultrouter="192.168.1.1"' >> /etc/rc.conf
# echo 'wpa_supplicant_enable="YES"' >> /etc/rc.conf
# echo 'wpa_supplicant_conf_file="/etc/wpa_supplicant.conf"' >> /etc/rc.conf

Solo root tendrá acceso al archivo wpa_supplicant.conf:
# chmod 600 /etc/wpa_supplicant.conf

# wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
-B para que la aplicación se ejecute en segundo plano.

Los dos ejemplos de wpa_supplicant son válidos:
# ee /etc/wpa_supplicant.conf

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
ap_scan=1

# WPA2-PSK
network={
ssid="ONO6F49"
bssid=5c:35:3b:ea:68:b3
key_mgmt=WPA-PSK
proto=RSN WPA
psk="0aQpU$nMSHhV"
}


Archivo /etc/rc.conf


Archivo /boot/loader.conf


Interfaz gráfica, por supuesto, instalamos wifimgr (WiFi Networks Manager)
# pkg install wifimgr

Esta aplicación creará su propio archivo wpa_supplilcant.conf pero antes guardará el wpa_supplicante.conf actual bajo el nombre wpa_supplicante.conf.save.




http://www.qnx.com/developers/docs/6.4.1/io-pkt_en/user_guide/wpa_background.html
http://howtobsd.com/hardware/wi-fi-on-freebsd.html
http://forums.freebsd.org/viewtopic.php?t=44211

Unix es genial!.

viernes, 11 de julio de 2014

Privoxy Squid Freebsd

Servidor FreeBSD

Interfaz LAN = em0 (Interna) 192.168.3.0/24
Interfaz WAN = em1 (Internet) 192.168.1.0/24
Sistema Oper = FreeBSD 9.1 RELEASE
Firewall     = IPFilter
Nombre del servidor = freebsdsvr

Privoxy es un proxy web sin almacenamiento en caché con capacidades avanzadas de filtrado para mejorar la privacidad, la modificación de los datos de las páginas web y las cabeceras HTTP, el control de acceso, y la eliminación de los anuncios y otra basura de Internet.

Un proxy caché, como Squid es utilizado para reducir el tráfico externo sobre la red para páginas con frecuencia extravagantes, como Google. Esto también mejora la respuesta de la red local, el tráfico se almacena en la caché local para recuperar páginas utilizadas con frecuencia.

A menudo, el uso de otras cachés de su proveedor ISP en Internet para dar forma al flujo de tráfico y ciertos países utilizan una combinación de firewalls y proxies con Listas de exclusión para limitar el contenido entregado a sus ciudadanos. Esto también se puede utilizar a la inversa, y un usuario competente puede utilizar otro proxy en un no-estándar puerto evitando así el filtro de contenido original. Por tanto, es importante para bloquear la red y vigilar cualquier actividad extraña.

Vamos a usar Privoxy para el contenido de filtrado. Webmin es útil, ya que permite visualizar estadísticas de memoria caché a través de un navegador.

Además de las características principales de bloqueo de anuncios y gestión de cookies, Privoxy proporciona numerosas funciones complementarias, que le dan al usuario final más control, más privacidad y más libertad:

Soporte "Connection: keep-alive". Las conexiones salientes se pueden mantener con vida de forma independiente desde el cliente.

Soporta el etiquetado que permite cambiar el comportamiento basado en cabeceras cliente y servidor.

Se puede ejecutar como un "intercepting" proxy, lo que evita la necesidad de configurar los navegadores de forma individual.

Acciones y filtros sofisticados para manipular el servidor y el cliente.

Configuración y control de la utilidad integrada basada en navegador en http://config.privoxy.org/ (atajo: http://p.p/).

Rastreo basada en navegador de reglas y filtros de efectos. Conmutación remoto.

Filtrado de páginas Web (reemplazos de texto, elimina banners basados ​​en el tamaño, invisibles "web-bugs" y molestias HTML, etc)

Soporte para expresiones regulares de Perl compatibles en los archivos de configuración y una sintaxis de configuración más sofisticada y flexible.

GIF de animación.

Bypass muchos click-tracking (scripts de seguimiento de clics) (evita scripts de redirección).

Auto-detección y relectura de los cambios del archivo de configuración

Si tiene intención de encadenar Privoxy y Squid localmente, entonces el encadenamiento navegador > Squid > Privoxy es la forma recomendada.

Instalar los ports:
# pkg install privoxy squid webmin

Configuración de privoxy:
Copiar el archivo de user.action a la carpeta de privoxy
# cp /usr/local/share/examples/privoxy/user.action /usr/local/etc/privoxy/

Archivo de configuración de privoxy:
# ee /usr/local/etc/privoxy/config

user-manual /usr/local/share/doc/privoxy/user-manual
confdir /usr/local/etc/privoxy
logdir /var/log/privoxy
actionsfile match-all.action # Actions that are applied to all sites
actionsfile default.action   # Main actions file
actionsfile user.action # User customizations
filterfile default.filter
logfile logfile
debug     1 # Log the destination for each request Privoxy let through. See also debug 1024.
debug  1024 # Log the destination for requests Privoxy didn't let through, and the reason why.
debug  4096 # Startup banner and warnings.
debug  8192 # Non-fatal errors
toggle  1
enable-remote-toggle  0
enable-remote-http-toggle  0
enable-edit-actions 1
enforce-blocks 0
buffer-limit 4096
enable-proxy-authentication-forwarding 0
listen-address 127.0.0.1:8118
forwarded-connect-retries  0
accept-intercepted-requests 0
allow-cgi-request-crunching 0
split-large-forms 0
keep-alive-timeout 5
tolerate-pipelining 1
socket-timeout 300

Iniciar privoxy:
# echo 'privoxy_enable="YES"' >> /etc/rc.conf

# /usr/local/etc/rc.d/privoxy start
Starting privoxy..

Configurar Squid:
Archivo de configuración de Squid:

acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access deny all
icp_access allow localnet
icp_access deny all
http_port 3128
hierarchy_stoplist cgi-bin ?
access_log /var/squid/logs/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
cache_peer localhost parent 8118 7 no-query
never_direct allow all
always_direct deny all
acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
forwarded_for off
coredump_dir /var/squid/cache
# Define ACL for protocol FTP
acl ftp proto FTP
# Do not forward FTP requests to Privoxy
always_direct allow ftp


Iniciar Squid:
# echo 'squid_enable="YES"' >> /etc/rc.conf

# /usr/local/etc/rc.d/squid start
Starting squid.

Perfecto!.
Establecer la IP y puerto del proxy de la red en un pc cliente freebsd:


Configurar servidor proxy en Opera:

Configurar proxy en Chromium:




Entramos en una página que contiene mucha publicidad, por ejemplo, thepiratebay.se. Previamente hemos desactivado Adblock:



Listas de sockets abiertos (servidor):
# root@freebsdsvr: / # sockstat -4



Iniciar webmin:
# echo 'enable_webmin="YES"' >> /etc/rc.conf

Tiene que ejecutar /usr/local/lib/webmin/setup.sh script con el fin de configurar los distintos ficheros de configuración, escriba:
# /usr/local/lib/webmin/setup.sh
...

Web server port (default 10000):  [Press Enter]
Login name (default admin):  [Press Enter]
Login password: [type password]
Password again:
Use SSL (y/n): y

...

# /usr/local/etc/rc.d/webmin start
Starting webmin.
Pre-loaded WebminCore

Desde un navegador cliente de la red:
https://192.168.3.1:10000


BSD Magazine. - Rob Somerville
http://body0r.wordpress.com/2009/06/24/tor-privoxy-squid-a-little-howto/
http://www.privoxy.org/user-manual/index.html
http://www.privoxy.org/user-manual/introduction.html

Unix es genial!.

viernes, 13 de junio de 2014

FreeBSD cambiar disco duro


Cambiar disco duro conservando la configuración actual del sistema FreeBSD.

tar es una aplicacion creada alrededor de 1975 que trabaja en cooperación con el sistema de ficheros. En FreeBSD el comando por defecto es bsdtar.

En este caso se trata de duplicar un sistema FreeBSD instalado en un disco duro de 320 GB a otro un disco duro de 120 GB. El espacio utilzado en el disco duro actual (320 GB) es de 30 GB, por tanto un disco duro de 120 GB dispone de espacio suficiente.

Los pasos a seguir son:

Realizamos una instalación mínima en el disco duro de 120 GB que a partir de ahora llamaremos ada1. Igual que el disco duro de 320 GB que llamaremos ada0 el particionado utilizado desde el instalador es auto. Este es el resultado:

Disco ada0:
/dev/ada0p1 boot
/dev/ada0p2 raiz
/dev/ada0p3 swap

Disco ada1:
Disco ada0:
/dev/ada1p1 boot
/dev/ada1p2 raiz
/dev/ada1p3 swap


Comprobar que la instalación mínima (ada1) arranca.

El disco duro ada0 conectarlo como master
El disco duro ada1 conectar como esclavo.

Arrancar el sistema desde el disco duro ada0 (desde la bios puede cambiarse la secuencia de arranque) en modo single user pulsando la barra espaciadora en la cuenta atrás de 10 segundos y pulsar 6 (single user). Presionar Enter para la shell por defecto.

Desde el símbolo del sistema:

# fsck -p
# mount -u /
# mount -a
# swapon -a
# adjkerntz -i

Asegúrese que los archivos de dispositivos del disco duro esclavo (ada1) han sido creados:
# ls /dev/ada1*

/dev/ada1p1
/dev/ada1p2
/dev/ada1p3

Crear un sistema de ficheros nuevo en la partición raiz el disco nuevo ada1 (120 GB). Dejamos sin cambios la partición de arranque /dev/ada1p1:

# newfs /dev/ada1p2

Crear el punto de montaje
# mkdir /mnt/root

Montar la partición:
# mount /dev/ada1p2 /mnt/root

Vamos a crear un archivo tar.gz de la partición raiz /dev/ada0p2 (disco ada0). :
# cd /
# bsdtar czvf /mnt/root/ada0p2.tar.gz *

Si se fija este archivo tar.gz ha sido creado en la particion ada1p2 (raiz) del disco nuevo. Vamos a copiarlo al disco duro ada0 para dejar la partición raiz del disco duro nuevo libre:

# mkdir /dbackup
# cp /mnt/root/ada0p2.tar.gz /dbackup/

Si quiere puede borrar el archivo tar.gz del disco duro nuevo:
# rm -f /mnt/root/ada0p2.tar.gz

Restaurar los datos en el disco duro nuevo:
# cd /mnt/root/
# bsdtar xzvf /dbackup/ada0p2.tar.gz

Después de finalizar, desmonte la partición y permita softupdates en la nueva unidad.
# umount /mnt/root
# tunefs -n enable /dev/ada1p2

Todo lo que debe hacer ahora es apagar el sistema desconectar el disco duro viejo (ada0) y conectar el nuevo disco duro como master e iniciar el sistema desde el nuevo disco duro:
# shutdown -p now

Unix es genial!.