<?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>Patched.biz ~ #</title>
	<atom:link href="http://www.patched.biz/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.patched.biz</link>
	<description></description>
	<lastBuildDate>Thu, 24 Jun 2010 18:55:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>MailServer IMAP/POP3/SMTP(SSL) + ASPAM/postGREY</title>
		<link>http://www.patched.biz/?p=113</link>
		<comments>http://www.patched.biz/?p=113#comments</comments>
		<pubDate>Thu, 24 Jun 2010 09:40:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.patched.biz/?p=113</guid>
		<description><![CDATA[Questa guida intende descrivere come installare e configurare un semplice server di posta Imap/pop3/smtp con auth ssl e antispam+postgrey su linux (archlinux). Cominciamo col generare i certificati che useremo per le autenticazioni: cd /etc/ssl/certs &#038; openssl req -new -x509 -newkey rsa:1024 -days 3650 -keyout mail.key -out mail.crt openssl rsa -in mail.key -out mail.key &#038; mv [...]]]></description>
			<content:encoded><![CDATA[<p>Questa guida intende descrivere come installare e configurare un semplice server di posta Imap/pop3/smtp con auth ssl e antispam+postgrey su linux (archlinux).<br />
Cominciamo col generare i certificati che useremo per le autenticazioni:</p>
<blockquote><p><em>cd /etc/ssl/certs &#038; openssl req -new -x509 -newkey rsa:1024 -days 3650 -keyout mail.key -out mail.crt<br />
openssl rsa -in mail.key -out mail.key &#038; mv mail.key /etc/ssl/private<br />
</em></p></blockquote>
<p>Assicuriamoci che l&#8217;utenza di sistema che mapperemo con quella per l&#8217;email appartenga al gruppo &#8220;mail&#8221; e cominciamo con le installazioni:</p>
<blockquote><p><em>pacman -S postfix procmail dovecot spamassassin</em><br />
configuriamo spamassassin:<br />
groupadd -g 5001 spamd<br />
useradd -u 5001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin -m spamd<br />
chown spamd:spamd /var/lib/spamassassin</em></p></blockquote>
<p>tuniamo un po&#8217; abbassando ad 1 il valore del parametro max-children (default=5), cio&#8217; ci fara risparmiare parecchia ram:<br />
vi /etc/conf.d/spamd</p>
<blockquote><p><em>SAHOME=&#8221;/var/lib/spamassassin/&#8221;<br />
SPAMD_OPTS=&#8221;-c &#8211;max-children 1 &#8211;username spamd -H ${SAHOME} -s ${SAHOME}spamd.log &#8211;pidfile /var/run/spamd.pid&#8221;</em></p></blockquote>
<p>Configuriamo adesso DOVECOT per l&#8217; IMAPssl e il pop3dssl con:<br />
vim  /etc/dovecot/dovecot.conf</p>
<blockquote><p><em>protocols = imaps pop3s</p>
<p>disable_plaintext_auth = yes<br />
log_timestamp = &#8220;%b %d %H:%M:%S &#8221;</p>
<p>#ssl_disable = no</p>
<p>#i nostri certificati precedentemente creati<br />
ssl_cert_file = /etc/ssl/certs/mail.crt<br />
ssl_key_file = /etc/ssl/private/mail.key</p>
<p>mail_location = maildir:~/Maildir<br />
mail_access_groups = mail<br />
auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@</p>
<p>protocol imap {<br />
  imap_client_workarounds = delay-newmail tb-extra-mailbox-sep<br />
}</p>
<p>protocol pop3 {<br />
  pop3_uidl_format = %08Xu%08Xv<br />
    #pop3_client_workarounds =<br />
}</p>
<p>auth default {<br />
  mechanisms = plain login<br />
  passdb pam {<br />
  }<br />
  userdb passwd {<br />
  }<br />
user = root<br />
  socket listen {<br />
    client {<br />
      path = /var/run/dovecot/auth-client<br />
      user = postfix<br />
      group = postfix<br />
      mode = 0660<br />
    }<br />
  }<br />
}<br />
</em></p></blockquote>
<p>Passiamo adesso alla configurazione di POSTFIX, (</p>
<blockquote><p><em> cd /etc/postfix/ </em></p></blockquote>
<p>) cominciamo dal file principale:<br />
vi main.cf</p>
<blockquote><p><em><br />
# Paths<br />
queue_directory = /var/spool/postfix<br />
daemon_directory = /usr/lib/postfix<br />
command_directory = /usr/sbin<br />
mail_owner = postfix<br />
# Domain settings<br />
myhostname = mail.nostrodominio.com<br />
myorigin = nostrodominio.com<br />
mydestination = $myhostname, localhost.$mydomain, localhost<br />
# Timeout settings and other limits<br />
delay_warning_time = 4h<br />
unknown_local_recipient_reject_code = 450<br />
minimal_backoff_time = 300s<br />
maximal_backoff_time = 1200s<br />
maximal_queue_lifetime = 1d<br />
bounce_queue_lifetime = 1d<br />
smtp_helo_timeout = 60s<br />
smtpd_soft_error_limit = 3<br />
smtpd_hard_error_limit = 12<br />
# SMTP settings<br />
smtpd_tls_cert_file=/etc/ssl/certs/mail.crt<br />
smtpd_tls_key_file=/etc/ssl/private/mail.key<br />
smtpd_use_tls=yes<br />
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache<br />
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_scache<br />
smtpd_tls_loglevel = 1<br />
smtpd_sasl_auth_enable = yes<br />
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination,<br />
#postgrey<br />
check_policy_service inet:127.0.0.1:10030<br />
smtpd_sender_restrictions = permit_sasl_authenticated, permit_mynetworks<br />
smtpd_sasl_security_options = noanonymous<br />
# SASL<br />
smtpd_sasl_type = dovecot<br />
smtpd_sasl_path = /var/run/dovecot/auth-client</p>
<p># Network settings<br />
inet_interfaces = all<br />
inet_protocols = ipv4<br />
mynetworks = 127.0.0.0/8<br />
relayhost =<br />
# Email and mailbox settings<br />
alias_maps = hash:/etc/postfix/aliases<br />
alias_database = $alias_maps<br />
home_mailbox = Maildir/<br />
virtual_alias_domains = miodominio.com eventualealtrodominio.org<br />
virtual_alias_maps = hash:/etc/postfix/virtual<br />
mailbox_size_limit = 0</p>
<p># Misc<br />
mailbox_command = /usr/bin/procmail<br />
smtpd_banner = $myhostname ESMTP banner_che_vogliamo<br />
biff = no<br />
append_dot_mydomain = no<br />
debug_peer_level = 2<br />
sendmail_path = /usr/sbin/sendmail<br />
newaliases_path = /usr/bin/newaliases<br />
mailq_path = /usr/bin/mailq<br />
setgid_group = postdrop<br />
html_directory = no<br />
manpage_directory = /usr/man<br />
sample_directory = /etc/postfix/sample<br />
readme_directory = no<br />
recipient_delimiter = +<br />
</em>
</p></blockquote>
<p>Mappiamo adesso utenza sys/utenza email inserendo le informazioni opportune con:<br />
vi   /etc/postfix/virtual</p>
<blockquote><p><em><br />
utenteemail@dominiomio.com utentesistema@localhost<br />
utente2mail@altrodominio.org utentesistema2@localhost<br />
#etc.<br />
</em></p></blockquote>
<p>lanciamo adesso il comando:</p>
<blockquote><p><em>postmap /etc/postfix/virtual</em></p></blockquote>
<p>alliniamo adesso a spamassassin postfix configurando il suo vero motore principale:<br />
vi master.cf e aggiungiamo/modifichiamo</p>
<blockquote><p><em><br />
smtp      inet  n       &#8211;       n       &#8211;       &#8211;       smtpd<br />
  -o content_filter=spamassassin<br />
spamassassin unix &#8211;     n       n       &#8211;       &#8211;       pipe<br />
  user=spamd argv=/usr/bin/perlbin/vendor/spamc -f -e<br />
        /usr/sbin/sendmail -oi -f ${sender} ${recipient}<br />
</em></p></blockquote>
<p>Configuriamo spamassassin:<br />
vi /etc/mail/spamassassin/local.cf</p>
<blockquote><p><em>rewrite_header Subject *****SPAM*****<br />
required_score 3<br />
report_safe 0 #1<br />
use_bayes 1<br />
use_bayes_rules 1<br />
bayes_auto_learn 1<br />
</em></p></blockquote>
<p>Diciamo adesso a procmail come istruire le emails marchiate da spamassassin:<br />
vi /etc/procmailrc</p>
<blockquote><p><em><br />
DROPPRIVS=yes<br />
DEFAULT=$HOME/Maildir/<br />
MAILDIR=$HOME/Maildir/<br />
:0:<br />
* ^X-Spam-Status: Yes<br />
.Junk/<br />
</em></p></blockquote>
<p>Postgrey:<br />
yaourt -S postgrey<br />
configuriamo con<br />
vi /etc/conf.d/postgrey</p>
<blockquote><p><em><br />
POSTGREY_TYPE=&#8221;inet&#8221;<br />
POSTGREY_HOST=&#8221;127.0.0.1&#8243;<br />
POSTGREY_PORT=&#8221;10030&#8243;<br />
POSTGREY_SOCKET=&#8221;/var/spool/postfix/private/postgrey&#8221;<br />
POSTGREY_OPTS=&#8221;&#8211;delay=60&#8243;<br />
</em></p></blockquote>
<p>Infine creiamo la Maildir per l&#8217;utente:</p>
<blockquote><p><em>cd ~utente<br />
umask 077<br />
mkdir -p Maildir/{cur,new,tmp}<br />
mkdir -p Maildir/.Drafts/{cur,new,tmp}<br />
mkdir -p Maildir/.Sent/{cur,new,tmp}<br />
mkdir -p Maildir/.Trash/{cur,new,tmp}<br />
chmod -R 0700 Maildir<br />
chown -R utente:users *</em>
</p></blockquote>
<p>Riavviamo adesso tutti i servizi legati al mail server </p>
<blockquote><p><em>/etc/rc.d/postgrey start<br />
/etc/rc.d/spamd start<br />
/etc/rc.d/dovecot start<br />
/etc/rc.d/postfix start<br />
</em></p></blockquote>
<p>..e configuriamoci i nostri clients di posta.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.patched.biz/?feed=rss2&amp;p=113</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AutoTrace UserTrigger Oracle (appunti grezzi)</title>
		<link>http://www.patched.biz/?p=105</link>
		<comments>http://www.patched.biz/?p=105#comments</comments>
		<pubDate>Thu, 27 May 2010 15:25:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://www.patched.biz/?p=102</guid>
		<description><![CDATA[SQL> CREATE OR REPLACE TRIGGER trace_logon 2 after logon on database 3 begin 4 if ( sys_context(&#8216;USERENV&#8217;, &#8216;SESSION_USER&#8217;) in (&#8216;N00b1&#8242;, &#8216;Noob2&#8242;)) 5 then 6 execute immediate &#8216;alter session set timed_statistics=true&#8217;; 7 execute immediate &#8216;alter session set max_dump_file_size=10000&#8242;; 8 execute immediate &#8216;alter session set tracefile_identifier=&#8221;Noobs&#8221;; 9 execute immediate &#8216;alter session set events &#8221;10046 trace name context [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>SQL> CREATE OR REPLACE TRIGGER trace_logon<br />
  2  after logon on database<br />
  3  begin<br />
  4  if (    sys_context(&#8216;USERENV&#8217;, &#8216;SESSION_USER&#8217;) in (&#8216;N00b1&#8242;, &#8216;Noob2&#8242;))<br />
  5  then<br />
  6  execute immediate &#8216;alter session set timed_statistics=true&#8217;;<br />
  7  execute immediate &#8216;alter session set max_dump_file_size=10000&#8242;;<br />
  8  execute immediate &#8216;alter session set tracefile_identifier=&#8221;Noobs&#8221;;<br />
  9  execute immediate &#8216;alter session set events &#8221;10046 trace name context forever, level 12&#8221;&#8217;;<br />
 10  end if;<br />
 11  end;<br />
 12  /</p></blockquote>
<blockquote><p>SQL> CREATE OR REPLACE TRIGGER trace_logoff before logoff on database<br />
  2  begin<br />
  3  if (    sys_context(&#8216;USERENV&#8217;, &#8216;SESSION_USER&#8217;) in (&#8216;N00b1&#8242;,&#8217;Noob2&#8242;))<br />
  4  then<br />
  5  execute immediate &#8216;alter session set events &#8221;10046 trace name context off&#8221;&#8217;;<br />
  6  end if;<br />
  7  end;<br />
  8</p></blockquote>
<blockquote><p>PS:<br />
tkprof $ORACLE_BASE/diag/rdbms/prod/prod/trace/*Noobs&#8230;.* $ORACLE_HOME/*Noob&#8230;.*.out sys=no print=10 sort=fchela</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.patched.biz/?feed=rss2&amp;p=105</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rebuild index oracle (appunti grezzi)</title>
		<link>http://www.patched.biz/?p=93</link>
		<comments>http://www.patched.biz/?p=93#comments</comments>
		<pubDate>Thu, 06 May 2010 10:08:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[dba]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[oracle 11g]]></category>
		<category><![CDATA[oracle dba]]></category>
		<category><![CDATA[oracle index]]></category>
		<category><![CDATA[rebuild index]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.patched.biz/?p=93</guid>
		<description><![CDATA[#!/bin/sh #rebuilder script #trova indici e ricostruisce #Tempesta Piergiorgio 06/05/2010 . /home/oracle/.env11g SCRIPT_DIR=/home/oracle/Tempesta /home/oracle/app/product/11.2.0/bin/sqlplus -s /nolog allIndex3.sql /home/oracle/app/product/11.2.0/bin/sqlplus -s /nolog]]></description>
			<content:encoded><![CDATA[<blockquote><p>#!/bin/sh<br />
#rebuilder script<br />
#trova indici e ricostruisce<br />
#Tempesta Piergiorgio 06/05/2010<br />
. /home/oracle/.env11g<br />
SCRIPT_DIR=/home/oracle/Tempesta<br />
/home/oracle/app/product/11.2.0/bin/sqlplus -s /nolog <<eof<br />
set feed off pages 1000 lines 120 echo off verify off<br />
connect system/"password"<br />
spool ${SCRIPT_DIR}/allIndex.sql<br />
select 'ALTER INDEX "' || table_owner ||'"."'|| index_name || '" REBUILD;' from all_indexes;<br />
spool off<br />
EOF<br />
/bin/sed /TABLE_OWNER/d allIndex.sql > allIndex2.sql<br />
/bin/sed /&#8212;&#8212;&#8212;&#8211;/d allIndex2.sql > allIndex3.sql<br />
/home/oracle/app/product/11.2.0/bin/sqlplus -s /nolog<<eof<br />
connect SYSTEM/"password"<br />
spool ${SCRIPT_DIR}/risultato.out                                                         select to_char(sysdate,'DD/MM/YYYY HH24:MI:SS') from dual;<br />
@${SCRIPT_DIR}/allIndex3.sql<br />
select to_char(sysdate,'DD/MM/YYYY HH24:MI:SS') from dual;<br />
spool off<br />
EOF<br />
exit 0</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.patched.biz/?feed=rss2&amp;p=93</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logging centralizzato e sicuro</title>
		<link>http://www.patched.biz/?p=45</link>
		<comments>http://www.patched.biz/?p=45#comments</comments>
		<pubDate>Wed, 10 Feb 2010 15:37:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[guida syslog]]></category>
		<category><![CDATA[logging centralizzato]]></category>
		<category><![CDATA[logging linux]]></category>
		<category><![CDATA[syslog centralizzato]]></category>

		<guid isPermaLink="false">http://www.patched.biz/?p=45</guid>
		<description><![CDATA[Se volete anche voi risparmiare qualche migliaio di € , evitando l&#8217;acquisto di costose appliance che fanno più o meno la stessa cosa, questo sistema di logging centralizzato, che ho ideato un annetto fa circa, dovrebbe rispondere fedelmente alle direttive del decreto sulle &#8220;misure e accorgimenti prescritti ai titolari dei trattamenti effettuati con strumenti elettronici [...]]]></description>
			<content:encoded><![CDATA[<p>Se volete anche voi risparmiare qualche migliaio di € , evitando l&#8217;acquisto di costose appliance che fanno più o meno la stessa cosa, questo sistema di logging centralizzato, che ho ideato un annetto fa circa, dovrebbe rispondere fedelmente alle direttive del decreto sulle &#8220;<em>misure e accorgimenti prescritti ai titolari dei trattamenti effettuati con strumenti elettronici relativamente alle attribuzioni delle funzioni di amministratore di sistema</em>&#8221; del 27 novembre 2008 &#8211; (G.U. n. 300 del 24 dicembre 2008).</p>
<p>L&#8217;aspetto fondamentale che questo sistema dovrà esaudire è cio&#8217; che viene prescritto nel capitolo 4.5:<br />
sulla &#8220;Registrazione degli accessi&#8221;<br />
&#8220;<em>Devono essere adottati sistemi idonei alla registrazione degli accessi logici (autenticazione informatica) ai sistemi di elaborazione e agli archivi elettronici da parte degli amministratori di sistema. Le registrazioni (access log) devono avere caratteristiche di completezza, inalterabilità e possibilità di verifica della loro integrità adeguate al raggiungimento dello scopo di verifica per cui sono richieste</em>.&#8221;</p>
<p>Il sistema infatti si occuperà di delegare verso un unico server tutti gli accessi degli amministratori (root per macchine UNIX/LINUX e administrator su Domain controller e/o servers Windows ) della vostra rete, utilizzando un syslog centralizzato e un sistema di memorizzazione a scelta tra:<br />
- i piu costosi devices WORM (Write Once Read Many);<br />
- il gratuito UDF (anche lui scrivibile una sola volta come sui sistemi WORM&#8230;. anzi in realtà il 99% dei device WORM usano proprio UDF eheheh );<br />
- ISO9660 magari incapsulandolo in una comunissima immagine ISO;<br />
- o addirittura il performantissimo e almeno per me &#8220;nuovo&#8221; NILFS (che  uso ultimamente sulle /etc dei miei servers linux) , un filesystem a snapshot continui ( <a href="http://www.nilfs.org/en/">http://www.nilfs.org/en/</a> &#8211; &#8220;<em>NILFS is a log-structured file system supporting versioning of the entire file system and continuous snapshotting which allows users to even restore files mistakenly overwritten or destroyed just a few seconds ago</em>.&#8221;);<br />
Il tutto &#8220;accompagnato&#8221; magari da un bel HASH corrispondente <img src='http://www.patched.biz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Partiamo subito con qualche specifica:<br />
Il sistema potrà essere composto da un normalissimo pc i386 (non servono grossi requisiti hardware) con installata una qualsiasi distribuzione linux totalmente hardenizzata..<br />
io per ulteriore sicurezza ho utilizzato un kernel 2.6.27-10 patchato con grsecurity/pax in modo da limitare (attraverso apposite ACL) perfino le operazioni di root (quando avro&#8217; tempo magari vi parlero&#8217; di grsec <img src='http://www.patched.biz/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ) e non ho lasciato,  nessun servizio in ascolto (ovviamente nemmeno sshd).<br />
Il servizio di logs centralizzato è servito dal demone syslog che riceve sulla porta 514 UDP i logs delle autenticazioni<br />
da tutte le macchine del nostro CED (nel mio caso gli os maggiormente usati: tru64, hpux e windows).<br />
Il file di configurazione del syslog centralizzato sarà quindi:</p>
<blockquote><p>
#<br />
# /etc/syslog.conf<br />
#</p>
<p>*.emerg						*<br />
*.err						/var/log/errors<br />
kern.*						/var/log/kernel<br />
authpriv.*				/var/log/auth<br />
mail.*						/var/log/mail<br />
*.!err;mail,kern.none	/var/log/messages<br />
auth.info                                       /var/log/SERVERSlogs/auth.info<br />
# Log everything to vc12<br />
# *.*						/dev/vc/12</p>
<p># End of file
</p></blockquote>
<p>In questo post in merito alla fase della memorizzazione dei logs utilizzero&#8217; il filesystem Iso9660 incapsulato in un immagine ISO (inalterabile nel contenuto come vuole il decreto) e sopratutto &#8220;depositata&#8221; corrispondentemente ad un HASH (ho usato SHA256).</p>
<p>[Piu' avanti, in merito alla memorizzazione dei logs, se avro' tempo magari vi descrivero' altri metodi utilizzando per esempio UDF, WORM o sopratutto NILFS....]</p>
<p>Tale filesystem è stato scelto sia per la sua particolare caratteristica &#8220;WORM&#8221; ( Write Once Read Many ) sia per la sua compatibilità a sistemi operativi diversi sia ,non meno, alla possibilità di organizzare ogni 6 mesi o prima (come descrive il decreto stesso) una masterizzazione su CD/DVD..<br />
(Io ho preferito utilizzare le immagini ISO ma potremmo perfettamente scrivere direttamente sul DVD senza passare per le ISO utilizzando il già citato UDF e considerando che per aggiungere dati ad un dvd contente altri dati possiamo usare il comando:</p>
<blockquote><p>
# growisofs -M /dev/dvd /tmp/file_da_aggiungere
</p></blockquote>
<p> <img src='http://www.patched.biz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
<p>..ecco gli scripts che opportunamente inseriti in crontab si occuperanno di fare cio&#8217; che ho descritto:<br />
(PS: occupatevi di crearvi prima le directory <img src='http://www.patched.biz/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  )</p>
<blockquote><p>
#!/bin/bash<br />
chattr -i -R /root/StoricoLogs<br />
mv /var/log/SERVERSlogs/auth.info /root/StoricoLogs/complauth.info<br />
egrep &#8216;(dmin|root)&#8217; /root/StoricoLogs/complauth.info > /root/StoricoLogs/`date +%Y%h%d_%H%M`<br />
shasum /root/StoricoLogs/`date +%Y%h%d_%H%M` > /root/StoricoLogs/hashlog`date +%Y%h%d_%H%M`<br />
rm /root/StoricoLogs/complauth.info<br />
chattr +i -R /root/StoricoLogs/*<br />
/etc/rc.d/syslogd restart
</p></blockquote>
<p>questo catalogherà i logs ricevuti su syslog, li filtrerà (prenderà tutto cio&#8217; che riguarda l&#8217;auth di utenti root e administrator) e infine creerà un HASH corrispondente allo STEP attuato, riavviando successivamente syslog..</p>
<blockquote><p>
#!/bin/bash<br />
chattr -i /root/StoricoLogs/*<br />
mkisofs -input-charset=utf-8 -J -l -V &#8220;`date +%Y%h%d`_Log&#8221; -o /root/IsoLogs/`date +%Y%h%d`.iso /root/StoricoLogs/<br />
rm /root/StoricoLogs/*<br />
rm /root/auth
</p></blockquote>
<p>Quest&#8217;altro produrrà l&#8217;ISO corrispondente allo &#8220;STEPlogs&#8221; in corso utilizzando come &#8220;etichetta&#8221; la data/orario di produzione e cancellando successivamente le tracce in modo da ricominciare con un nuovo STEP successivo.</p>
<p>Passiamo adesso alla configurazione dei Client da dove prelevare i logs:<br />
ovviamente @Logserver è l&#8217;host corrispondente al nostro serverlogs (inserite la corrispondenza host->ip sul file /etc/hosts oppure nello script inserite @ip)</p>
<p>HPUX 11.x o Linux:</p>
<blockquote><p>
# @(#)B11.23_LR<br />
#<br />
# syslogd configuration file.<br />
#<br />
# See syslogd(1M) for information about the format of this file.<br />
#<br />
mail.debug		/var/adm/syslog/mail.log<br />
*.info;mail.none	/var/adm/syslog/syslog.log<br />
*.alert			/dev/console<br />
*.alert			root<br />
*.emerg			*<br />
auth.info	@logserver
</p></blockquote>
<p>Tru64 4*:</p>
<blockquote><p>
#<br />
# @(#)$RCSfile: syslog.conf,v $ $Revision: 4.1.8.1 $ (DEC) $Date: 2000/10/19 19:13:52 $<br />
#<br />
#<br />
# syslogd config file<br />
#<br />
# facilities: kern user mail daemon auth syslog lpr binary<br />
# priorities: emerg alert crit err warning notice info debug<br />
kern.debug		/var/adm/syslog.dated/kern.log<br />
user.debug		/var/adm/syslog.dated/user.log<br />
mail.debug		/var/adm/syslog.dated/mail.log<br />
daemon.debug		/var/adm/syslog.dated/daemon.log<br />
auth.debug		/var/adm/syslog.dated/auth.log<br />
auth.info;auth.debug	@logserver<br />
*.info;syslog.debug	/var/adm/syslog.dated/syslog.log<br />
lpr.info		/var/adm/syslog.dated/lpr.log</p>
<p>msgbuf.err		/var/adm/crash/msgbuf.savecore</p>
<p>kern.debug		/var/adm/messages<br />
*.alert;kern.debug	/dev/console<br />
*.emerg			*
</p></blockquote>
<p>e infine lo &#8220;zoccolo duro&#8221; ehhmmm scherzo <img src='http://www.patched.biz/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  WINDOWS:<br />
Per windows (nel mio caso 2003 server e) dovremmo trovare un buon prodotto in grado di &#8220;tradurre&#8221;<br />
il sistema dei logs microsoft (EVENTLOGS) per il nostro sistema (SYSLOG)..<br />
esistono diverse possibilità, io ho optato per questa: <a href="https://engineering.purdue.edu/ECN/Resources/Documents/UNIX/evtsys">https://engineering.purdue.edu/ECN/Resources/Documents/UNIX/evtsys</a><br />
installatelo e configuratelo seguendo queste semplicissime istruzioni <a href="http://eventlog-to-syslog.googlecode.com/files/Readme_4.1.rtf">http://eventlog-to-syslog.googlecode.com/files/Readme_4.1.rtf</a> <img src='http://www.patched.biz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>il sistema è pronto per l&#8217;uso date la passwd di root al vostro incaricato e ditegli di cambiarla:<br />
da questo momento solo lui, sarà in grado di visualizzare/conservare (ma non modificare) i logs accedendo  esclusivamente fisicamente alla console della macchina..<br />
io ho installato una GUI minimale (lxkde) e un frontend di masterizzazione (k3b o brasero) per rendergli le operazioni piu&#8217; semplici <img src='http://www.patched.biz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
ciao!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.patched.biz/?feed=rss2&amp;p=45</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DRBD e Heartbeat</title>
		<link>http://www.patched.biz/?p=18</link>
		<comments>http://www.patched.biz/?p=18#comments</comments>
		<pubDate>Wed, 26 Nov 2008 07:12:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[clusters]]></category>
		<category><![CDATA[drbd]]></category>
		<category><![CDATA[hpux]]></category>
		<category><![CDATA[linux cluster]]></category>
		<category><![CDATA[linux heartbeat]]></category>
		<category><![CDATA[solaris]]></category>

		<guid isPermaLink="false">http://www.patched.biz/?p=18</guid>
		<description><![CDATA[Dopo le esperienze con i prodotti commerciali di HP e SUN per i filesystem condivisi, l&#8217;alta disponibilità, clusters, LB etc. etc. (nel mio caso: service guard, vpars, fs veritas, ldoms e altre diavolerie in ambito HPUX e Sun SOLARIS..) ritorno con piacere alla reatà che preferisco di linux e del software open-source e sopratutto alla [...]]]></description>
			<content:encoded><![CDATA[<p>Dopo le esperienze con i prodotti commerciali di HP e SUN per i filesystem condivisi, l&#8217;alta disponibilità, clusters, LB etc. etc. (nel mio caso: service guard, vpars, fs veritas, ldoms e altre diavolerie in ambito HPUX e Sun SOLARIS..) ritorno con piacere alla reatà che preferisco di linux e del software open-source e sopratutto alla facilità ed immediatezza della tastiera/console abbandonando almeno per un po&#8217; <img src='http://www.patched.biz/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  quelle maledette freccette, i drags and drops, le caselline introvabili e le acrobazie del mouse su quei costosissimi e sempre uguali web_services_java_based che fanno tutto e di più..</p>
<p>apparte le mie paranoie digitali quindi <img src='http://www.patched.biz/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  cominciamo subito con lo scegliere cosa usare per condividere ai nodi del nostro cluster un unico filesystem..</p>
<p>per realizzare cio&#8217; ho optato per DRBD (dovrebbe essere l&#8217;acronimo di distribuited<br />
replicated block device&#8221;)..praticamente non è altro che un RAID1 (un mirror)<br />
tra due dispositivi di rete: il suo lavoro è quello di propagare dati da un nodo all&#8217;altro(sincronizzare praticamente)..</p>
<p>Partizioniamo su ogni nodo la &#8220;parte&#8221; che dedicheremo al nostro sistema (non vi dico come si fa, lo sapete già questo) questa partizione verà &#8220;letta&#8221; dal DRBD che abbiamo installato sul nodo e verà cosi creato il device /dev/drbd*..<br />
lo stesso DRBD poi, attraverso il suo file di configurazione /etc/drbd.conf stabilirà se scrivere o meno sul device in questione (questo in base ai criteri del nodo, se questo è primario allora potrà montare il device in +w).</p>
<p>Per avere una più affidabile configurazione del nostro cluster sarà meglio utilizzare 2 schede di rete ridondanti per ogni nodo, per farlo basterà abilitare il modulo &#8220;bonding&#8221; del kernel (trovate il modulo sotto &#8220;NEtwork device&#8221; nel menuconf del kernel) e quindi per ogni nodo del cluster dare:</p>
<blockquote><p>#modprobe bonding {attiviamo il modulo del kernel linux per il bonding}<br />
#ifconfig bind0 &#8220;ip&#8221; up {attiviamo l&#8217;interfaccia di bonding}<br />
#ifenslave bond0  eth0 eth1 {creiamo il channel bonding nel nostro nodo}</p></blockquote>
<p>..creeremo quindi anche uno script che faccia il tutto ad ogni riavvio della macchina<br />
in /etc/rc.d/net.bond0 configurando anche /etc/rc.d/ifenslave<br />
(i path ovviamente possono variare a secondo della distribuzione linux che usate <img src='http://www.patched.biz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>perfetto, dando adesso per scontato che abbiate &#8220;fisicamente&#8221; predisposto il cluster<br />
[cavo cross tra le schede di rete] [poi vedremo anche di usare un cavo seriale tra<br />
le due porte seriali <img src='http://www.patched.biz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ] e partizionato le 2 porzioni di fs dedicate a DRBD su ogni nodo.</p>
<p>Configurate DRBD [/etc/drbd.conf] seguendo il solito file di configurazione di esempio<br />
e create quindi il famoso device con:</p>
<blockquote><p>
#mknod -m 0760 /dev/drbd0 b 147 0</p></blockquote>
<p>avviamo il servizio:</p>
<blockquote><p>
#/etc/rc.d/drbd start</p></blockquote>
<p>montiamo adesso sul primo nodo il device come master:</p>
<blockquote><p>
#drbdadm &#8212; &#8211;do-what-I-say primary shared</p></blockquote>
<p>in questa maniera il device è già su ed è possibile,<br />
dal nodo primario, montare su /shared la nostra partizione condivisa con DRBD..<br />
ovviamente se volete potrete anche utilizzare LVM sui due nodi creando il volume<br />
corrispondente al device di DRBD /dev/drbd0 su ogni macchina del cluster.</p>
<p>per poter gestire adesso il failover del nostro servizio nel nostro cluster useremo Heartbeat:<br />
prima di tutto configuriamo sui due nodi, seguendo il solito esempio, il file ha.cf</p>
<blockquote><p>## /etc/ha.d/ha.cf<br />
keepalive 1<br />
deadtime 20<br />
warntime 3<br />
initdead 20<br />
serial /dev/ttyS0<br />
bcast eth1<br />
auto_failback yes<br />
node host_del_nodo1<br />
node host_del_nodo2<br />
crm no
</p></blockquote>
<p>successivamente configuriamo /etc/ha.d/haresources sui due nodi inserendo le risorse che migreremo tra le due macchine (quindi nel nostro caso l&#8217;unico servizio per il failover è quello di drbd):</p>
<blockquote><p>
hostnodo1 drbddisk::shared script_avvio_lvm Filesystem::/dev/drbd0::/shared0::fs_scelto</p></blockquote>
<p>(se non lo avete fatto: attivate il supporto a watchdog del kernel e create il corrispondente device:</p>
<blockquote><p>#mknod /dev/watchdog c 10 130 )
</p></blockquote>
<p>per una maggiore sicurezza infine nel file /etc/ha.d/authkeys impostiamo la crittografia dei dati<br />
tra i nodi:</p>
<blockquote><p>## /etc/ha.d/authkeys<br />
auth 1<br />
1 sha HeartbeatPassword
</p></blockquote>
<p>diamo i permessi:</p>
<blockquote><p># chmod 600 /etc/ha.d/authkeys</p></blockquote>
<p>e infine riconfiguriamo l&#8217;altro nodo con le stesse impostazioni oppure<br />
piu semplicemente:</p>
<blockquote><p>
#scp /etc/ha.d/authkeys root@nodo2:/etc/ha.d/</p></blockquote>
<p>prima di concludere il tutto vi consiglio un breve periodo di test ed infine un buon tuning per<br />
una piu&#8217; appropiriata scelta dei deadtimes di heartbeat e di tutti gli altri parametri e/o dei filesystem per le partizioni di drdb <img src='http://www.patched.biz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>PS: Appena avro&#8217;  tempo scrivero&#8217; qualche altro appunto in merito alla possibilita&#8217; del load-balancing su linux</p>
<p>utilizzando un unico host con LVS e i nodi linux-director <img src='http://www.patched.biz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Saluti! <img src='http://www.patched.biz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.patched.biz/?feed=rss2&amp;p=18</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>un mirror LVM su HPUX (appunti grezzi)</title>
		<link>http://www.patched.biz/?p=15</link>
		<comments>http://www.patched.biz/?p=15#comments</comments>
		<pubDate>Thu, 03 Apr 2008 09:25:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Unix]]></category>
		<category><![CDATA[hpux]]></category>
		<category><![CDATA[lvm]]></category>
		<category><![CDATA[lvm filesystem]]></category>
		<category><![CDATA[unix lvm]]></category>
		<category><![CDATA[vgcreate]]></category>

		<guid isPermaLink="false">http://www.patched.biz/?p=15</guid>
		<description><![CDATA[creiamo lvm per i due dischi: c5t0d1 e c5t0d0 - pvcreate /dev/rdsk/c5t0d1 - pvcreate /dev/rdsk/c5t0d0 - mkdir /dev/vg01 - mknod /dev/vg01/group -c 64 0&#215;010000 - vgcreate vg01 /dev/dsk/c5t0d1 /dev/dsk/c5t0d0 ..creiamo adesso un LV con lx4Mb =50&#215;4 = 200Mb - lvcreate -l 50 -n mirror vg01 ..creiamo adesso il mirror - lvextend -m 1 /dev/vg01/mirror - [...]]]></description>
			<content:encoded><![CDATA[<p>creiamo lvm per i due dischi: c5t0d1 e c5t0d0</p>
<blockquote><p>- pvcreate /dev/rdsk/c5t0d1</p>
<p>- pvcreate /dev/rdsk/c5t0d0</p>
<p>- mkdir /dev/vg01</p>
<p>- mknod /dev/vg01/group -c 64 0&#215;010000</p>
<p>- vgcreate vg01 /dev/dsk/c5t0d1 /dev/dsk/c5t0d0
</p></blockquote>
<p>..creiamo adesso un LV con lx4Mb  =50&#215;4 = 200Mb</p>
<blockquote><p>- lvcreate -l 50 -n mirror vg01</p></blockquote>
<p>..creiamo adesso il mirror</p>
<blockquote><p>- lvextend -m 1 /dev/vg01/mirror</p>
<p>- lvdisplay /dev/vg01/mirror</p></blockquote>
<p>..inizializziamo LV e montiamolo</p>
<blockquote><p>- newfs /dev/vg01/mirror</p></blockquote>
<p>su fstab inseriamo quindi:</p>
<blockquote><p>/dev/vg01/mirror /hd2mirror vxfs delaylog 0 2</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.patched.biz/?feed=rss2&amp;p=15</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prove tecniche qemu/KVM &amp; Zeroshell-1.0.beta7</title>
		<link>http://www.patched.biz/?p=10</link>
		<comments>http://www.patched.biz/?p=10#comments</comments>
		<pubDate>Wed, 24 Oct 2007 12:15:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.patched.biz/?p=10</guid>
		<description><![CDATA[KVM mette a disposizione estensioni per ottimizzare le virtualizzazioni sia su CPU Intel-vt che AMD-v. Il tutto consiste in un modulo kernel, kvm.ko, che fornisce le direttive base e un modulo specifico per il processore in uso, kvm-intel.ko o kvm-amd.ko. In particolare ho voluto emulare Zeroshell net services una nuova piccola distribuzione per server e [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://kvm.qumranet.com/kvmwiki">KVM</a> mette a disposizione estensioni per ottimizzare le virtualizzazioni sia su CPU Intel-vt che AMD-v. Il tutto consiste in un modulo kernel, kvm.ko, che fornisce le direttive base e un modulo specifico per il processore in uso, kvm-intel.ko o kvm-amd.ko.</p>
<p>In particolare ho voluto emulare <a href="http://www.zeroshell.net/">Zeroshell net services</a> una nuova piccola distribuzione per server e dispositivi embedded  configurabile ed amministrabile via web tramite un browser..</p>
<p>vorrei fare connettere la nostra macchina virtuale con zeroshell nella mia LAN ed evitare di fare routing col portatile, decido  di utilizzare quindi la macchina reale come proxy arp:</p>
<p><em>modprobe tun<br />
tunctl -t tap0<br />
chmod 666 /dev/net/tun<br />
brctl addbr br0<br />
ifconfig eth0 10.0.2.2 promisc<br />
brctl addif br0 eth0<br />
dhclient br0<br />
brctl addif br0 tap0<br />
ifconfig tap0 10.0.2.2 up<br />
echo 1 &gt; /proc/sys/net/ipv4/conf/tap0/proxy_arp<br />
route add -host 10.0.2.2 dev tap0<br />
arp -Ds 10.0.2.2 eth0 pub</em></p>
<p>..in questa maniera abbiam creato un bridge <em>br0</em> e abbiamo associato la nostra interfaccia di rete fisica <em>eth0 diventata così  porta logica del bridge (per il nostro caso non necessita di alcuna assegnazione particolare..)</em></p>
<p><em>successivamente abbiamo </em>assegnato un ip (nel caso particolare attraverso dhclient) della nostra lan per la &#8220;nuova&#8221; interfaccia della macchina reale.</p>
<p>Passiamo adesso a qemu-kvm e lanciamo quindi la nostra ZeroShell e vediamo come decidere per lei in modo che si interfacci attraverso il nostro bridge..</p>
<p>Tramite questo script switcheremo sull&#8217; interfaccia di rete virtuale la macchina emulata:</p>
<p><em> #!/bin/sh</em></p>
<p><em>echo &#8220;Executing /etc/ifupScript&#8230;&#8221;<br />
echo &#8220;Bringing up $1 for bridged mode&#8230;&#8221;<br />
sudo /sbin/ifconfig $1 0.0.0.0 promisc up<br />
echo &#8220;Adding $1 to br0&#8230;&#8221;<br />
sudo /usr/sbin/brctl addif br0 $1<br />
sleep 2<br />
</em></p>
<p>quindi..</p>
<p>ricordiamoci i moduli: <em>modprobe kvm kvm_intel;</em></p>
<p>..poi creiamo un img raw per contenere (nel caso in cui volessimo installare zeroshell su hd) il sistema operativo emulato&#8230; ed io mi tengo veramente largo e decido per 1 giga:</p>
<p><em>qemu-img create  /root/Zeroshell 1G</em></p>
<p>e infine lanciamo il livecd di Zeroshell attraverso qemu specificando architettura, memoria ,device e il boot della macchina emulata:</p>
<p><em>qemu-kvm -M pc -m 512 -cdrom /root/ZeroShell-1.0.beta7.iso -hda /root/Zeroshell -net nic,vlan=0,ifname=tap0,script=/etc/ifupScript -monitor pty -boot d</em><br />
una volta partito il sistema emulato dobbiamo ovviamente configurare almeno la rete..nel mio caso, userò solo dhclient:</p>
<p><a href="http://w2w.patched.biz/wp-content/uploads/2007/10/zeroshell-qemu1.jpg" title="zeroshell-qemu1.jpg"><img src="http://w2w.patched.biz/wp-content/uploads/2007/10/zeroshell-qemu1.jpg" alt="zeroshell-qemu1.jpg" /></a></p>
<p>..in questa maniera, adesso, dalla LAN a cui son connesso col portatile chiunque potrà provare Zeroshell specialmente attraverso il proprio browser sul tool di amministrazione:</p>
<p><a href="http://w2w.patched.biz/wp-content/uploads/2007/10/zeroshell-qemu2.jpg" title="zeroshell-qemu2.jpg"><img src="http://w2w.patched.biz/wp-content/uploads/2007/10/zeroshell-qemu2.jpg" alt="zeroshell-qemu2.jpg" height="470" width="742" /></a></p>
<p>attraverso questa comoda ed elegante interfaccia è possibile configurare con successo (ho provato quasi tutto il possibile con esito più che positivo):<a href="http://www.zeroshell.net/" target="_blank"> </a></p>
<ul>
<li>server RADIUS (con gestione chiavi di cifratura per Wireless 802.11b, 802.11g e 802.11; wpa e wpa2; e instradare da server radius dietro le piu svariate direttive (autenticazioni, mac acl e altro) su VLAN 802.1Q assegnata ad un essid. (ho già in mente di comprare una nano px e installare la versione zeroshell per compact flash.. e farci un bel mini sistema embedded.. )</li>
<li>Captive Portal per il supporto del web login su reti wireless e wired. ( avete presente gli HotSpot ? <img src='http://www.patched.biz/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  );</li>
<li>Gestione del QoS (Quality of Service) e traffic shaping per il controllo del traffico.</li>
<li>VPN host-to-lan.VPN lan-to-lan in tunnel SSL/TLS, con supporto per VLAN 802.1Q.</li>
<li>Router con route statiche e dinamiche;Bridge 802.1d con protocollo Spanning Tree per evitare loop anche in presenza di percorsi ridondati;</li>
<li>Firewall Packet Filter e Stateful Packet Inspection (SPI) con filtri applicabili sia in routing sia in bridging su tutti i tipi di interfaccia di rete comprese le VPN e le VLAN;Controllo mediante Firewall e Classificatore QoS del traffico di tipo File sharing P2P; NAT;TCP/UDP port forwarding (PAT) (vps ? <img src='http://www.patched.biz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ;</li>
<li>Server DNS multizona e con gestione automatica della Reverse Resolution in-addr.arpa;</li>
<li>Server DHCP multi subnet (con gestione dei mac address)</li>
<li>Virtual LAN 802.1Q (tagged VLAN) applicabili sulle interfacce Ethernet, sulle VPN lan-to-lan, sui bonding di VPN e sui bridge composti da interfacce Ethernet, VPN e bond di VPN;</li>
<li>Client PPPoE per la connessione alla WAN tramite linee ADSL, DSL e cavo;</li>
<li>Client DNS dinamico che permette la rintracciabilità su WAN anche quando l&#8217;IP è dinamico (ddclient, no-ip etc..)</li>
<li>Gestione dinamica del record dns MX per l&#8217;instradamento SMTP della posta elettronica;</li>
<li>Server e client NTP (Network Time Protocol);</li>
<li>Server syslog;</li>
<li>Autenticazione Kerberos 5 mediante un KDC integrato e cross autenticazione tra domini;Autorizzazione LDAP, NIS e RADIUS;Autorità di certificazione X.509 per l&#8217;emissione e la gestione di certificati elettronici;</li>
<li>Integrazione tra sistemi Unix e domini Windows Active Directory in un unico sistema di autenticazione e autorizzazione mediante LDAP e Kerberos 5 cross realm authentication.</li>
</ul>
<p>L&#8217;interfaccia è ancora incompleta perchè mancano un po&#8217; di features fighe che ci vedo.. ma guardando sul <a href="http://www.zeroshell.net/" target="_blank">sito ufficiale</a> pare che ci stiano lavorando su bene e le prospettive sono più che buone <img src='http://www.patched.biz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Per quello che c&#8217;è su adesso va più che bene.. poi che aggiungere? Comoda e veloce anche quando virtualizzata dietro qemu-kvm.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.patched.biz/?feed=rss2&amp;p=10</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenVpn [archivio]</title>
		<link>http://www.patched.biz/?p=8</link>
		<comments>http://www.patched.biz/?p=8#comments</comments>
		<pubDate>Tue, 26 Sep 2006 15:18:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www2.patched.biz/?p=8</guid>
		<description><![CDATA[OpenVPN è una soluzione Open Source che crea tunnel point-to-point TCP over UDP (evitando cosi&#8217; attacchi di tipo spoofing) permettendo la creazione di VPN in userspace e scambio di chiavi e dati crittografati con algoritmo blowfish. Il mio caso è quello di una vpn tls (con certificati ssl) a stella(connessione da un server centrale verso [...]]]></description>
			<content:encoded><![CDATA[<p>OpenVPN è una soluzione Open Source che crea tunnel point-to-point TCP over UDP (evitando cosi&#8217; attacchi di tipo spoofing) permettendo la creazione di VPN in userspace e scambio di chiavi e dati crittografati con algoritmo blowfish.</p>
<p>Il mio caso è quello di una vpn tls (con certificati ssl) a stella(connessione da un server centrale verso diversi clients), una vera e propria intranet attraverso una rete pubblica (internet).</p>
<p>Per prima cosa ho creato i certificati con openssl:</p>
<blockquote><p>openssl genrsa -out ca.key<br />
openssl req -new -key ca.key -out rich.ca<br />
openssl x509 -req -in rich.ca -signkey ca.key -out ca.cert<br />
openssl genrsa -out server.key<br />
openssl req -new -key server.key -out rich.ser<br />
openssl x509 -req -in rich.ser -CA ca.cert -CAkey ca.key -CAcreateserial -out ser.cert<br />
openssl dhparam -out dh.pem 1024</p></blockquote>
<p>dopo i due file di configurazione per la vpn,</p>
<p>quello del lato server:</p>
<blockquote><p>dev tap #device utilizzato (da abilitare nel kernel)<br />
proto tcp-server #protocollo di connessione<br />
ifconfig 192.168.0.1 255.255.0.0 # IP del server all interno della vpn<br />
tls-server # Specifica il tipo di server ssl (unico possibile per vpn a stella)</p>
<p>key ca.key<br />
dh dh.pem<br />
ca ca.cert<br />
cert ca.cert<br />
local 10.0.0.149 # IP locale &#8220;reale&#8221; della macchina che ospita il server vpn</p>
<p>lport 5002 #porta di comunicazione<br />
verb 4 #verbosità dei logs</p>
<p>mode server #modalità vpn<br />
duplicate-cn</p>
<p>;ifconfig-pool 192.168.0.10 192.168.0.50 #possibilità di ip automatico (tipo dhcp) allinterno del range descritto (io avevo necessita di ip statici indi non ho usato questa funzionalità)<br />
mssfix 1450<br />
client-to-client #i clients si vedono tra loro</p>
<p>;push &#8220;ping 10&#8243;<br />
;push &#8220;ping-restart 60&#8243;<br />
;ping 10<br />
;ping-restart 120</p>
<p>comp-lzo #compressione dei dati
</p></blockquote>
<p>.. e quello del client:</p>
<blockquote><p>remote *.*.*:* #ip publico remoto</p>
<p>rport 5002 #porta<br />
proto tcp-client #protocollo</p>
<p>tls-client #modalita del client ssl<br />
dev tap #device usato (anche qui da compilare nel kernel)</p>
<p>ifconfig 192.168.2.9 255.255.0.0 #ip statico per la vpn (nel caso di indirizzamento dinamico dhcp non serve questa linea)</p>
<p>key ca.key<br />
ca ca.cert<br />
cert ca.cert</p>
<p>pull<br />
comp-lzo #compressione dati<br />
verb 4 #verbosità dei logs</p></blockquote>
<p>fatto questo basterà far partire la vpn dal server e dai rispettivi client</p>
<blockquote><p>cd /etc/openvpn</p></blockquote>
<p> #(path dei file di configurazione ma sopratutto delle chiavi e certificati)</p>
<blockquote><p>openvpn &#8211;config filediconfigurazione.ovpn &#8211;daemon
</p></blockquote>
<p>questa vpn è stata provata con client su diverse piattaforme (anche windows)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.patched.biz/?feed=rss2&amp;p=8</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD &amp; IPFW (2 parte)[archivio]</title>
		<link>http://www.patched.biz/?p=6</link>
		<comments>http://www.patched.biz/?p=6#comments</comments>
		<pubDate>Sat, 01 Jul 2006 15:12:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www2.patched.biz/?p=6</guid>
		<description><![CDATA[Oltre IPFW, di cui abbiamo già detto qualcosa prima, esiste anche il demone natd, questa applicazione consente di effettuare le più avantate tecniche di NAT (Network Address Translation) e di PAT (Port Address Translation)&#8230; ..intanto ricompiliamo il kernel abilitando i seguenti moduli: (compilare un kernel freebsd se siete già abituati con linux è veramente semplice) [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.patched.biz/freebsd4.jpg" height="93" width="87" /></p>
<p>Oltre IPFW, di cui abbiamo già detto qualcosa prima, esiste anche il<br />
demone natd, questa applicazione consente di effettuare le più avantate<br />
tecniche di NAT (Network Address Translation) e di PAT (Port Address<br />
Translation)&#8230;</p>
<p>..intanto ricompiliamo il kernel abilitando i seguenti moduli:<br />
(compilare un kernel freebsd se siete già abituati con linux è veramente<br />
semplice)<br />
piazzate un file di configurazione su /usr/src/sys/i386/conf magari<br />
riprendendo quello del kernel custom e aggiungendo<br />
<span style="color: #008000">#<br />
options IPFIREWALL # firewall<br />
options IPFIREWALL_VERBOSE # abilita il logging<br />
#options IPFIREWALL_DEFAULT_TO_ACCEPT # autorizza tutto per default<br />
options IPDIVERT # divert sockets<br />
#<br />
</span><br />
chiamiamo MYKERNEL il nuovo file di conf del kernel ecompiliamo con:<br />
<span style="color: #008000"># /usr/sbin/config MYKERNEL</span><br />
andiamo poi nel dir di compilazione di Freebsd<br />
<span style="color: #008000"># cd compile/MYKERNEL</span><br />
e via:<br />
<span style="color: #008000"># make depend<br />
# make<br />
# make install<br />
</span><br />
adesso possiamo attivare anche il demone natd editando il solito<br />
/etc/rc.conf così:<br />
<span style="color: #008000"># impostazioni di rete<br />
defaultrouter=&#8221;200.201.202.254&#8243;<br />
gateway_enable=&#8221;YES&#8221;<br />
hostname=&#8221;sticazzi.dominio.com&#8221;<br />
ifconfig_xl0=&#8221;inet 200.201.202.140 netmask 255.255.255.248&#8243;<br />
ifconfig_xl1=&#8221;inet 192.168.0.254 netmask 255.255.255.0&#8243;<br />
#<br />
# impostazione del firewall ed del nat<br />
firewall_enable=&#8221;YES&#8221; # abilita firewalling<br />
firewall_type=&#8221;OPEN&#8221; # script standard /etc/rc.firewall<br />
natd_enable=&#8221;YES&#8221; # abilita il demone natd<br />
natd_interface=&#8221;xl0&#8243; # interfaccia che esegue il forwarding<br />
natd_flags=&#8221;-f /etc/natd.conf&#8221; # configurazioni addizionali per il natd<br />
</span><br />
La prima parte è quella espressamente dedicata al networking: viene<br />
definito il gateway, si abilitata la regola che consente il<br />
packetforwarding e vengono impostate le interfaccie di rete del nostro<br />
sistema.<br />
la seconda parte riguarda l&#8217;abilitazione del firewall, l&#8217;abilitazione del<br />
demone natd, la definizione dell&#8217;interfaccia di rete che eseguirà la<br />
traduzione degli indirizzi con la definizione del file che conterrà le<br />
impostazioni principali per il demone natd.<br />
Nel nostro esempio stiamo trattando un sistema con 2 interfacce di rete<br />
(dual-homed host), dove l&#8217;interfaccia xl0 fa parte della rete internet<br />
pubblica mentre l&#8217;interfaccia xl1 fa parte di una rete privata.<br />
L&#8217;interfaccia pubblica è quella che traduce gli indirizzi e le porte<br />
eseguendo il NAT (Network Address Translation) o il PAT (Port Address<br />
Translation). Per definire le regole che verranno utilizzate dal demone<br />
natd e per dare corso alla traduzione degli indirizzi e delle porte,<br />
dovremo creare il file di configurazione del natd /etc/natd.conf:<br />
<span style="color: #008000">interface xl0<br />
use_sockets yes<br />
same_ports yes<br />
</span><br />
Nel file viene definita l&#8217;interfaccia di rete che eseguirà il NAT, le<br />
istruzioni use_socket yes e same_ports yes sono fondamentali per il<br />
corretto funzionamento di alcuni protocolli applicativi (layer7) come<br />
l&#8217;FTP (File Transfer Protocol) e l&#8217;IRC (Internet relay chat).<br />
adesso potete anche riavviare la vostra macchina<br />
In queste condizioni operative la base di protezione è nulla. Lo script<br />
/etc/rc.firewall consente accesso a tutti i servizi che sono attivi sulla<br />
macchina eseguendo il solo demone natd.<br />
Eccovi un<br />
<strong class="bbcode"><a href="http://www.patched.biz/freebsd/esempiofirewall2.conf">esempio di<br />
firewall dual-homed con regole stringenti e sicure</a></strong>. Verrà eseguito il NAT,<br />
il PAT e verranno bloccati tutti gli accessi da reti e da host non<br />
autorizzati inclusa la tecnica di mascheramento degli indirizzi ip<br />
denominata ipspoofing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.patched.biz/?feed=rss2&amp;p=6</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD &amp; IPFW (1 parte)[archivio]</title>
		<link>http://www.patched.biz/?p=7</link>
		<comments>http://www.patched.biz/?p=7#comments</comments>
		<pubDate>Fri, 30 Jun 2006 15:15:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www2.patched.biz/?p=7</guid>
		<description><![CDATA[FreeBsd come altri sistemi operativi fornisce diversi strumenti per filtrare e gestire pacchetti..il mio preferito che è anche quello nativo per eccellenza è IPFW&#8230;.dicevo nativo..si perchè IPFW viene compilato nel kernel e consente di utilizzare FreeBSD sia come strumento per il filtraggio dei pacchetti (Packet Filter Firewall) che come strumento di analisi dei pacchetti che [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.patched.biz/freebsd4.jpg" height="93" width="87" /></p>
<p>FreeBsd come altri sistemi operativi fornisce diversi strumenti per filtrare e gestire<br />
pacchetti..il mio preferito che è anche quello nativo per eccellenza è IPFW&#8230;.dicevo nativo..si<br />
perchè IPFW viene compilato nel kernel e consente di utilizzare FreeBSD sia come strumento per il<br />
filtraggio dei pacchetti (Packet Filter Firewall) che come strumento di analisi dei pacchetti che<br />
lo attraversano grazie alle sue capacità statefull inspection..<br />
Un firewall di tipo packet filter è fatto solitamente per l&#8217; esclusiva gestione di sistemi dedicati<br />
alla protezione di reti e necessita di una memoria RAM molto limitata..<br />
Gli statefull inspection invece richiedono diversa memoria per via del lavoro di &#8220;analisi e<br />
gestione&#8221; all&#8217; interno delle molteplici interfacce di rete istallate nel sistema (guarda<br />
/etc/rc.conf)&#8230;.</p>
<p>..Per avviare le funzioni di firewalling non serve ricompilare il Kernel, dobbiamo solo  aggiungere<br />
le seguenti righe al file /etc/rc.conf perchè si inizializzi il firewall all avvio di sistema:<br />
<span style="color: #008000"><br />
firewall_enable=&#8221;YES&#8221;<br />
firewall_type=&#8221;/usr/local/etc/firewall.conf&#8221;<br />
#<br />
</span><br />
dopo di questo date un occhiata alle pagine di manuale di IPFW e configurate il vostro firewall<br />
(in /usr/local/etc/firewall.conf <img src="http://devon.homelinux.org/e107_images/emotes/default/wink.png" style="border: 0pt none ; vertical-align: middle" /><br />
<a href="http://www.patched.biz/freebsd/esempiofirewall.conf" target="_blank"><span style="text-decoration: underline"><strong class="bbcode">ecco un esempio base</strong></span></a></p>
<p>appena avrò il tempo vi scriverò la seconda parte di questa miniguida parlandovi del filtraggio<br />
avanzato con IPFW e del NAT su FreeBSD (/etc/natd.conf).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.patched.biz/?feed=rss2&amp;p=7</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
