<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Idea Factory &#187; Debian</title>
	<atom:link href="http://ideafactory.it/category/debian/feed" rel="self" type="application/rss+xml" />
	<link>http://ideafactory.it</link>
	<description>c&#039;e&#039; solo un modo di fare le cose: farle bene</description>
	<lastBuildDate>Thu, 01 Jul 2010 15:06:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Cambiare l&#8217;editor di default in Debian Lenny</title>
		<link>http://ideafactory.it/debian/cambiare-leditor-di-default-in-debian-lenny.html</link>
		<comments>http://ideafactory.it/debian/cambiare-leditor-di-default-in-debian-lenny.html#comments</comments>
		<pubDate>Sun, 10 Jan 2010 10:57:39 +0000</pubDate>
		<dc:creator>Gianluca</dc:creator>
				<category><![CDATA[Debian]]></category>

		<guid isPermaLink="false">http://www.ideafactory.it/?p=275</guid>
		<description><![CDATA[L&#8217;editor di default di Debian Lenny è Nano. Io non ho niente contro Nano ma preferisco Vi, quindi, quando il mio server utilizza un editor, ad esempio quando viene richiamato un crontab -e, voglio il mio editor prferito. Ci sono due strade percorribili, una è la Debian Way l&#8217;altra è quella maccheronica. Descriverò quella alla [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;editor di default di <a href="http://www.ideafactory.it/debian" onclick="pageTracker._trackPageview('/outgoing/www.ideafactory.it/debian?referer=');">Debian</a> Lenny è <em>Nano</em>. Io non ho niente contro Nano ma preferisco <em>Vi</em>, quindi, quando il mio server utilizza un editor, ad esempio quando viene richiamato un <em>crontab -e</em>, voglio il mio editor prferito.</p>
<p>Ci sono due strade percorribili, una è la <em>Debian Way</em> l&#8217;altra è quella maccheronica. Descriverò quella alla <em>Debian Way</em> e lascio ai commenti l&#8217;opportunità di descrivere quella maccheronica!:)</p>
<p>Con il comando <em>update-alternatives &#8211;config editor</em> vien fuori:<br />
<code><br />
Ci sono 5 alternative che forniscono `editor'.<br />
Selezione    Alternativa<br />
-----------------------------------------------<br />
1    /bin/ed<br />
+        2    /bin/nano<br />
3    /usr/bin/vim.tiny<br />
4    /usr/bin/vim.basic<br />
*         5    /usr/bin/vim.nox<br />
Premi invio per mantenere il default[*], o inserisci il numero da selezionare:<br />
</code><br />
Facile no? <img src='http://ideafactory.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Ovviamente bisogna aver installato l&#8217;editor che si vuole impostare come default altrimenti la lista mostrata sarà molto misera.</p>
<p>Adesso chiedo a voi: qual&#8217;è il modo maccheronico per cambiare editor? <img src='http://ideafactory.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://ideafactory.it/debian/cambiare-leditor-di-default-in-debian-lenny.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iptables ed ulogd: logging avanzato su MySQL</title>
		<link>http://ideafactory.it/debian/iptables-ed-ulogd-logging-avanzato-su-mysql.html</link>
		<comments>http://ideafactory.it/debian/iptables-ed-ulogd-logging-avanzato-su-mysql.html#comments</comments>
		<pubDate>Fri, 10 Jul 2009 10:12:15 +0000</pubDate>
		<dc:creator>Gianluca</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://www.ideafactory.it/?p=250</guid>
		<description><![CDATA[Di solito viene usato il target LOG per impostare la scrittura dei log su file quando facciamo delle regole con iptables. Ma è comodo avere un file (a volte mastodontico) da anzalizzare? Meglio avere i dati in un database MySQL e lavorarci sopra attraverso tool appositi. Ci viene in aiuto ULOG, un tool che lavora [...]]]></description>
			<content:encoded><![CDATA[<p>Di solito viene usato il target LOG per impostare la scrittura dei log su file quando facciamo delle regole con iptables. Ma è comodo avere un file (a volte mastodontico) da anzalizzare? Meglio avere i dati in un database MySQL e lavorarci sopra attraverso tool appositi.</p>
<p>Ci viene in aiuto ULOG, un tool che lavora in userspace e permette   quindi,   tramite un   programma   in   continuo   ascolto,   di   gestire   tali   informazioni nella maniera più disparata.</p>
<p>Procediamo con l&#8217;installazione dei pacchetti necessari:</p>
<p><code>apt-get install ulogd ulogd-mysql</code></p>
<p>Adesso va creato il database con gli opportuni privilegi. Tralascio questa fase perché è banale, specie con phpMyAdmin.<br />
Le struttura della tabella è scritta nel file <em>/usr/share/doc/ulogd-mysql/mysql.table</em>, quindi lo carichiamo nel database appena creato con:</p>
<p><code>mysql -u &lt;utente&gt; -p &lt;nome_db&gt; &lt; /usr/share/doc/ulogd-mysql/mysql.table</code></p>
<p>Procediamo con la configurazione di ULOG editando il file <em>/etc/ulogd.conf</em>.</p>
<p>Nella sezione plugins va decommentato:</p>
<p><code>plugin="/usr/lib/ulogd/ulogd_MYSQL.so"</code></p>
<p>visto che i dati andranno sul un db MySQL.</p>
<p>Impostiamo l&#8217;account per l&#8217;accesso al database:</p>
<p><code>[MYSQL]<br />
table="ulog"<br />
pass="&lt;password&gt;"<br />
user="&lt;user&gt;"<br />
db="&lt;database&gt;"<br />
host="localhost"</code></p>
<p>Bene, riavviamo ULOG:<br />
<code><br />
/etc/init.d/ulogd restart</code></p>
<p>Proviamo il tutto impostando una regola di iptables con il target ULOG:<br />
<code><br />
iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -o eth0 -j ULOG</code></p>
<p>In breve: tutto quello che proviene dalla classe lan 192.168.1.0/24 ed esce dall&#8217;interfaccia eth0 (verso Internet) e quindi viene nattato, lo registriamo su MySQL. Ovviamente possiamo impostare qualsiasi regola di firewall con target ULOG per testarne il funzionamento.</p>
<p>MySQL ha qualche record in più? Bene, abbiamo finito.</p>
]]></content:encoded>
			<wfw:commentRss>http://ideafactory.it/debian/iptables-ed-ulogd-logging-avanzato-su-mysql.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>NFS (Network File System) facile e veloce</title>
		<link>http://ideafactory.it/debian/nfs-network-file-system-facile-e-veloce.html</link>
		<comments>http://ideafactory.it/debian/nfs-network-file-system-facile-e-veloce.html#comments</comments>
		<pubDate>Wed, 06 May 2009 08:50:41 +0000</pubDate>
		<dc:creator>Gianluca</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[filesystem]]></category>
		<category><![CDATA[nfs]]></category>

		<guid isPermaLink="false">http://www.ideafactory.it/?p=244</guid>
		<description><![CDATA[NFS è un servizio di rete che, avvalendosi delle RPC, permette la condivisione di porzioni di filesystem da e verso altre macchine connesse. La configurazione è velocissima, si installano alcuni pacchetti e si procede alla configurazione del file /etc/exports/. Vediamo come. Supponiamo di avere due nodi: Il server, che condivide porzioni di filesystem Il client, [...]]]></description>
			<content:encoded><![CDATA[<p><em><strong>NFS</strong></em> è un servizio di rete che, avvalendosi delle RPC, permette la condivisione di porzioni di filesystem da e verso altre macchine connesse. La configurazione è velocissima, si installano alcuni pacchetti e si procede alla configurazione del file <em>/etc/exports/</em>.</p>
<p style="text-align: center;"><img class="aligncenter" title="Hard Disk" src="http://lh3.ggpht.com/giannipug/R0tRO96U0aI/AAAAAAAAAXg/oR0HOMhs-3s/recupero_dati_hard_disk%5B2%5D.jpg" alt="" /></p>
<p>Vediamo come.<span id="more-244"></span></p>
<p>Supponiamo di avere due nodi:</p>
<ol>
<li>Il server, che condivide porzioni di filesystem</li>
<li>Il client, che monta ed utilizza il filesystem condiviso dal server</li>
</ol>
<p>I pacchetti da installare sul server sono:</p>
<p><code>apt-get install nfs-kernel-server nfs-common portmap</code></p>
<p>Sul client invece basta:</p>
<p><code>apt-get install nfs-common portmap</code></p>
<p>Adesso va configurato il server per l&#8217;esportazione delle directory e quindi va editato il file<em> /etc/exports/</em> ed al suo interno dobbiamo mettere qualcosa del tipo:</p>
<p><code>/mnt/nfs-share        192.168.1.100 (rw,sync)</code></p>
<p>Dove:</p>
<ul>
<li>/mnt/nfs-share/ è la directory che vogliamo condividere con il cliente</li>
<li>192.168.1.100 è l&#8217;IP del client autorizzato a connettersi al server</li>
<li>(rw,sync) sono  dei parametri necessari per consentire la lettura e la scrittura e l&#8217;aggiornameno sincrono della directory</li>
</ul>
<p>Una volta cambiato il file <em>/etc/exports/</em> lanciamo il comando:</p>
<p><code>exportfs -a</code></p>
<p>Creiamo la directory da condividere (forse era meglio farlo prima!):</p>
<p><code>mkdir /mnt/nfs-share<br />
chown nobody:nogroup /mnt/nfs-share<br />
</code></p>
<p>Il server è OK. Passiamo al client.<br />
Creiamo il punto di mount sul client:</p>
<p><code>mkdir  /mnt/nfs</code></p>
<p>E montiamo la directory remota:</p>
<p><code>mount 192.168.1.7:/mnt/nfs-share /mnt/nfs</code></p>
<p>Ovviamente 192.168.1.7 è l&#8217;IP del server, cambiatelo in base alle vostre esigenze.<br />
Finito! Adesso possiamo scrivere su <em>/mnt/nfs</em> del client che coincide con la directory condivisa dal server.<br />
Chicca finale: montiamo la partizione NFS all&#8217;avvio del sistema con <em>fstab</em> aggiungendo questa riga:</p>
<p><code>192.168.1.7:/mnt/nfs-share  /mnt/nfs  nfs      rw,sync,hard,intr  0     0</code></p>
<p>Buon<strong><em> NFS</em></strong> a tutti!:)</p>
]]></content:encoded>
			<wfw:commentRss>http://ideafactory.it/debian/nfs-network-file-system-facile-e-veloce.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PowerDNS: server DNS con database MySQL</title>
		<link>http://ideafactory.it/debian/powerdns-server-dns-con-database-mysql.html</link>
		<comments>http://ideafactory.it/debian/powerdns-server-dns-con-database-mysql.html#comments</comments>
		<pubDate>Wed, 15 Apr 2009 15:21:58 +0000</pubDate>
		<dc:creator>Gianluca</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://www.ideafactory.it/?p=206</guid>
		<description><![CDATA[C&#8217;era una volta BIND, purtroppo (lo dico per i suoi innumerevoli bug) c&#8217;è ancora ma, configurare il server DNS tramite file di testo, può risultare scomodo e lento, quindi fortunatamente hanno messo al mondo PowerDNS. Lo uso da tantissimo tempo ma, quando tutta Internet tremava per il bug dei server DNS, sapere che PowerDNS era [...]]]></description>
			<content:encoded><![CDATA[<p>C&#8217;era una volta <a href="https://www.isc.org/software/bind" onclick="pageTracker._trackPageview('/outgoing/www.isc.org/software/bind?referer=');">BIND</a>, purtroppo (<em>lo dico per i suoi innumerevoli bug</em>) c&#8217;è ancora ma, configurare il server DNS tramite file di testo, può risultare scomodo e lento, quindi fortunatamente hanno messo al mondo <a href="http://www.powerdns.com/" onclick="pageTracker._trackPageview('/outgoing/www.powerdns.com/?referer=');">PowerDNS</a>.</p>
<p>Lo uso da tantissimo tempo ma, quando tutta Internet tremava per il <a href="http://www.kb.cert.org/vuls/id/800113" onclick="pageTracker._trackPageview('/outgoing/www.kb.cert.org/vuls/id/800113?referer=');">bug dei server DNS</a>, sapere che <a href="http://mailman.powerdns.com/pipermail/pdns-users/2008-July/005536.html" onclick="pageTracker._trackPageview('/outgoing/mailman.powerdns.com/pipermail/pdns-users/2008-July/005536.html?referer=');">PowerDNS era completamente immune</a> a tale vulnerabilità, ha rafforzato la mia stima verso questo software.</p>
<p>I principali punti di forza di <a href="http://www.powerdns.com" onclick="pageTracker._trackPageview('/outgoing/www.powerdns.com?referer=');">PowerDNS</a> sono:</p>
<ul>
<li>Backend per svariati database quali ad esempio MySQL e PostgreSQL</li>
<li>Facilità di configurazione</li>
<li>Sicurezza</li>
<li>Versatilità</li>
</ul>
<p>Prima di procedere con l&#8217;installazione è doveroso illustrare le parti che compongono questo software:</p>
<ol>
<li><em>pdns-server</em>: il server DNS vero e proprio</li>
<li><em>pdns-backend-*</em>: il backend dove sono memorizzati i dati ad esempio <em>pdns-backend-mysql</em> utilizzerà MySQL per memorizzare i record DNS</li>
<li><em>pdns-recursor</em>: un server necessario se si devono risolvere altri domini Internet oltre a quelli gestiti dal server</li>
</ol>
<p>Installiamo!<span id="more-206"></span></p>
<p>Come sempre facile e veloce:</p>
<p><code>apt-get install pdns-server pdns-backend-mysql</code></p>
<p>Si può notare non ho installato il pacchetto <em>pdns-recursor</em> visto che voglio configurare un server DNS che risponda solo alle query per i domini da lui gestiti.</p>
<p>Creiamo un database ed utente su MySQL chiamato <em>pdns</em> a cui diamo tutti i privilegi:</p>
<p><code>CREATE USER 'pdns'@'localhost' IDENTIFIED BY '&lt;password_utente&gt;';<br />
GRANT USAGE ON * . * TO 'pdns'@'localhost' IDENTIFIED BY '&lt;password_utente&gt;' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;<br />
CREATE DATABASE IF NOT EXISTS `pdns` ;<br />
GRANT ALL PRIVILEGES ON `pdns` . * TO 'pdns'@'localhost';</code></p>
<p>Inizializziamo le tabelle necessarie attraverso il file SQL incluso nel pacchetto Debian:</p>
<p><code>mysql -u pdns -p pdns &lt; /usr/share/doc/pdns-backend-mysql/mysql.sql</code></p>
<p>Il database è pronto, inseriamo dei record di prova:</p>
<p><code>INSERT INTO `domains` (`id`, `name`, `master`, `last_check`, `type`, `notified_serial`, `account`) VALUES<br />
(1, 'ideafactorytest.tld', NULL, NULL, 'NATIVE', NULL, NULL);<br />
INSERT INTO `records` (`id`, `domain_id`, `name`, `type`, `content`, `ttl`, `prio`, `change_date`) VALUES<br />
(1, 1, 'ideafactorytest.tld', 'SOA', 'ns1.ideafactorytest.tld hostmaster.ideafactorytest.tld 0 7200 3600 604800 3600', 3600, 0, 1235466538),<br />
(2, 1, 'ideafactorytest.tld', 'NS', 'ns1.ideafactorytest.tld', 86400, 0, 1235466538),<br />
(3, 1, 'www.ideafactorytest.tld', 'A', '192.168.1.254', 86400, 0, 1235466538),<br />
(4, 1, 'ns1.ideafactorytest.tld', 'A', '192.168.1.254', 86400, 0, 1235466538);</code></p>
<p>Ovviamente i dati sono di test e vanno personalizzati secondo le proprie esigenze.</p>
<p>Consiglio di utilizzare tool di MySQL per popolare il database come ad esempio <em>phpMyAdmin</em>, in alternativa c&#8217;è <a href="https://www.poweradmin.org/trac/" onclick="pageTracker._trackPageview('/outgoing/www.poweradmin.org/trac/?referer=');">Poweradmin</a> che è un software scritto in PHP specifico per PowerDNS ma non mi ha convinto per niente.</p>
<p>Torniamo alla configurazione del server DNS.</p>
<p>Editiamo il file <em>/etc/default/pdns</em> e verifichiamo che ci sia:</p>
<p>START=yes</p>
<p>Adesso è il turno di<em> /etc/powerdns/pdns.conf</em>, vi consiglio di editare:</p>
<p><code>local-address=&lt;ip_server_dns&gt;</code></p>
<p>Altrimenti PowerDNS si mette in ascolto su tutti gli IP del server.</p>
<p>Ci sono altre opzioni, come l&#8217;abilitazione del webserver che consente di vedere le statistiche d&#8217;utilizzo.</p>
<p>Il file di configurazione è di semplice interazione quindi consiglio di dare un occhio a tutti i parametri e rimando alla documentazione ufficiale per configurazioni più elaborate.</p>
<p>Infine configuriamo /etc/powerdns/pdns.d/pdns.local:</p>
<p><code>launch=gmysql<br />
gmysql-host=localhost<br />
gmysql-user=pdns<br />
gmysql-password=&lt;password_scelta&gt;<br />
gmysql-dbname=pdns</code></p>
<p>Fine. Proviamo:</p>
<p><code>/etc/init.d/pdns monitor</code></p>
<p>Se l&#8217;output è qualcosa di simile a questo:</p>
<p><code>Apr 15 17:05:16 This is module gmysqlbackend.so reporting<br />
Apr 15 17:05:16 This is a standalone pdns<br />
Apr 15 17:05:16 UDP server bound to 192.168.1.254:53<br />
Apr 15 17:05:16 TCP server bound to 192.168.1.254:53<br />
Apr 15 17:05:16 PowerDNS 2.9.20 (C) 2001-2006 PowerDNS.COM BV (Aug  9 2008, 23:00:23, gcc 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) starting up<br />
Apr 15 17:05:16 PowerDNS comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it according to the terms of the GPL version 2.<br />
Apr 15 17:05:16 Set effective group id to 106<br />
Apr 15 17:05:16 Set effective user id to 106<br />
Apr 15 17:05:16 DNS Proxy launched, local port 23998, remote 127.0.0.1:53<br />
Apr 15 17:05:16 Creating backend connection for TCP<br />
% Apr 15 17:05:16 gmysql Connection succesful<br />
Apr 15 17:05:16 About to create 3 backend threads for UDP<br />
Apr 15 17:05:16 gmysql Connection succesf</code>ul</p>
<p>Significa che PowerDNS si connette a MySQL e la configurazione è andata a buon fine.</p>
<p>Facciamo una query di prova:</p>
<p><code>host www.ideafactorytest.tld &lt;ip_server_powerdns&gt;</code></p>
<p>L&#8217;output dovrebbe essere:</p>
<p><code>Using domain server:<br />
Name: &lt;ip_server_powerdns&gt;<br />
Address: &lt;ip_server_powerdns&gt;#53<br />
Aliases:<br />
www.ideafactorytest.tld has address 192.168.1.254</code></p>
<p>Perfetto!</p>
<p>Come viene gestito il concetto di master/slave in<a href="http://www.powerdns.com" onclick="pageTracker._trackPageview('/outgoing/www.powerdns.com?referer=');"> PowerDNS</a>?</p>
<p>Usando come backend un database MySQL, è facile mettere su un altro server sul quale configurare <a href="http://www.powerdns.com" onclick="pageTracker._trackPageview('/outgoing/www.powerdns.com?referer=');">PowerDNS</a> e la <a href="http://www.ideafactory.it/debian/mysql-replicazione-database.html" onclick="pageTracker._trackPageview('/outgoing/www.ideafactory.it/debian/mysql-replicazione-database.html?referer=');">replica del database</a> principale oppure, si può fare in modo che entrambi i server DNS usino lo stesso server MySQL ma questa soluzione è poco <em>high available</em>.</p>
<p>Consiglio di leggere la <a href="http://downloads.powerdns.com/documentation/pdns.pdf" onclick="pageTracker._trackPageview('/outgoing/downloads.powerdns.com/documentation/pdns.pdf?referer=');">documentazione ufficiale</a> al fine di ottenere il massimo da questo potente server DNS o scrivere eventuali quesiti nei commenti sperando che io riesca a rispondere!:)</p>
]]></content:encoded>
			<wfw:commentRss>http://ideafactory.it/debian/powerdns-server-dns-con-database-mysql.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alle ricerca di rootkit con ChkRootkit e rkhunter</title>
		<link>http://ideafactory.it/debian/alle-ricerca-di-rootkit-con-chkrootkit-e-rkhunter.html</link>
		<comments>http://ideafactory.it/debian/alle-ricerca-di-rootkit-con-chkrootkit-e-rkhunter.html#comments</comments>
		<pubDate>Wed, 08 Apr 2009 08:32:28 +0000</pubDate>
		<dc:creator>Gianluca</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Administrator]]></category>
		<category><![CDATA[rootkit]]></category>
		<category><![CDATA[Sicurezza]]></category>

		<guid isPermaLink="false">http://www.ideafactory.it/?p=202</guid>
		<description><![CDATA[Da Wikipedia: Un rootkit, (in ambiente Unix per &#8220;root&#8221; access si intende accesso di livello amministrativo, quindi letteralmente si potrebbe intendere equipaggiamento da amministratore) è un programma software creato per avere il controllo completo sul sistema senza bisogno di autorizzazione da parte di utente o amministratore. Recentemente alcuni virus informatici si sono avvantaggiati della possibilità [...]]]></description>
			<content:encoded><![CDATA[<p>Da <a href="http://it.wikipedia.org/wiki/Rootkit" onclick="pageTracker._trackPageview('/outgoing/it.wikipedia.org/wiki/Rootkit?referer=');">Wikipedia</a>:</p>
<blockquote><p>Un rootkit, (in ambiente Unix per &#8220;root&#8221; access si intende accesso di livello amministrativo, quindi letteralmente si potrebbe intendere equipaggiamento da amministratore) è un programma software creato per avere il controllo completo sul sistema senza bisogno di autorizzazione da parte di utente o amministratore. Recentemente alcuni virus informatici si sono avvantaggiati della possibilità di agire come rootkit (processo, file, chiave di registro, porta di rete) all&#8217;interno del sistema operativo.</p></blockquote>
<p>Per capire se sul nostro server ci sono<em> rootkit</em> è necessario:</p>
<ul>
<li>controllare i log di sistema alla ricerca di cose anomale</li>
<li>monitorare attentamente i processi server quali Apache, SSH etc</li>
<li>controllare le directory su cui tutti possono scrivere come ad esempio <em>/tmp</em></li>
<li>vedere il file history alla ricerca di comandi non nostri</li>
<li>attraverso tool come<em> ntop</em> vedere se ci sono in esecuzione processi non autorizzati</li>
<li>con <em>netstat </em>o <em>nmap</em> verificare che non ci siano porte aperte non consentite dalla nostra configurazione</li>
<li>controllare lo spazio su disco utilizzato</li>
</ul>
<p>Tutto questi controlli portano via tempo e di certo non è un lavoro facile da fare.</p>
<p>In ambiente Linux esistono due tool particolarmente efficienti che fanno al caso nostro: <em>ChkRootkit</em> e <em>rkhunter</em>.</p>
<p><span id="more-202"></span>Installiamo il software su Debian:</p>
<p><code>apt-get install chkrootkit rkhunter</code></p>
<h2>rkhunter</h2>
<p>Una volta installato va aggiornato:</p>
<p><code>rkhunter --update<br />
</code><br />
Adesso possiamo eseguire uno scan sul nostro sistema:</p>
<p><code>rkhunter -c</code></p>
<p>L&#8217;output è molto esplicito e di facile comprensione.</p>
<p>Utili queste opzioni:</p>
<ul>
<li>-<em>-createlogfile &lt;file&gt;</em> : l&#8217;output viene scritto sul file specificato</li>
<li><em>&#8211;skip-keypress</em> : non è necessario dare conferme tramite l&#8217;esecuzione</li>
</ul>
<h2>ChkRootkit</h2>
<p>E&#8217; meno duttile di rkhunter visto che rileva solo una lista ben precisa di rootkit.</p>
<p>Per l&#8217;esecuzione è sufficiente:</p>
<p><code>chkrootkit</code></p>
<p>Consiglio vivamente di inserire tali contralli nel crond (Debian automatizza tale operazione con rkhunter) ma soprattutto di tenersi aggiornati con i bug di sicurezza attraverso le apposite mailing-list della distribuzione usata o via web con i siti specializzati.</p>
]]></content:encoded>
			<wfw:commentRss>http://ideafactory.it/debian/alle-ricerca-di-rootkit-con-chkrootkit-e-rkhunter.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bandwidth monitoring con vnStat</title>
		<link>http://ideafactory.it/debian/bandwidth-monitoring-con-vnstat.html</link>
		<comments>http://ideafactory.it/debian/bandwidth-monitoring-con-vnstat.html#comments</comments>
		<pubDate>Tue, 07 Apr 2009 08:34:48 +0000</pubDate>
		<dc:creator>Gianluca</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[bandwidth]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[Traffic Control]]></category>

		<guid isPermaLink="false">http://www.ideafactory.it/?p=198</guid>
		<description><![CDATA[Un ottimo network traffic monitor per Linux è vnStat che consente di avere le statistiche del traffico delle interfacce presenti sulla nostra linux box. Su Debian l&#8217;installazione è banale: apt-get install vnstat Adesso dobbiamo inizializzare il database di vnStat con le interfacce in nostro possesso: vnstat -u -i &#60;interfaccia&#62; Il più delle volte le nostre [...]]]></description>
			<content:encoded><![CDATA[<p>Un ottimo network traffic monitor per Linux è <a href="http://humdi.net/vnstat/" onclick="pageTracker._trackPageview('/outgoing/humdi.net/vnstat/?referer=');">vnStat</a> che consente di avere le statistiche del traffico delle interfacce presenti sulla nostra linux box.</p>
<p>Su Debian l&#8217;installazione è banale:</p>
<p><code>apt-get install vnstat</code></p>
<p>Adesso dobbiamo inizializzare il database di vnStat con le interfacce in nostro possesso:<br />
<code><br />
vnstat -u -i &lt;interfaccia&gt;</code></p>
<p>Il più delle volte le nostre interfacce ethernet sono <em>eth0</em>, <em>eth1</em> etc etc.</p>
<p>Adesso è il momento del caffè visto che i dati devono confluire in<a href="http://humdi.net/vnstat/" onclick="pageTracker._trackPageview('/outgoing/humdi.net/vnstat/?referer=');"> vnStat</a> per visualizzare le prime statistiche. Trascorso un pò (bel pò)  di tempo torniamo su Linux e vediamo che dati fornisce il tool appenna installato.<span id="more-198"></span></p>
<p>Lanciando il comando</p>
<p><code>vnstat</code></p>
<p>Vedremo il traffico degli ultimi due giorni.<br />
Per avere maggiori dettagli è possibile usare i seguenti parametri:</p>
<ul>
<li><em><strong>-h</strong></em> : visualizza il traffico delle ultime 24 ore</li>
<li><strong><em>-d</em></strong> : visualizza il traffico giornaliero dell&#8217;ultimo mese</li>
<li><em><strong>-m</strong></em> : visualliza il traffico degli ultimi mesi</li>
<li><strong><em>-t</em></strong> : i 10 giorni con più traffico</li>
<li><em><strong>-w</strong></em> : il traffico delle ultime settimane</li>
<li><em><strong>-tr</strong></em> : il traffico medio degli ultimi 5 secondi (con -tr X monitoriamo gli ultimi X secondi)</li>
</ul>
<p>Se abbiamo più interfacce sotto osservazione possiamo usare il parametro <strong><em>-i</em></strong> <em>&lt;interfaccia&gt;</em> per specificare quale visualizzare.</p>
]]></content:encoded>
			<wfw:commentRss>http://ideafactory.it/debian/bandwidth-monitoring-con-vnstat.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ethernet (NIC) bonding su Debian</title>
		<link>http://ideafactory.it/debian/ethernet-nic-bonding-su-debian.html</link>
		<comments>http://ideafactory.it/debian/ethernet-nic-bonding-su-debian.html#comments</comments>
		<pubDate>Mon, 23 Mar 2009 09:38:23 +0000</pubDate>
		<dc:creator>Gianluca</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[bonding]]></category>
		<category><![CDATA[ethernet]]></category>
		<category><![CDATA[fault tolerance]]></category>
		<category><![CDATA[load balance]]></category>

		<guid isPermaLink="false">http://www.ideafactory.it/?p=177</guid>
		<description><![CDATA[Come la pubblicità di Maxbon ci ha insegnato, sappiamo che &#8220;two is meglio che one&#8221; quindi perché avere una sola scheda ethernet all&#8217;interno del nostro server se con due possiamo avere un ottima ridondanza di rete e/o un ottimo bilanciamento del carico? Vediamo di mettere sù un ethernet bonding, un sistema che la ho lo [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.nestle.it/NR/rdonlyres/4FF2DD43-582E-4463-9599-CE98627293CB/90640/maxibon_6_big.jpg" rel="lightbox[177]" onclick="pageTracker._trackPageview('/outgoing/www.nestle.it/NR/rdonlyres/4FF2DD43-582E-4463-9599-CE98627293CB/90640/maxibon_6_big.jpg?referer=');"><img class="alignleft" title="Maxibon" src="http://www.nestle.it/NR/rdonlyres/4FF2DD43-582E-4463-9599-CE98627293CB/90640/maxibon_6_big.jpg" alt="" width="166" height="153" /></a>Come la pubblicità di <em>Maxbon</em> ci ha insegnato, sappiamo che &#8220;<em>two is meglio che one</em>&#8221; quindi perché avere una sola scheda ethernet all&#8217;interno del nostro server se con due possiamo avere un ottima ridondanza di rete e/o un ottimo bilanciamento del carico? Vediamo di mettere sù un<strong> ethernet bonding</strong>, un sistema che la ho lo scopo di unire due flussi ethernet al fine di formare un unico canale.</p>
<p>Prima di procedere all&#8217;installazione del software necessario, vediamo le modalità operative del channel bonding:</p>
<ul>
<li><strong>mode=0 (balance-rr)</strong>: avviene il round-robin tra le due interfacce. I pacchetti vengono trasmessi attraverso la scheda di rete scarica e se una delle due va ko viene usata solo la scheda di rete funzionanete. Questa  modalità fornisce sia il <em><strong>load balance</strong></em> e sia il <em><strong>fault tolerance</strong></em> e non prevede switch di rete con particolari funzionalità.</li>
<li><strong>mode=1 (active-backup)</strong>: una sola schede di rete viene usata se questa si rompe il MAC address viene associato all&#8217;altra funzionante (di backup) e quindi il flusso di rete viene garantito. Questa modalità fornisce un sistema di<strong> fault tolerance</strong> e non è necessario uno switch che abbia funzionalità avanzate.</li>
<li><strong>mode=2 (balance-xor)</strong>: il traffico di rete viene inoltrato sulla scheda in base a questa regola di XOR: ((source MAC) XOR (dest MAC)).  Questa modalità garantisce <em><strong>load balance</strong></em> e  <em><strong>fault tolerance </strong>e non necessità di particolati switch.</em></li>
<li><strong>mode=3 (broadcast)</strong>: vengono usate entrambe le interfacce per trasmettere e ricevere. Il <em><strong>fault tolerance </strong></em>è garantito senza switch preposti.</li>
<li><strong>mode=4 (802.3ad)</strong>: è una modalità si supporto allo standard IEEE 802.3ad <em>Dynamic link aggregation</em>, per questa modalità è necessario uno switch che supporti lo standard 802.3ad.</li>
<li> <strong>mode=5 (balance-tlb)</strong>: <em>Adaptive Transmit Load Balancing</em>. Il traffico in entrata è ricevuto solo sullo slave attivo, il traffico in uscita viene distribuito a seconda del carico su ogni slave. Non necessità di particolai switch.</li>
<li><strong>mode=5 (balance-alb)</strong>: <em>Adaptive Load Balancing</em>. Fornisce bilanciamento del carico sia in ricezione che in trasmissione. Non necessità di switch particolari ma richiede la capacità di cambiare l&#8217;indirizzo MAC del dispisitivo di rete senza che questo interrompa il traffico.<span id="more-177"></span></li>
</ul>
<p>Procediamo con l&#8217;installazione di ciò che occore sul nostro sistema <strong>Debian Lenny</strong>:</p>
<p><code>apt-get install ifenslave-2.6</code></p>
<p>Adesso configuraziomo il networking tramite il file <em>/etc/network/interfaces</em>, supponendo che <em>eth0</em> ed <em>eth1</em> siano le schede ethernet presenti sulla nostra debian box:<br />
<code><br />
iface bond0 inet static<br />
address &lt;indirizzo_ip&gt;<br />
netmask &lt;subnetmask&gt;<br />
network &lt;indirizzo_di_rete&gt;<br />
gateway &lt;ip_del_gateway&gt;<br />
bond_mode &lt;modalita_di_bonding_preferita&gt;<br />
bond_miimon 100<br />
bond_downdelay 200<br />
bond_updelay 200<br />
slaves eth0 eth1</code></p>
<p>Io vi consiglio o la modalità <strong>balance-rr </strong>o la <strong>active-backup</strong>.</p>
<p>E&#8217; importante commentare o cancellare i riferimenti alla schede di rete reali.</p>
<p>Fatto questo riavviamo il sistema di networking con:<br />
<code>/etc/init.d/networking restart</code></p>
<p>Maggiori informazioni e dettagli li potete trovare qui:</p>
<p><a href="http://www.linuxhorizon.ro/bonding.html" onclick="pageTracker._trackPageview('/outgoing/www.linuxhorizon.ro/bonding.html?referer=');">http://www.linuxhorizon.ro/bonding.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ideafactory.it/debian/ethernet-nic-bonding-su-debian.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Montare uno spazio FTP nel filesystem con CurlFtpFS</title>
		<link>http://ideafactory.it/debian/montare-uno-spazio-ftp-nel-filesystem-con-curlftpfs.html</link>
		<comments>http://ideafactory.it/debian/montare-uno-spazio-ftp-nel-filesystem-con-curlftpfs.html#comments</comments>
		<pubDate>Tue, 17 Mar 2009 10:44:13 +0000</pubDate>
		<dc:creator>Gianluca</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[fuse]]></category>
		<category><![CDATA[mount]]></category>

		<guid isPermaLink="false">http://www.ideafactory.it/?p=159</guid>
		<description><![CDATA[Stufi del Client FTP tradizionale ed in cerca di &#8220;qualcosa&#8221; che monti lo spazio FTP del nostro provider nella nostra Linux box? La soluzione si chiama:  CurlFtpFS. Installiamolo: apt-get install curlftpfs E&#8217; importante caricare il modulo di fuse: modprobe fuse Montiamo la partizione remota FTP: curlftpfs -o allow_other ftp://&#60;user&#62;:&#60;pass&#62;@&#60;host_ftp&#62; &#60;directory_di_mount&#62; Per per montare la partizione [...]]]></description>
			<content:encoded><![CDATA[<p>Stufi del Client FTP tradizionale ed in cerca di &#8220;qualcosa&#8221; che monti lo spazio FTP del nostro provider nella nostra Linux box?</p>
<p>La soluzione si chiama:  CurlFtpFS.</p>
<p>Installiamolo:</p>
<p><code>apt-get install curlftpfs</code></p>
<p>E&#8217; importante caricare il modulo di fuse:</p>
<p><code>modprobe fuse</code></p>
<p>Montiamo la partizione remota FTP:</p>
<pre>curlftpfs -o allow_other ftp://&lt;user&gt;:&lt;pass&gt;@&lt;host_ftp&gt; &lt;directory_di_mount&gt;</pre>
<p>Per per montare la partizione all&#8217;avvio impostiamo <em>fstab</em> aggiungendo questa riga:</p>
<pre>curlftpfs#&lt;user&gt;:&lt;pass&gt;@&lt;host_ftp&gt; &lt;directory_di_mount&gt; fuse rw,uid=500,user,noauto 0 0</pre>
<p>Fine!:)</p>
<p>Ecco le caratteristiche principali di CurlFtpFS:</p>
<ul>
<li>support for SSLv3 and TLSv1</li>
<li>connecting through tunneling HTTP proxies</li>
<li>automatic reconnection if the server times out</li>
<li>conversion of absolute symlinks to point back into the FTP filesystem</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ideafactory.it/debian/montare-uno-spazio-ftp-nel-filesystem-con-curlftpfs.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenVPN routed su Debian</title>
		<link>http://ideafactory.it/debian/openvpn-routed-su-debian.html</link>
		<comments>http://ideafactory.it/debian/openvpn-routed-su-debian.html#comments</comments>
		<pubDate>Tue, 17 Mar 2009 10:28:16 +0000</pubDate>
		<dc:creator>Gianluca</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[OpenVPN]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://www.ideafactory.it/?p=154</guid>
		<description><![CDATA[OpenVPN is a free and open source virtual private network (VPN) program for creating point-to-point or server-to-multiclient encrypted tunnels between host computers. It is capable of establishing direct links between computers across network address translators (NATs) and firewalls. It was written by James Yonan and is published under the GNU General Public License (GPL). Bene, [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>OpenVPN</strong> is a <a title="Free and open source software" href="http://en.wikipedia.org/wiki/Free_and_open_source_software" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Free_and_open_source_software?referer=');">free and open source</a> <a title="Virtual private network" href="http://en.wikipedia.org/wiki/Virtual_private_network" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Virtual_private_network?referer=');">virtual private network</a> (VPN) program for creating point-to-point or server-to-multiclient <a title="Encryption" href="http://en.wikipedia.org/wiki/Encryption" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Encryption?referer=');">encrypted</a> <a title="Tunneling protocol" href="http://en.wikipedia.org/wiki/Tunneling_protocol" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Tunneling_protocol?referer=');">tunnels</a> between <a class="mw-redirect" title="Host computer" href="http://en.wikipedia.org/wiki/Host_computer" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Host_computer?referer=');">host computers</a>. It is capable of establishing direct links between computers across <a class="mw-redirect" title="Network address translator" href="http://en.wikipedia.org/wiki/Network_address_translator" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Network_address_translator?referer=');">network address translators</a> (NATs) and <a title="Firewall" href="http://en.wikipedia.org/wiki/Firewall" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Firewall?referer=');">firewalls</a>. It was written by James Yonan and is published under the <a title="GNU General Public License" href="http://en.wikipedia.org/wiki/GNU_General_Public_License" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/GNU_General_Public_License?referer=');">GNU General Public License</a> (GPL).</p></blockquote>
<p>Bene, procediamo.</p>
<p>Supponiamo di avere due host e di creare una VPN tra loro, installiamo su entrambi openvpn:</p>
<p>apt-get install openvpn</p>
<p>Adesso usiamo la Debian Way e quindi utilizziamo gli script per la creazione dei certificati e delle chiavi.</p>
<p><span id="more-154"></span>Facciamo un link simbolico:</p>
<p>ln -s /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/easy-rsa</p>
<p>Editiamo il file /etc/openvpn/easy-rsa/vars con i parametri che fanno al caso nostro:</p>
<p>export KEY_COUNTRY=<br />
export KEY_PROVINCE=<br />
export KEY_CITY=<br />
export KEY_ORG=&#8221;"<br />
export KEY_EMAIL=&#8221;"</p>
<p>Il file contiene tutto variabili d&#8217;ambiente e quindi con questo comando:</p>
<p>source /etc/openvpn/easy-rsa/vars</p>
<p>Esportiamo le variabili.</p>
<p>Adesso generiamo la chiave della CA visto che saremo noi stessi a fare da certification authority:</p>
<p>/etc/openvpn/easy-rsa/build-ca</p>
<p>Le chiavi andranno a finire sotto:</p>
<p>/etc/openvpn/easy-rsa/keys</p>
<p>Adesso creiamo la chiave per il server:</p>
<p>/etc/openvpn/easy-rsa/build-key-server server</p>
<p>Seguendo le facili istruzioni a video verrà creata la chiave.</p>
<p>Abilitiamo lo scambio di chiavi Diffie-Hellman</p>
<blockquote><p>Lo <strong>Scambio di chiavi Diffie-Hellman</strong> (<em>Diffie-Hellman key exchange</em>) è un <a class="new" title="Protocollo crittografico (pagina inesistente)" href="http://it.wikipedia.org/w/index.php?title=Protocollo_crittografico&amp;action=edit&amp;redlink=1" onclick="pageTracker._trackPageview('/outgoing/it.wikipedia.org/w/index.php?title=Protocollo_crittografico_amp_action=edit_amp_redlink=1&amp;referer=');">protocollo crittografico</a> che consente a due entità di stabilire una <a title="Chiave crittografica" href="http://it.wikipedia.org/wiki/Chiave_crittografica" onclick="pageTracker._trackPageview('/outgoing/it.wikipedia.org/wiki/Chiave_crittografica?referer=');">chiave</a> condivisa e segreta utilizzando un canale di <a title="Comunicazione" href="http://it.wikipedia.org/wiki/Comunicazione" onclick="pageTracker._trackPageview('/outgoing/it.wikipedia.org/wiki/Comunicazione?referer=');">comunicazione</a> insicuro (pubblico) senza la necessità che le due parti si siano scambiate informazioni o si siano incontrate in precedenza. La chiave ottenuta mediante questo protocollo può essere successivamente impiegata per criptare le comunicazioni successive tramite uno schema di <a title="Crittografia simmetrica" href="http://it.wikipedia.org/wiki/Crittografia_simmetrica" onclick="pageTracker._trackPageview('/outgoing/it.wikipedia.org/wiki/Crittografia_simmetrica?referer=');">crittografia simmetrica</a>.</p></blockquote>
<p>eseguendo questo comando:</p>
<p>/etc/openvpn/easy-rsa/build-dh</p>
<p>Adesso manca solo il certificato TLS, che va creato così:</p>
<p>openvpn &#8211;genkey &#8211;secret /etc/openvpn/easy-rsa/keys/ta.key</p>
<p>Abbiamo tutto il necessario per il server, va solo configurato attraverso il file /etc/openvpn/server.conf:</p>
<p>local<br />
port 1194<br />
proto udp<br />
dev tun<br />
ca /etc/openvpn/easy-rsa/keys/ca.crt<br />
cert /etc/openvpn/easy-rsa/keys/server.crt<br />
key /etc/openvpn/easy-rsa/keys/server.key<br />
dh /etc/openvpn/easy-rsa/keys/dh1024.pem<br />
tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0<br />
cipher BF-CBC<br />
server 10.0.0.0 255.255.255.0<br />
ifconfig-pool-persist ip_client.txt<br />
comp-lzo<br />
persist-key<br />
persist-tun<br />
keepalive 10 360<br />
verb 4<br />
mute 20<br />
log-append /var/log/openvpn/openvpn.log<br />
status /var/log/openvpn/openvpn-status.log</p>
<p>Da notare la direttiva ifconfig-pool-persist ip_client.txt che memorizza gli IP assegnati ai client per dare lo stesso IP in futuro.<br />
Va creata le directory sotto /var/log sua sul server che sul client:</p>
<p>mkdir /var/log/openvpn</p>
<p>Ora è possibile lanciare OpenVPN:</p>
<p>/etc/init.d/openvpn start</p>
<p>Se l&#8217;output è questo:</p>
<p>Starting virtual private network daemon: server(OK).</p>
<p>Potete vedere tramite ifconfig la nuova interfaccia tun0.</p>
<p>Siamo a metà dell&#8217;opera, manca il client.<br />
Per comodità generiamo le chiavi del client sul server&#8230;so che non andrebbe fatto ma visto che non c&#8217;è una vera CA penso sia la cosa più veloce!</p>
<p>Creiamo la chiave:</p>
<p>/etc/openvpn/easy-rsa/build-key</p>
<p>Seguendo le istruzioni avremo la chiave per il client e sicomme Debian è la migliore distribuzione al mondo, è anche verificata tramite CA (la nostra!).</p>
<p>Spostiamo i file (IN MODO SICURO) sul client, ma quali file?</p>
<ul>
<li>ca.crt</li>
<li>ta.key</li>
<li>&lt;client&gt;.crt</li>
<li>&lt;client&gt;.key</li>
</ul>
<p>Sul client metteremo questi file sotto /etc/openvpn, occhio ai permessi:</p>
<p>-rw-r&#8211;r&#8211;    ca.crt<br />
-rw-r&#8211;r&#8211;    &lt;client&gt;.crt<br />
-rw-r&#8211;r&#8211;    &lt;client&gt;.key<br />
-rw&#8212;&#8212;-    ta.key</p>
<p>Creiamo il file di configurazione del client (/etc/openvpn/client.conf):</p>
<p>client<br />
dev tun<br />
proto udp<br />
remote 85.25.71.39 1194<br />
resolv-retry infinite<br />
ca ca.crt<br />
cert &lt;client&gt;.crt<br />
key &lt;client&gt;.key<br />
tls-auth ta.key 1<br />
cipher BF-CBC<br />
comp-lzo<br />
ping 10<br />
verb 3<br />
mute 10<br />
log-append /var/log/openvpn/openvpn.log<br />
status /var/log/openvpn/openvpn-status.log</p>
<p>E&#8217; il momento di far partire il client:</p>
<p>/etc/init.d/openvpn start</p>
<p>Se l&#8217;output è questo:</p>
<p>Starting virtual private network daemon: client(OK).</p>
<p>Abbiamo finito!:)</p>
<p>Proviamo la VPN con un ping dal client verso il server (10.0.0.1) per vedere se è tutto ok.</p>
]]></content:encoded>
			<wfw:commentRss>http://ideafactory.it/debian/openvpn-routed-su-debian.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SSH Public Key Authentication in Debian</title>
		<link>http://ideafactory.it/debian/ssh-public-key-authentication-in-debian.html</link>
		<comments>http://ideafactory.it/debian/ssh-public-key-authentication-in-debian.html#comments</comments>
		<pubDate>Fri, 13 Mar 2009 14:35:54 +0000</pubDate>
		<dc:creator>Gianluca</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false">http://www.ideafactory.it/?p=149</guid>
		<description><![CDATA[La gestione remota del server viene (ed è giusto così!) fatta tramite SSH perché garantisce sicurezza ed affidabilità che altri sistemi sognano. Per fortificare ancor più questo sistema si può usare SSH con l&#8217;autenticazione a chiave pubblica. Esistono decine di siti che descrivono bene questo sistema e spiagano come creare la coppia di chiavi quindi [...]]]></description>
			<content:encoded><![CDATA[<p>La gestione remota del server viene (<strong>ed è giusto così!</strong>) fatta tramite SSH perché garantisce sicurezza ed affidabilità che altri sistemi sognano.</p>
<p>Per fortificare ancor più questo sistema si può usare SSH con l&#8217;autenticazione a chiave pubblica. Esistono decine di siti che descrivono bene questo sistema e spiagano come creare la coppia di chiavi quindi io do per assodato la creazione delle chiavi.</p>
<p>Per prima cosa va copiata la nostra chiave pubblica nel server remoto:</p>
<p><code>scp -p id_rsa.pub &lt;utente_remoto&gt;@&lt;hot_remoto&gt;:</code></p>
<p>Il file nel mio caso si chiama id_rsa.pub perché ho generato una chiave <em>RSA</em> ma anche una di altro tipo va più che bene!</p>
<p>Adesso creiamo le directory opportune nella home del nostro utente sul server remoto:</p>
<p><code>mkdir ~/.ssh<br />
chmod 700 ~/.ssh<br />
cat id_rsa.pub &gt;&gt; ~/.ssh/authorized_keys<br />
chmod 600 ~/.ssh/authorized_keys<br />
mv id_rsa.pub ~/.ssh</code></p>
<p>Adesso sul server remoto va configurato il demone SSH attraverso il file <em>/etc/ssh/sshd_config</em>.</p>
<p>Settiamo queste direttive:</p>
<p><code>PermitRootLogin		no<br />
PasswordAuthentication	no<br />
UsePAM			no</code></p>
<p>e riavviamo SSH:</p>
<p><code>/etc/init.d/ssh restart</code></p>
<p>Da adesso al nostro server ci si accede senza password&#8230;ma con la chiave!:)</p>
]]></content:encoded>
			<wfw:commentRss>http://ideafactory.it/debian/ssh-public-key-authentication-in-debian.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
