Installazione di OpenCA su Debian

Premessa
Dopo le svariate prove d’installazione effettuate, seguendo varie guide trovare in rete, da un paio di queste sono riuscito a farne una che come risultato finale portasse ad una installazione valida.

Tutte le prove sono state condotte su una macchina VMware con la distribuzione Debian 4r0 scaricabile da questo link

Installazione
I repositori dei pacchetti che ho usato, sono quelli disponibili nella distribuzione. Occorre effettuare un aggiornamento degli stessi prima di cominciare con l’installazione dei pacchetti necessari, utilizzando il comando apt-get update.

Dato che alcuni software saranno compilati da sorgenti, dobbiamo predisporre il sistema con i pacchetti adeguati.

apt-get install g++ gcc make libssl-dev ncftp ftp unzip bzip2 zip nmap ssh

OpenCA richiede come prerequisiti alcuni pacchetti perl, necessari per il suo funzionamento.

apt-get install libwww-perl libxml-perl libxml-regexp-perl libdbi-perl perl perl-modules libldap2 libldap2-dev libdbd-mysql-perl libauthen-sasl-perl libx500-dn-perl libcgi-session-perl libconvert-asn1-perl libdigest-md2-perl libdigest-md4-perl libdigest-sha1-perl libio-socket-ssl-perl libio-stringy-perl libmime-lite-perl libmime-perl libmailtools-perl libnet-server-perl liburi-perl libxml-twig-perl libintl-perl libnet-ldap-perl libdigest-hmac-perl libgssapi-perl dbishell libintl-xs-perl libxml-sax-perl libcompress-zlib-perl libunicode-map8-perl libunicode-string-perl libterm-readline-gnu-perl libterm-readline-perl-perl libhtml-format-perl libtie-ixhash-perl libxml-xpath-perl perl-doc

Dato che la gestione/configurazione/richiesta dei certificati avverrà tramite interfaccia web, occorre installare un webserver (Apache) e per sicurezza dei dati scambiati, abiliteremo il protocollo SSL. Per comodità mia ho aggiunto anche il modulo php5, che non è necessario al funzionamento di OpenCA.

apt-get install libapache-mod-perl libapache-mod-ssl libapache-mod-php5 php5-mysql php5-gd php-pear xml-core libft-perl php5-dev libgd-tools

Dobbiamo installare e configurare apache in maniera tale da usare i moduli citati prima.

apt-get install apache
dpkg-reconfigure apache //Selezioniamo i moduli mod_ssl, mod_perl, mod_php5

Per la registrazione delle informazioni personali e dei certificati, ci appoggiamo ad un db mysql.

apt-get install mysql-server

Adesso possiamo procedere con l’installazione di OpenCA, che avverrà tramite i suoi sorgenti, Pertanto occorre scaricarli ed estrarli. Per comodità saranno creati due file eseguibili per automatizzare le procedure di installazione.

cd /tmp wget https://www.openca.org/alby/download?target=openca-0.9.3-rc1.tar.gz --no-check-certificate
tar xvfz openca-0.9.3-rc1.tar.gz
cd openca-0.9.3-rc1
touch config_ra
touch config_ca

chmod 755 config_ra
chmod 755 config_ca

Creiamo il primo file per automatizzare l’installazione.

nano config_ra

#!/bin/sh
./configure
--prefix=/usr/local/openca --with-web-host=localhost
--with-httpd-user=www-data --with-httpd-group=www-data

--with-ext-prefix=/usr/local/openca.0.9.3
--with-htdocs-fs-prefix=/var/www/ --with-cgi-fs-prefix=/usr/lib/cgi-bin
--with-ca-organization=porkyHTTP --with-ca-locality=Palermo
--with-ca-country=IT --with-module-prefix=/usr/local/openca/modules
--enable-dbi --disable-db --disable-rbac --with-hierarchy-level=ra
--with-service-email-account=alepensato@virgilio.it --with-db-type=mysql
--with-db-name=openca --with-db-port=3306 --with-db-user=openca
--with-db-passwd=openca
make

make install-ra
make install-pub
make install-node

Ora possiamo eseguirlo.

./config_ra

Creiamo il secondo file per automatizzare l’installazione.

nano config_ca

#!/bin/sh

./configure
--prefix=/usr/local/openca --with-web-host=localhost
--with-httpd-user=www-data --with-httpd-group=www-data
--with-ext-prefix=/usr/local/openca.0.9.3
--with-htdocs-fs-prefix=/var/www/ --with-cgi-fs-prefix=/usr/lib/cgi-bin
--with-ca-organization=porkyHTTP --with-ca-locality=Palermo
--with-ca-country=IT --with-module-prefix=/usr/local/openca/modules
--enable-dbi --disable-db --disable-rbac --with-hierarchy-level=ca
--with-service-email-account=alepensato@virgilio.it --with-db-type=mysql

--with-db-name=openca --with-db-host=localhost --with-db-port=3306
--with-db-user=openca --with-db-passwd=openca
make make install-ca make install-node

Ora possiamo eseguirlo.

./config_ca

Come detto in precedenza, useremo MySQL, per memorizzare i dati personali e dei certificati, quindi occorre creare i database.

mysql -uroot -p
create database openca;
create database openra;

grant all privileges on openca.* to openca@localhost identified by 'openca';
grant all privileges on openra.* to openra@localhost identified by 'openra';
exit;

Configurazione
Modifichiamo il file di configurazione di OpenCA. I relativi campi devono essere come i seguenti.

nano /usr/local/openca/OpenCA/etc/config.xml

ca_organization porkyHTTP
ca_locality Palermo

ca_country IT
service_mail_account alepensato@virgilio.it
httpd_host localhost
httpd_port :443
dbmodule DBI
db_type mysql
db_name openca
db_host localhost
db_port 3306

db_user openca
db_passwd openca

Finaliziamo la configurazione di OpenCA e predisponiamo il sistema alla sua esecuzione ad ogni boot.

cd /usr/local/openca/OpenCA/etc/
./configure_etc.sh
cp /usr/local/openca/OpenCA/etc/openca_rc /etc/init.d/
cd /etc/init.d/
update-rc.d openca_rc defaults

./openca_rc start

Configuriamo Apanche per utilizzare i certificato SSL e riavviamolo

mkdir /etc/apache/ssl
cd /etc/apache/ssl
openssl req -x509 -newkey rsa:2048 -keyout cakey.pem -days 3650 -out cacert.pem -nodes

nano /etc/apache/httpd.conf

Listen 443
SSLEngine On

SSLOptions +StdEnvVars
SSLCertificateFile /etc/apache/ssl/cacert.pem
SSLCertificateKeyFile /etc/apache/ssl/cakey.pem

/etc/init.d/apache stop
/etc/init.d/apache start
rm /var/www/index.html

Adesso possiamo accedere all’inidizizzo https://localhost/ca per inizializzare la nostra CA. I dati per il login sono:

username: root
password: root

  • Facebook
  • Google Bookmarks
  • Windows Live Favorites
  • LinkedIn
  • Delicious
  • Hotmail
  • Twitter
  • Windows Live Spaces
  • Yahoo Bookmarks
  • Yahoo Messenger
  • Share/Bookmark
  1. Nessun commento ancora...
  1. Nessun trackback ancora...

Spam Protection by WP-SpamFree