Inicio

gnoMint: X.509 CA management tool

Quan administres alguns sistemes i comences a montar serveis SSL arriba un moment que acabes familiaritzan-te amb la sintaxis d’openSSL per la generació de certificats i fins hi tot entitats certificadores autosignades. El problema és quan has de mantenir diverses entitats i diversos certificats arriba un moment que ja no recordes a quina màquina tens els fitxers guardas i l’administració de tot plegat es fa força pesat.

Així doncs, m’he decidit a provar gnoMint que eś una eina programada amb GTK i que fa de GUI a les típiques funcioalitats que demanem sovint al openSSL. Així doncs, és molt senzill de crear diverses entitats certificadores amb diversos certificats associats a cada una d’elles. Però el més important és senzillissim de mantenir, ja que en un cop d’ull saps quins certificats tens creats i quins et caldran per un nou projecte. A més de poder exportar les claus publiques i privades de forma ben senzilla.

Un petit resum de funcionalitats de l’eina seria el que trobem a la seva web:

  • Creating all the infrastructure to keep and run a Certification Authority, saved in only one file.
  • Create Certification Signing Requests, allowing to export them to PKCS#8 files, so they can be send to other CAs.
  • Create X.509 certificates, with a usual set of subject-parameters.
  • Export certificates and private keys to PEM files, so they can be used by external applications.
  • For each CA, establish a set of policies for certificate generation.
  • Import CSRs made by other applications
  • Export PKCS#12 structures, so the certificates can be imported easily by web and mail clients.
  • Revoke certificates, and generate the corresponding CRLs
  • Allow the possibility of keeping the CA private key, or other private keys, in external files or devices (as USB drives)
  • Allow the management of a whole hierarchy of CAs, with their respectives certificates.
  • Import pre-existing Certification Authorities, with all their data.
  • Allow an easy CA operation from command-line tools, for batch certificate creation, or integration with other utilities.

Microfeed – feeds via DBUS

Avui he descobert microfeed, es tracta d’una implementació d’arquitectura client-servidor que permet accedir a diferents fonts d’informació d’internet publicades via feeds. Potser el que més gràcia m’ha fet és que si volem usar aquesta llibreria per programar, per exemple, una GUI que permeti gestionar aquestes dades l’accés es fa a través de DBUS. És a dir, per un costat microfeed recull les dades de les seves fonts originals (twitter, facebook, identi.ca, etc) i la GUI es comunica amb la llibreria via DBUS. De fet, el que realment m’ha fet gràcia és que això és el que fa Telepathy però encomptes de fer-ho contra feeds ho fa contra jabber/XMPP, MSN, IRC, SIP, etc.

Una forma molt visual d’entendre que fa microfeed és amb aquest esquema:

microfeed_architecture

En principi la única GUI que he trobat que usa aquest backend és Mauku que és una aplicació pensada per Maemo.

Amb el primer cop d’ull a la llibreria no he arribat a trobar com ho fa per rebre els feeds dels llocs com twitter i facebook, imagino que ho farà via polling. Seria interessant saber si també ho pot fer per PubSub. Ja que segons l’esquema només tinc la sensació que el PubSub s’usa via DBUS. Si algún dia em poso a treballar amb la llibreria espero aclararir-ho.

/wp-includes/js/tinymce/themes/advanced/skins/wp_theme/content.css

eBox – servidor, gateway i d’altres funcionalitats avançades per PIMES

ebox-logo.pngL’any 2.006 vaig descobrir eBox, fins hi tot vaig escriure un article que parlava d’ell. Doncs a arrel del article que vaig escriure fa unes setmanes sobre clearOS l’Oriol em va fer pensar altre cop amb l’eBox preguntant-me què tal estava. Doncs bé, la curiositat em va picar i el dilluns el vaig instal·lar en una màquina virtual.

Així doncs a estones durant tota la setmana he estat jugant una mica amb l’eina. En linies generals he de dir que ha millorat moltíssim des de que el vaig descobrir i que integra un munt de funcionalitats noves. La usabilitat continua sent un punt fort de l’eina i també la facilitat d’ús. Jo diria que qualsevol administrador de sistemes de linux en té prou amb uns pocs minuts per sentir-se molt còmode usant l’eina.

Per altre banda no vull deixar de destacar que com a backend per la gestió d’usuaris per tots els serveis que té usa LDAP, cosa que m’ha agradat moltíssim. O sigui, que tenim un postfix, squid, dovecot, asterisk, jabberd2, openvpn, etc. De fet, només això en si mateix ja és un bon motiu per tenir-lo instal·lat en algún racó ja que sempre ens pot anar bé per consultar alguna configuració. A més de poder tenir un esquema d’usuaris per LDAP que podem reaprofitar per integrar en la xarxa de servidors o de desktops. Ja sigui per integrar en el PAM dels linux i/o en l’autenticació dels windows ja que el podem fer treballar com a PDC.

Com ja em va passar amb clearOS, potser el més dolent és que es troben a faltar algunes opcions de configuració que al dissenyar una interficie gràfica simple han hagut d’estalviar-se. Malgrat això l’openVPN disposa de moltes més funcions que no pas el clearOS, a més de la possibilitat d’omplir un camp on podem posar els nostres parametres a mida directament contra el fitxer de configuració. El que ja és impressionant és que integra la possibilitat de poder generar fitxers .exe amb el client d’VPN i totes les configuracions pels clients integrades en l’instal·lador. És a dir, podem generar un fitxer d’instal·lador de l’VPN per cada un dels clients.

A més també vull destacar que disposa d’una PKI propia que per gestionar els certificats dels diferents serveis va molt bé. A més de poder-la utilitzar per generar certificats que després usarem en altres aplicacions ofra del eBox.

Per no seguir fent una valoració desordenada dels serveis que té l’eBox a continuació enganxo la llista de funcionalitats que he trobat a la seva web i al costat hi posaré un comentari a les que ho cregui pertinent.

  • Networking
    • Firewall and routing- bons i simples sistemes de monitorització per la xarxa cosa que sovint es troba a faltar.
      • Filtering – integració força bona de les iptables
      • NAT and port redirections
      • VLAN 802.1Q
      • Support for multiple PPPoE and DHCP gateways – ideal per tenir diverses ADSL en monopuesto.
      • Multi-gateway rules, load balancing and automatic failover – trivialitza aquesta tasca a més de poder-ho configurar fins a un detall força decent.
      • Traffic shaping (with application layer support)
      • Graphical traffic rate monitoring
      • Network intrusion detection system
      • Dynamic DNS client
    • Network infraestructure
      • DHCP server
      • NTP server
      • DNS server
        • Dynamic updates via DHCP
      • RADIUS server – molt agraït el tenir aquesta capacitat per integrar amb linksys o d’altres similars a l’hora de montar un hotspot o per montar autenticacions segures wifi
    • VPN support – molt decent la integració.
      • Dynamic routes autoconfiguration
    • HTTP proxy – forma senzilla de tenir tot el que cal en proxies.
      • Internet cache
      • User authentication
      • Content filtering (with categorized lists)
      • Transparent antivirus
    • Intrusion Detection System – integra SNORT!!! (el vaig usar al meu PFC)
    • Mail Server – un 9!!! una integració molt aconseguida i que fa tot el que li cal a una PIME i més
      • Virtual domains
      • Quotas
      • SIEVE support
      • External account retrieval
      • POP3 and IMAP with SSL/TLS
      • Spam and antivirus filtering
        • Greylisting, blacklisting, whitelisting
      • Transparent POP3 proxy filter
      • Catch-all account
  • Webmail
  • Web server – aquí és on més coixeja el tema sota el meu punt de vista perquè no et deixa tocar pràcticament res del servidor web, o almenys jo no ho he sabut trobar.
    • Virtual hosts
  • Certification authority – realment útil i simple
  • Workgroup
    • Centralized users and groups management
      • Master/slave support
      • Windos Active Directory Synchronization
    • Windows PDC
      • Password policies
      • Support for Windows 7 clients
    • Network resource sharing
      • File server
        • Antivirus
        • Recycle bin
      • Print server
    • Groupware: calendar, address book, webmail, wiki, etc. – personalment no m’agrada gens aquesta eina.
    • VoIP server – poc configurable pel meu gust, però a destacar el ben integrada que esta amb el LDAP, no he sabut veure si tb ho esta amb el XMPP/jabber2.
      • Voicemail
      • Conference rooms
      • Calls through an external provider
      • Call transfers
      • Call parking
      • Music on hold
      • Queues
      • Logs
  • Jabber/XMMP server – això no m’ho esperava, però felicitats per haver-hi pensat.
    • Conference rooms
  • eBox User Corner for self users info updating – va molt bé pq els usuaris s’ajustin el que els cal sense molestar l’administrador.
  • Reporting and monitoring
    • Dashboard for centralized service information
    • Monitor CPU, load, disk space, thermal, memory
    • Disk usage and RAID status
    • Summarized and full system reports
    • Event notification via mail, RSS or Jabber – molt interessant totes les possibilitats de monitorització que té, això val un imperi.
  • Software updates
  • Backups (configuration and remote data backup) – molt simplificada la tasca, no sé què copiara però si ho fa bé, això és brutal.
  • Control Center to easily deploy and administrate several machines running eBox Platform – aquí és on entren les funcionalitats de pagament, ho trobo molt raonable i molt bona idea.

Per acabar he de dir que clearOS hem va agradar moltíssim, potser trobaria algunes coses que les fa millor que l’eBox però he de dir que aquest és realment molt millor que l’altre. En faig una valoració realment positiva i el recomano moltíssim. Això si, si hagués de montar-ne algún en una empresa primer montaria clearOS faria un o dos dies de proves i després montaria eBox per acabar d’estar-ne content. Encara que hagués de pagar aquests dies de feina de la meva butxaca crec que estarien molt ben invertits.

NOTA: Que no se m’oblidi eBox es basa en Ubuntu i clearOS en centOS, malgrat estic familiaritzat amb els .rpm gràcies a Fedora, he de dir que hem sento molt més còmode amb eBox i això pesa molt.

debian/ubuntu: buscant quin paquet conté un fitxer

Referència ràpida per saber quin és el paquet en una debian/ubuntu que conté un fitxer. La típica funcionalitat que mai recordes quan et cal:

Paquets instal·lats:

dpkg --search /path/fitxer

Fitxers de paquets no instal·lats:

# cal la utilitat apt-file
apt-get install apt-file
apt-file update
apt-file search fitxer

eines per XMPP

A continuació adjunto una petita descripció d’algunes eines per comunicar-se amb una xarxa XMPP que poden ser molt útils:

Idavoll

Implementació del XEP-0060, o sigui, d’un servei de publish-subscribe (PubSub) esta escrit amb Python i Twisted. Bàsicament el que permet és que sobre un servidor XMPP estàndard hi podem connectar un servei basat en PubSub, o sigui, que nosaltres publiquem una serie d’informació que un seguit de clients consulten perquè hi estan subscrits. És un mètode basat en events (no-polling) molt adient per disfondre certs tipus d’informació.

Switchboard

A vegades programem shell scripts que necessiten enviar el seu resultat a la xarxa XMPP, per exemple, imagineu que volem comunicar la caiguda d’un servei a través de GTalk, doncs aquest toolkit ens simplifica moltíssim aquesta tasca. Esta programat en ruby i a part de poder-se usar des de la CLI també podem integrar-ho com a llibreria dins d’un codi en ruby.

XMPP Poetry CLI tools

El seu nom ja ho diu tot, són una col·lecció d’eines que via CLI ens permeten interactuar amb una xarxa XMPP, algunes de les seves funcions són:

  • disco: recull informació sobre serveis
  • pubsub-config: crea, configura i llança queries contra serveis pub-sub

Aquestes eines estan escrites amb Python, Twisted i Wokkel.

XMPPPHP

Llibreria de PHP5 amb suport de:

  • XMPP 1.0 (pot connectar a: GTalk, LJTalk, jabber.org, etc)
  • Suporta TLS
  • Processa diversos formats XML

Sembla força senzill d’usar, per exemple, programar un bot és tan fàcil com això:

<?php
include("xmpp.php");
$conn = new XMPP('talk.google.com', 5222, 'user', 'password', 'xmpphp', 'gmail.com', $printlog=True, $loglevel=LOGGING_INFO);
$conn->connect();
while(!$conn->disconnected) {
    $payloads = $conn->processUntil(array('message', 'presence', 'end_stream', 'session_start'));
    foreach($payloads as $event) {
        $pl = $event[1];
        switch($event[0]) {
            case 'message':
                print "---------------------------------------------------------------------------------\n";
                print "Message from: {$pl['from']}\n";
                if($pl['subject']) print "Subject: {$pl['subject']}\n";
                print $pl['body'] . "\n";
                print "---------------------------------------------------------------------------------\n";
                $conn->message($pl['from'], $body="Thanks for sending me \"{$pl['body']}\".", $type=$pl['type']);
                if($pl['body'] == 'quit') $conn->disconnect();
                if($pl['body'] == 'break') $conn->send("");
            break;
            case 'presence':
                print "Presence: {$pl['from']} [{$pl['show']}] {$pl['status']}\n";
            break;
            case 'session_start':
                $conn->presence($status="Cheese!");
            break;
        }
    }
}
?>

Redirigit peticions webmail.* en un Plesk

L’objectiu és aconseguir que totes les peticions de l’estil: http://webmail.domini.tld es redirigeixin a: http://domini.tld/webmail amb un servidor amb Plesk.

Creem el fitxer de configuració d’apache: /etc/httpd/conf.d/webmail-redir.conf

<VirtualHost ip_publica_1:80 ip_publica_2:80 ... ip_publica_3:80>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^webmail.* [NC]
RewriteMap  hostname prg:/opt/scripts/hostname.sh
RewriteRule ^(.*) http://${hostname:%{HTTP_HOST}}/webmail [L,R]
</VirtualHost>

i creem l’script: /opt/scripts/hostname.sh (perms: 755)

#!/bin/sh

while read inputline
do
        domini=$(echo $inputline| cut -d "." -f 2)
        tld=$(echo $inputline|cut -d "." -f 3)
        echo $domini.$tld
done

En escència el que estem fent és aprofitar-nos del mod_rewrite d’apache2 per poder assignar a la funció de mapes un script que retalla el HTTP_HOST treient-li la paraula webmail de l’inici. Amb això obtenim el domini al que volem connectar i només li hem d’afegir la URI a la RewriteRule perquè ens redirigeixi cap on toca.

Scroll to Top