oriolrius.cat

Des del 2000 compartiendo sobre…

Tag: network

Mikrotik as a PPTP server for Android

Reading time: 4 – 6 minutes

Two years ago I installed a Mikrotik Cloud Switch and lately I stoped my pfSense and I started using that switch as my network router, firewall and also as a switch. RouterOS is really powerful and allows to do a lot of things with that hardware. One of those things is set-up a VPN server based on PPTP. This is not the most secure way to create VPNs but usually the only requirement is a little bit of security on top of an IP over IP service that allows us to use local service when we’re in remote. In my case I have a lot of services in my LAN and I need some of them when I’m out of home specially I need to use them from my mobile phone.

Next steps describe how I set-up a PPTP server on my Mikrotik server allowing my Android 6 device (Huawei Mate 8) to connect to my home services through the VPN. Bellow you have a simple schema representing the schenario of the solution:

architecture

I’m only going to describe steps from the web console, of course, all those steps can be done using Winbox or the command line. To be honest I’m not used to RouterOS CLI but I think it’s not difficult to figure out the CLI commands to get the same result.

First step is set-up a pool of IP addresses to be assigned to the tunnel endpoints.

01-ip-pool

02-ip-pool

Thanks to an ARP proxy those IP addresses will be available like local IPs, this is transparent for the VPN configuration.

00-arp-proxy

configuration of connection profile is done inside “Profiles” tab:

05-profiles

first of all create a new profile called “default-encription”:

061-profiles

and another profile called “pptp-profile”:

06-profiles

“Secrets” tab is where you have to manage users, in my case only two users are created:

07-secrets

configuration details about my user are:

08-secrets

Inside PPP menu there is a button with a label “PPTP server” click there…

03-pptp-server

… and copy next settings:

04-pptp-server

Don’t forget to check that your PPTP port is accessible from your public IP address. Remember it’s 1723/TCP.

Android configuration is simple, first of all go to “settings” icon. Look for a “More” section bellow network options, and you’ll find VPN managment. Add a new connection, define a name, the type and the IP address and leave the rest by default. After that when you come back to VPN list you’ll find your new VPN in the list, click there and just set-up your PPTP credentials.

android

If you have some trouble the only thing that you can do is go to Mikrotik logs or start sniffing to figure out where is the problem. I had to do some tests before it was working but in the end everything was so simple like I explained here.

Good luck and enjoy it.

Thanks to next blog entries to inspire me:

 

 

pfSense: unlock SSH

Reading time: < 1 minute After several tries without success to pfSense's SSH server the port is blocked by a service called "sshlockout". If you need to unblock the SSH service run the command from shell:

pfctl -t sshlockout -T flush

In the end that command only removes the rules in table “sshlockout” in firewall entries.

Routerboard CRS125-24G-1S-2HnD-IN (Mikrotik) Cloud Switch

Reading time: 1 – 2 minutes

I bought this product a few weeks ago and finally I can enjoy it at home. With this product you have a firewall, gateway, switch and wireless box with:

  • 25x Gigabit Ethernet ports
  • 1x Fiber channel
  • 3G, 4G or any optional USB modem
  • With RouterOS inside you can manage: gateway, firewall, VPN and ad-hoc switching and routing configurations
  • 1000mW high power 2.4GHz 11n wireless AP
CRS125-24G-1S-2HnD-IN

CRS125-24G-1S-2HnD-IN

The official product page is here where you can find brochure in PDF and other useful information.

If you are looking for a powerful product for your SOHO network this is the solution as I like to say ‘this is one of the best communications servers’. It will be very difficult to find some feature or functionality that you can not get from this product. The product is robust and stable with the flexibility of RouterOS.

Technitium MAC Address Changer

Reading time: 1 – 2 minutes

I just want to share with you a small and powerful Windows tool I found in my last trip to US. The best feature IMHO is that permits to change the MAC address of your NIC interface without rebooting, safely and fast. It could be useful when you have a limit time to connect to internet in a free Wi-Fi network; after changing your MAC address you should be like a new device. If you have to do something like this, remember to remove the browser cookies.

Other interesting features of this tool is network presets. You can change your NIC settings very fast just changing a preset profile. As you can see in next screenshot it has a simple chart of your real time network traffic. And finally I want to stand out you can see all your network devices configuration very fast.

technitium MAC address changer screenshot

Technitium MAC Address Changer home page.

Postfix autenticació amb sasldb

Reading time: 2 – 2 minutes

Quatre notes que tinc pendents de classificar, com donar suport d’autenticació a postfix de forma ràpida i senzilla.

Paquets que cal tenir a més del postfix: cyrus-sasl, cyrus-sasl-md5.

Línies que cal tenir al /etc/postfix/main.cf:

smtpd_sasl_application_name = smtpd
smtpd_sasl_type = cyrus
smtpd_sasl_path = sasl2/smtpd.conf
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination

Fitxer de configuració del servei d’autenticació /etc/sasl2/smtpd.conf:

pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM

Assegurar-se que el propietari del fitxer /etc/sasldb2 és postfix.

El fitxer /etc/sasldb2 és una base de dades Berkeley DB que guarda els usuaris i les seves paraules de pas en text pla. Així doncs, no és molt segur però una solució més que suficient per molts entorns SOHO.

Gestió d’usuaris:

# afegir usuari
saslpasswd2 -a smtpd -u domini_exemple.com nom_usuari

# borrar usuari
saslpasswd2 -d -u domini_exemple.com nom_usuari

# llistar usuaris
sasldblistusers2

La configuració que heu de posar al MUA pel que fa al servidor de correu ha de ser del tipus:

usuari: nom_usuari@domini_exemple.com
pass: el que hagiu definit
mecanisme d'autenticació suportats:  PLAIN LOGIN CRAM-MD5 DIGEST-MD5 NTLM

UPDATE 27/2/2012:

Perquè es pugui tenir accés al fitxer /etc/sasldb2 cal que el mòdul smtpd de postfix no es llenci com a chroot. Per evitar això cal modificar el fitxer /etc/postfix/master.cf concretament la línia del dimoni smtpd ha de quedar així:

smtp      inet  n       -       n       -       -       smtpd

Per tenir suport de SASL a Ubuntu Lucid cal instal·lar els paquets: sasl2-binlibsasl2-modules.

clearOS Enterprise

Reading time: 3 – 4 minutes

clearOS logoAbans de marxar de vacances tot parlant amb el Carles vaig descobrir el clearOS i després d’un parell de dies fent-hi proves esporàdiques no volia deixar l’oportunitat d’escriure quatre ratlles sobre el que m’ha semblat.

Es tracta d’una distribució de linux especialment orientada a petites empreses amb pocs servidors, malgrat per algunes mitjanes empreses també crec que estaria ben indicada. Basada en Redhat/CentOS i totalment focalitzada a ser usada via una interficie web força amigable.

Incorpora diverses eines sempre gestionables desde web que permeten fer funcions de servidor de xarxa i/o de gateway de comunicacions. Per exemple:

  • funcions de directori
    • LDAP amb usuaris i passwords integrats per la resta de serveis
    • gestor de certificats de seguretat
  • funcions de xarxa
    • multi-wan
    • VPN, PPTP, IPSec, OpenVPN
    • DMZ i NAT 1-1
    • funcions de firewall
    • servidor DHCP i DNS
    • UPnP
  • funcions de gateway
    • antimalware: antivirus, antiphing i antispyware
    • antispam
    • gestor d’ampla de banda
    • detector d’intrusions
    • filtres de protocols, fins hi tot P2P
    • filtres de continguts
    • web proxy
    • control d’accés
  • funcions de servidor
    • Windows Networking com a PDC
    • serveis de fitxers i impresores
    • flexshares (diverses formes de compartir fitxers: SMB, FTP, Web, etc)
    • groupware i connector d’outlook
    • servidors de correu: POP, IMAP, SMTP, Webmail i recollida de correu
    • filtres de correu: antispam, antimalware, greylisting i quarantena
    • arxivador automàtic de correu
    • gestor de bbdd MySQL
    • servidor web amb PHP

A més al estar orientat a un entorn professional l’empresa que desenvolupa clearOS disposa d’un servei anomenat clearSDN, a través del qual es pot obtenir:

  • Software Updates Priority security and bug updates to the ClearOS software.
  • Content Updates Required updates to Content Filter, Intrusion Protection, Antispam and Antimalware.
  • Monitoring Alarms and reporting for bandwidth, resource and security management.
  • Remote Services Critical services for VPN, DNS and Remote Server Backup.

Fins hi tot tenen uns dispositius anomenats clearBOX que porten el sistema operatiu integrat i ja disposen d’uns quants ports ethernet, ideals per fer de gateway o fins hi tot de switch.

Com no podia ser d’altre forma tot plegat té un bon manual de suport pels usuaris més novells, ja que només amb una mica d’experiència en l’administració de sistemes tot plegat es fa molt intuitiu.

En general m’ha quedat un bon gust de boca pel que fa a l’eina, potser on més he trobat que coixeja el sistema és en detalls de configuració més avançats, per exemple, del servidor d’OpenVPN i cosetes similars. Però per empreses petites i mitjanes com ja deia abans és més que suficient en la majoria de casos.



Nagios external commands

Reading time: 1 – 2 minutes

Tan de temps usant nagios i mai havia tingut la necessita de recorrer als Nagios External Commands. Escencialment es tracta d’una named-pipe que usa Nagios per rebre comandes via shell.

  • Sintaxis per injectar les comandes. Per suportar aquesta funcionalitat previament cal haver-la habilitat al fitxer de configuració de nagios, això també ho trobareu a l’anterior enllaç.
  • Comandes suportades, la llista és força gran i hi podem trobar coses com ara forçar un check per host o fins hi tot deshabilitar els checks sobre un servei o un host.

A continuació adjunto la comanda que podeu llençar desdel prompt per llençar una ordre al nagios al cap de deu segons. En aquest cas forcem que es verifiquin tots els serveis d’un host.

# des del directori on hi ha la 'named-pipe' sovint anomenada 'nagios.cmd'
now=$(date +%s); next=$(expr $now + 10); echo "[$now] SCHEDULE_FORCED_HOST_SVC_CHECKS;nom_host;$next" > nagios.cmd

Per veure el resultat de la comanda i si aquesta ha estat rebuda pel nagios només cal que mirem el fitxer nagios.log. La sortida del log serà algo així:

data host_server nagios: EXTERNAL COMMAND: SCHEDULE_FORCED_HOST_SVC_CHECKS;nom_host;unix_ts

Després em pregunten perquè no m’agrada el Windows…

Reading time: 2 – 2 minutes

Aquesta tarda he patit un expedient X’s, de fet, tots estem acostumats a ser víctimes d’aquests fenòmens quan treballem amb ordinadors i si és amb Win encara més. La qüestió ha estat amb una placa IB830H. Aquesta placa porta embeded una Intel PRO/100 VE una targeta més que típica i tòpica en sistemes professionals. A més podria afegir que és una de les targetes que més m’agradan. Per si fos poc el seu suport en sistemes de Microsoft estan soportadíssimes, com no podia ser d’altre forma.

Doncs la qüestió és que després d’instal·lar els drivers que havia descarregat des de la web d’intel la targeta es detectava perfectament i si esnifava el canal fins hi tot veia a passar paquets però en cap cas la targeta rebia cap paquet.

Després de fer mil proves i canviar els drivers un munt de vegades, la cosa no ha canviat gens i quan ja estava apunt de llençar la toballola he provat una cosa tan estúpida i simple com:

  • Entrar a la BIOS
  • Desactivar la targeta de xarxa
  • Arrancar el Windows
  • Després apaguem
  • Tornem a entrar a la BIOS
  • Activar la targeta de xarxa
  • Tornem a entrar al Windows
  • … i ja va tot sense tocar res!!!

Increible, eh!? doncs això és el bonic que té el Windows. He de dir que com sempre passa durant tot aquest procés incert he arrencat amb una CD de Gentoo i la targeta de xarxa sense fer totes aquestes tonteries funcionava perfectament. O sigui, que rebia i enviava paquets sense problemes. Realment això és una altre prova de com el Windows és contraproduent en molts i molts sentits!

Zivios: Introducció

Reading time: 4 – 6 minutes

El mes de Juny vaig parlar-vos de la meva idea de com montar un sistea SSO, concretament era al podcast 1×10. Doncs Zivios malgrat no és literalment una implementació d’aquest sistema si que ens nutreix d’un munt d’eines per tenir un sistema que serveixi de base per aquella idea. De fet, serveix per moltes altres coses i potser la idea que porten els seus creadors és més semblant a crear un sistema de directori (tipus AD) que no pas només un sistema d’SSO. Però sigui com sigui, després d’experimentar unes quantes hores amb el Zivios crec que val la pena que ús en faci cinc cèntims.

Algunes de les funcions de Zivios són:

  • Identity managament
  • Single sign-on
  • User, group and computer provisioning
  • Remote management of services
  • Core Infrastructure Services (NTP,DNS, CA, etc)

El projecte esta encara molt i molt verd, tot just s’ha publicat la versió 0.5.1 i les he passat ‘canutes’ per fer coses ben simples o per entendre com usar l’eina degut a la seva poca documentació, tan és així, que fins hi tot vaig haver d’entrar al canal d’IRC que tenen com a suport a parlar amb alguns dels desenvolupadors perquè em donessin un cop de mà per entendre algunes coses. De fet, hi ha diverses coses que pretenc integrar amb Zivios que encara no hem funcionen. Però malgrat totes aquestes notes de poca maduresa del projecte, el tema promet moltíssim i l’enfoc que li han donat a les coses m’encanta.

Per començar, les eleccions de les aplicacions Open Source que han escollit ja m’han semblat un gran què: MySQL, OpenLDAP, Heimdal Kerberos, PHP5, Memcached, Python+Twisted, XMLRPC, OpenSSL i moltes altres eines que formen part del meu dia a dia. Així doncs, no suposa un gran problema anar a mirar les entranyes del Zivios per entendre com funcionen algunes de les seves parts. Totes aquestes eines es combinen en un model client-servidor per tal de poder administrar de forma centralitzada diverses funcions de les estacions de treball, servidors, serveis i d’altres.

Cal destacar també que els serveis que s’administren des de Zivios es poden ampliar mitjançant el desenvolupament de plug-ins. Per exemple, ja hi ha fets plug-ins per samba, asterisk i algún servei més. En el meu cas on estic posant més enfasi és en aconseguir integrar els servidors amb LDAP i Kerberos, així doncs puc tenir una base de dades d’usuaris, grups i autenticació pels accessos als servidors. A més a través de les ACL que té Zivios puc controlar qui pot i qui no entrar als servidors. Per altre banda, també he aconseguit connectar OpenFiler a Zivios, el problema que tinc ara és que no me’n ensurto amb l’autenticació però suposo que és qüestió de temps. Quan aconsegueixi combinar tot això i si els resultats són els esperats espero poder-ho montar com a plug-in.

Per posar un exemple pràctic i perquè es vegi la potència de la idea, podem des del panell de control web de l’eina donar d’alta una localització, dins una oficina, després els seus usuaris, grups d’usuaris, serveis, servidors i estacions de treball. Després podem sobre tots aquests agents definir per exemple, les extencions d’asterisk, els accessos als recursos compartits per samba, el seu sistema d’autenticació centralitzat, configuracions DNS, NTP i moltes d’altres configuracions tot de forma centralitzada còmode i senzilla d’aministrar. A més podem establir usuaris amb certs permisos d’administrador per delegar-los tasques que es podran gestionar des de l’interficie web.

Sota el meu punt de vista el projecte és molt ambiciós i veig difícil que pugui arribar a madurar prou com per poder fer tot el que s’apunta des d’un inici. Però sent pragmàtics només amb el que ja es dibuixa ara mateix i per gestionar les parts més comuns entre diversos sistemes ja em conformo. És a dir, com a evolució natural del sistema NIS i servei de SSO, crec que ja és més que vàlid. Després si puc fer que s’integri amb software appliances que uso de forma habitual crec que puc arribar a tenir un gestor de la infraestructura de xarxa més que decent. Quan parlo de software appliances ara mateix tinc al cap sobretot OpenFiler i pfSense.

ssldump depuració de tràfic xifrat

Reading time: 2 – 2 minutes

Tothom coneix el TCPdump i fins hi tot hi ha gent com jo que l’usem a diari, de fet, no fa massa temps  vaig re-descobrir el TCPflow (ja l’havia descobert abans, però vaig cometre el gran error d’oblidar-lo). Doncs bé, el problema d’aquestes eines és que són molt útils per tràfic sense xifrar però quan es tracta de tràfic xifrat amb SSL/TLS com ara HTTPs o d’altres protocols que viatgen xifrats i volem saber perquè no funcionen hem de recorrer a eines com el ssldump.

SSLdump permet seguir el fluxe de les conexions TCP xifrades amb SSLv3/TLS. Obviament per aconseguir desxifrar el contingut de l’enllaç hem de facilitar-li els certificats corresponents a l’eina. Però no només ens permet depurar a nivell de dades que corren per TCP sinó que també ens dona informació del propi protocol de xifrat descrita de forma humana. O sigui, que podem saber si el problema de l’enllaç és produeix durant el procés de handshake, ChangeCipherSpec o dins del protocol.

El que jo feia fins ara per poder analitzar el contingut d’un protocol que viatge xifrat és ajudar-me de l’eina sslproxy. La qual feia de bouncer al servidor de protocol o al client, així doncs obtenia un tram de la conexió que no anava xifrat i a través del tcpflow o el tcpdump podia obtenir el tràfic en clar. La tècnica és enginyosa i útil però ferragosa en comparació al ssldump.