<?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>uniXsex ~ #</title>
	<atom:link href="http://www.unixsex.org/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.unixsex.org</link>
	<description></description>
	<lastBuildDate>Tue, 15 May 2012 13:36:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>2 parole sulla sicurezza&#8230;</title>
		<link>http://www.unixsex.org/?p=295</link>
		<comments>http://www.unixsex.org/?p=295#comments</comments>
		<pubDate>Tue, 15 May 2012 11:00:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[security linux dnscrypt truecrypt vpn openvpn phishing massbot rootkit]]></category>
		<category><![CDATA[tor torify proxychains]]></category>

		<guid isPermaLink="false">http://www.unixsex.org/?p=295</guid>
		<description><![CDATA[La sicurezza informatica è una materia nuovissima, tanto nuova che diverse multinazionali non la conoscono ancora&#8230; almeno così sembrebbe leggendo il codice rimasto fino ad oggi in produzione. In realtà loro conoscono benissimo la sicurezza ma spesso non vogliono affrontare &#8230; <a href="http://www.unixsex.org/?p=295">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.unixsex.org/wp-content/uploads/2012/05/firewall1.jpg"><img src="http://www.unixsex.org/wp-content/uploads/2012/05/firewall1-300x225.jpg" alt="" title="firewall" width="300" height="225" class="alignleft size-medium wp-image-311" /></a><br />
La sicurezza informatica è una materia nuovissima, tanto nuova che diverse<br />
multinazionali non la conoscono ancora&#8230;<br />
almeno così sembrebbe leggendo il codice rimasto fino ad oggi in produzione. <img src='http://www.unixsex.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>In realtà loro conoscono benissimo la sicurezza ma spesso non vogliono<br />
affrontare analisi, fuzzing, pentest e altro per paura di dover rivoluzionare<br />
progetti interi che risalgono anche a piu&#8217; di 10anni fa!!</p>
<p>Non faccio nomi, ma la situazione, anche per noi &#8220;clienti&#8221; che ci fidiamo<br />
non è per niente sicura e non certo io ma la cronaca parla abbastanza<br />
chiara: ogni anno milioni di normali utenti vengono inculati per colpa di<br />
qualche azienda che non li tutela come dovrebbe..</p>
<p>vorrei pero&#8217; abbandonare, almeno per il momento, quello che avviene negli<br />
ambiti enterprise e parlare piu da vicino al privato: cosa deve fare un<br />
normale utente per avere un minimo di sicurezza?</p>
<p>L&#8217;argomento è davvero grande già solo per questo ambito &#8220;casalingo&#8221; non<br />
basterà sicuramente un post, ma cominciamo qui dalle basi, questo primo<br />
appunto sarà di facile fruizione e dedicato a utenti alle prime armi, diciamo,<br />
per intenderci meglio, un <a href="http://www.unixsex.org/noob.jpg" target="_blank">post aranzulliano</a> :p</p>
<p>Una delle prime cose che dobbiamo analizzare per capire quanto il nostro<br />
pc è sicuro è il &#8220;giro&#8221; che i pacchetti in uscita fanno verso internet e<br />
sopratutto se tali pacchetti vengono trasmessi in chiaro..<br />
 un altra cosa poi, che riguarda forse più i portatili e i device destinati<br />
ad &#8220;uscire da casa&#8221; è analizzare anche quanto sono fruibili i dati nostri<br />
sul filesystem e quindi in primis se il nostro profilo è coperto da una<br />
password robusta e consistente e in secundis se il nostro filesystem è<br />
cifrato o meno..l&#8217;idea è quella di astrarre il piu possibile, di allontanare<br />
le nostre informazioni da tutti tranne che da noi in maniera decisa e radicale..<br />
più ci riusciamo, più diventa difficile raggiungere i nostri dati personali.</p>
<p>In questo post vi daro&#8217; qualche idea, più avanti, appena trovero&#8217; il tempo<br />
giusto, scrivero&#8217; anche qualche breve tutorial per spiegare come &#8220;tirarla su&#8221;<br />
(l&#8217;idea) senza troppi problemi.</p>
<p>Cominciamo dal/i nostro/i hard-disk, prima di formattarli, se sono stati usati,<br />
andrebbero sempre skretchati con dati randomici, per esempio con un bel:<br />
<em>dd if=/dev/urandom of=/dev/<drive> bs=1M</em> (/dev/drive è il device da sovrascrivere ovviamente)</p>
<p>..ci starà tanto quanto è grande il nostro device..se vogliamo una stima<br />
possiamo dare un:<br />
<em>kill -USR1 $(pidof dd)</em> durante l&#8217;operazione..</p>
<p>fatto questo possiamo decidere in base al tipo di partizione (bootabile o meno)<br />
se utilizzare LUKS, truecrypt o altro.. piu avanti, in un altro post, entreremo<br />
nel dettaglio su questo.</p>
<p>Avendo dei device crittati saremo sicuri che se dovessimo perdere il nostro<br />
laptop piangeremo solo (con un occhio?) per lui e non per i nostri dati&#8230;<br />
ovviamente questo vale anche per un hd esterno, una usbkey etc etc.</p>
<p>Passiamo adesso al network, come renderci davvero anonimi in rete?</p>
<p>Dicevo che innanzitutto bisogna analizzare quale sarà il giro che i pacchetti<br />
faranno prima di raggiungere internet: il giro in parole povere è<br />
NostroPC&#8212;->ROUTER&#8212;->In(f)ernet<br />
e scrivo Infernet non a caso&#8230; già perchè è proprio cosi&#8217; che dobbiamo<br />
concepirlo per difenderci e renderci invisibili quanto piu&#8217; possibile&#8230; <img src='http://www.unixsex.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Nella rete oltre i piu&#8217; comuni virus e worm girano tanti spider, parecchi robot<br />
 in grado di reperire informazioni dai <a href="http://alalearning.org/wp-content/uploads/2010/06/noob101.jpg" target="_blank">più ingenui ute(o)nti</a>..e non parlo delle<br />
pratiche più stupide e facilmente sgamabili tipo il Phishing ma parlo di tanto<br />
altro, di sniffer, trojan, massbots, rootkit etc etc tutte robe che giornalmente<br />
vengono piazzate e utilizzate facilmente su milioni di pc a insaputa di utenti e<br />
(pseudo)sistemisti&#8230;l&#8217;approccio è sempre lo stesso, il robot dapprima individua<br />
un servizio buggato tramite uno scanport, successivamente sfrutta la vulne<br />
 per bindare un proprio socket o cmq avere accesso al target..</p>
<p>Dobbiamo allora rendere invisibili i nostri servizi, o cmq renderli almeno più<br />
sicuri: per far cio&#8217; mi viene in mente iptables, ipfw o anche il nostro router<br />
casalingo, router che nel migliore dei casi è anche un firewall, in questa<br />
maniera sapremo cosa rendere accessibile all&#8217;esterno e cosa no e sopratutto<br />
sapremo che tutto cio&#8217; che è accessibile deve essere prima ancora PATCHATO..</p>
<p>io spesso vado anche a cambiare il version sui sorgenti dei servizi prima di<br />
compilarli, e cambio anche le porte di default..questa pratica è inutile se il<br />
servizio è buggato ma è cmq un livello piccolo in piu&#8217; di astrazione, diciamo che<br />
è quel poco che basta per non rendere il servizio localizzabile almeno ai bot<br />
 piu&#8217; stupidi che basano le proprie scansioni sulle porte in ascolto e il version<br />
(la rete ne è satura!)..</p>
<p>Se patchati i nostri servizi sono più sicuri di prima (salvo 0day ovviamente).</p>
<p>Vediamo di analizzare adesso quello che &#8220;trasmettiamo&#8221; su internet:<br />
i nostri pacchetti in uscita, le nostre navigazioni sul web per esempio..</p>
<p>Le pagine web navigate e altro (anche le password!) sappiamo che vengono<br />
 raccolte, quando abilitata, nell&#8217;history del browser&#8230;possiamo stare<br />
sicuri almeno adesso sul fatto che queste siano più sicure visto che<br />
prima abbiamo cifrato il nostro disco.. se volessimo  astrarre ancora di<br />
piu&#8217; potremmo usare per le navigazioni più  a rischio una macchina<br />
virtuale opportunamente configurata, magari una VM che risieda su un<br />
virtualdisk cifrato con truecrypt e che bootiamo solo all&#8217;occorrenza<br />
(per esempio quando dobbiamo utilizzare carte di credito o accedere al<br />
sito della nostra banca).. in questa maniera il file contenente la vm<br />
(vmdk, vdi etc.) viene crittato e a sua volta risiede su un filesystem<br />
crittato: livello di astrazione = +2 </p>
<p>..il giro dei dati sarà pero&#8217; sempre lo stesso: anche usando una VM i dati<br />
 verranno trasmessi in chiaro dal nostro gateway a Infernet..(e lo stesso<br />
vale per le chiamate al DNS) l&#8217;idea sarebbe quella di trovare un nodo, un<br />
relay al quale trasmettere i dati (magari crittati) e che provveda lui<br />
stesso a girare tali dati cifrati in rete: per far cio&#8217; potremmo utilizzare<br />
 una VPN in UDP utilizzando una nostra macchina in rete (io uso una vps per<br />
 esempio) oppure un qualche servizio su internet (cercate VPN services la<br />
rete è piena, solitamente i migliori sono a pagamento ma assicurano la<br />
cancellazione addirittura dei logs di accesso!).<br />
Esiste anche l&#8217;opzione TOR, io la uso sempre come secondaria, nel senso che<br />
 arrivo a tor sempre dopo una vpn esterna perchè non mi fido al 100%..</p>
<p>I maniaci come me, inoltre, creano proprio delle sottoreti virtuali sul quale<br />
 girare i pacchetti, in particolare io potrei tirare su due o piu macchine<br />
virtuali impostandole una come gw dell&#8217;altra e facendole viaggiare su vpn<br />
diverse:</p>
<p>VM1&#8212;(vpn udp)&#8212;> 1GW/Relay VM2&#8212;-(vpn2 udp)&#8212;>2GW VM3</p>
<p>I miei dati praticamente &#8220;escono&#8221; dalla prima macchina virtuale incapsulati e<br />
cifrati tramite la prima vpn instaurata con la seconda VM che a sua volta li<br />
cifra nuovamente e li gira su internet sfruttando un&#8217;altra vpn e cosi via&#8230;</p>
<p>(PS: è indubbio che più è il numero delle vpn pubbliche più sarà lenta la<br />
navigazione) </p>
<p>in questa maniera siamo sicuri che anche i nostri pacchetti<br />
diventano per lo meno inleggibili (o quasi) <img src='http://www.unixsex.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  per provarlo si puo&#8217; utilizzare<br />
un qualsiasi sniffer (tcpdump, ethereal, ettercap) e mettersi ai bordi e<br />
catturare il traffico. <img src='http://www.unixsex.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Infine dicevamo delle interrogazioni ai DNS, solitamente queste vengono fatte<br />
dirette dal host (cosa che in molti dimenticano) quindi per completare il nostro<br />
 giro dovremmo provvedere a crittarle, un consiglio è quello di cominciare<br />
usando unbound+dnscrypt-proxy oppure nameserver pubblici con zerolog<br />
garantiti&#8230;<br />
ma per oggi mi fermo qui.<br />
Amen!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixsex.org/?feed=rss2&#038;p=295</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sslh ovvero ssl/ssh multiplexer</title>
		<link>http://www.unixsex.org/?p=291</link>
		<comments>http://www.unixsex.org/?p=291#comments</comments>
		<pubDate>Fri, 24 Feb 2012 09:46:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[unix sex sslh sshd https 443 multiplexer rounder linux]]></category>

		<guid isPermaLink="false">http://www.unixsex.org/?p=291</guid>
		<description><![CDATA[Avete bisogno di utilizzare la 443 per ssh o openvpn (tunnel etc.) ma avete la 443 occupata da https ? Nessun problema cè SSLH! Nel mio caso ho dapprima bindato sshd sulla 1022 e http ssl sulla 4433 e successivamente &#8230; <a href="http://www.unixsex.org/?p=291">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.unixsex.org/wp-content/uploads/2012/02/unix.jpg"><img src="http://www.unixsex.org/wp-content/uploads/2012/02/unix.jpg" alt="" title="unix" width="187" height="203" class="alignleft size-full wp-image-292" /></a><br />
Avete bisogno di utilizzare la 443 per ssh o openvpn (tunnel etc.) ma avete la 443 occupata da https ?<br />
Nessun problema cè <strong>SSLH!</strong> <img src='http://www.unixsex.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <a href="http://www.rutschle.net/tech/sslh.shtml" title="http://www.rutschle.net/tech/sslh.shtml" target="_blank"></a></p>
<p>Nel mio caso ho dapprima bindato sshd sulla 1022 e http ssl sulla 4433 e successivamente configurato il file di configurazione<br />
di sshd (su archlinux /etc/conf.d/sslh ) in questo modo:</p>
<p><em><br />
LISTEN=178.79.135.237:443<br />
SSH=localhost:1022<br />
SSL=localhost:4433<br />
</em></p>
<p>Il demone sslh praticamente si mette in ascolto sulla 443 analizza il pacchetto, se questo è http lo forwarda sulla 4433 altrimenti sulla 1022 se è una connessione ssh.<br />
Amen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixsex.org/?feed=rss2&#038;p=291</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Condividiamo testi, logs etc. con Sprunge da console.</title>
		<link>http://www.unixsex.org/?p=273</link>
		<comments>http://www.unixsex.org/?p=273#comments</comments>
		<pubDate>Mon, 20 Feb 2012 15:34:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Media]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[lino banfi ffffuuuuuuu canà oronzo banfffuuuu]]></category>
		<category><![CDATA[linux terminal sprunge paste web bash]]></category>

		<guid isPermaLink="false">http://www.unixsex.org/?p=273</guid>
		<description><![CDATA[Post veloce veloce&#8230; creiamo un alias inserendo sul file .bashrc della nostra home utente: alias sprunge=&#8217;curl -F &#8220;sprunge=]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.patched.biz/lino_banffffuuuu.jpg"><img src="http://www.patched.biz/lino_banffffuuuu.jpg" alt="" title="ouch-fail" width="225" height="300" class="alignleft size-medium wp-image-240" /></a><br />
Post veloce veloce&#8230; creiamo un alias inserendo sul file .bashrc della nostra home utente:<br />
<em>alias sprunge=&#8217;curl -F &#8220;sprunge=<-" http://sprunge.us'</em><br />
Per capire come funziona il tutto..volete per esempio sharare il vostro dmesg.log su web? Digitate:<br />
<code> cat vostro.log | sprunge </code><br />
et voilà avrete il link su sprunge del vostro log:)</p>
<p>eccovi l&#8217;esempio:<br />
<em>#  cat /var/log/dmesg.log |sprunge<br />
 <strong>http://sprunge.us/rtsNw</strong></em><br />
ciao!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixsex.org/?feed=rss2&#038;p=273</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Shrink Tablespace &#8220;problematici&#8221;</title>
		<link>http://www.unixsex.org/?p=235</link>
		<comments>http://www.unixsex.org/?p=235#comments</comments>
		<pubDate>Tue, 11 Oct 2011 12:05:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.patched.biz/?p=235</guid>
		<description><![CDATA[Se avete intenzione di modificare un TB su un ambiente di produzione prima ancora di pensarlo prendetevi subito e nell&#8217;ordine seguente: 1> una vacanza di almeno 7 giorni (occorre sempre e cmq!) 2> una buona dose di tranquillanti (ogni buon &#8230; <a href="http://www.unixsex.org/?p=235">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.patched.biz/wp-content/uploads/2011/10/ouch-fail.jpg"><img src="http://www.patched.biz/wp-content/uploads/2011/10/ouch-fail-225x300.jpg" alt="" title="ouch-fail" width="225" height="300" class="alignleft size-medium wp-image-240" /></a><br />
Se avete intenzione di modificare un TB su un ambiente di produzione prima ancora di pensarlo prendetevi subito e nell&#8217;ordine seguente:<br />
1> una vacanza di almeno 7 giorni (occorre sempre e cmq!)<br />
2> una buona dose di tranquillanti (ogni buon dba oracle/sysadmin unix conserva sempre qualcosa di chimico nel cassetto!)<br />
3> un backup full del DB (non vi ho ancora parlato di export data pump e di RMAN vero? Beh lo faro&#8217;..intanto sappiate che Google è un vostro amico![cit.])</p>
<p>Bene ho scritto &#8220;Tablespace problematici&#8221; e non Tablespace.. già perchè spesso il comando da manuale per il resize:<br />
<em>ALTER DATABASE DATAFILE &#8216;/home/oracle/oradata/tbmaledetto.dbf&#8217; size 10G</em><br />
indovinate? Non funziona&#8230;<br />
i motivi sono tanti e a volte basta semplicemente un <em>PURGE RECYCLEBIN</em> per risolvere<br />
altre volte invece, quando siete tanto ma taanto ma proprio taaaanto <a href="http://www.gattolandia.com/portale/forum/uploads/av-9.jpg">sfigatti</a> il vostro db proviene da svariati<br />
porting e durante il suo percorso, di release in release, il tablespace in questione ha sempre più frammentato i suoi dati all&#8217;interno fino a rendere praticamente impossibile perdere tempo tra i blocks liberi e fantomatici recuperi &#8220;standard&#8221;&#8230;</p>
<p>Quindi la soluzione è:</p>
<p>1> Create un TS NUOVO con le dimensioni/datafiles utili a contenere il vecchio..dategli un nome PROVVISORIO<br />
   (io ho spostato USERS, e mi sono bastati due DATAFILE da 20Gb ciascuno)<br />
   <em>create tablespace USERS2 datafile &#8216;/home/oracle/oradata/user1.dbf&#8217; size 20G autoextend on,&#8217;/home/oracle/oradata/user2.dbf&#8217; size 20G autoextend on;</em><br />
2> muovete tutti gli oggetti del TS &#8220;vecchio&#8221; spoolando ed eseguendo questo script:<br />
(io l&#8217;ho usato per spostare tutti gli oggetti di USERS dentro USERS2.. modificatelo voi stessi secondo quello<br />
che vi serve oppure se siete fighi sostituite USERS e USERS2 con &#038;VARIABILE1 e &#038;VARIABILE2 <img src='http://www.unixsex.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><em>set pagesize 2000<br />
set linesize 200<br />
set echo off<br />
set heading off<br />
select &#8216;Transporting tablespace &#8216; || &#8216;USERS&#8217; || &#8216; to tablespace &#8216; || &#8216;USERS2&#8242; from dual;<br />
select &#8216;Size: &#8216; || to_char((sum(ext.bytes) / 1048576), &#8217;9,990.00&#8242;) || &#8216; MB&#8217;<br />
from dba_objects ob<br />
inner join (<br />
  select ta.owner, ta.table_name as nom, ta.tablespace_name as tbs, &#8216;TABLE&#8217; as tipo from dba_tables ta<br />
  union<br />
  select ind.owner, ind.index_name as nom, ind.tablespace_name as tbs, &#8216;INDEX&#8217; as tipo from dba_indexes ind<br />
) tb on tb.owner=ob.owner and tb.nom=ob.object_name and tb.tipo=ob.object_type<br />
inner join dba_extents ext on ext.segment_name = ob.object_name<br />
where ob.object_type in (&#8216;INDEX&#8217;, &#8216;TABLE&#8217;, &#8216;LOB&#8217;) and (tb.tbs = &#8216;USERS&#8217;);<br />
select &#8216;alter user &#8216; || ob.owner || &#8216; quota unlimited on &#8216; || &#8216;USERS2&#8242; || &#8216; default tablespace &#8216; || &#8216;USERS2&#8242; || &#8216;;&#8217;<br />
from dba_objects ob<br />
inner join (<br />
  select ta.owner, ta.table_name as nom, ta.tablespace_name as tbs, &#8216;TABLE&#8217; as tipo from dba_tables ta<br />
  union<br />
  select ind.owner, ind.index_name as nom, ind.tablespace_name as tbs, &#8216;INDEX&#8217; as tipo from dba_indexes ind<br />
) tb on tb.owner=ob.owner and tb.nom=ob.object_name and tb.tipo=ob.object_type<br />
where ob.object_type in (&#8216;INDEX&#8217;, &#8216;TABLE&#8217;, &#8216;LOB&#8217;) and (tb.tbs = &#8216;USERS&#8217;)<br />
group by ob.owner;<br />
select<br />
  decode(ob.object_type,<br />
    &#8216;TABLE&#8217;,<br />
      &#8216;alter table &#8220;&#8216; || ob.owner || &#8216;&#8221;.&#8221;&#8216; || ob.object_name || &#8216;&#8221; move tablespace &#8216; || &#8216;USERS2&#8242; || &#8216;;&#8217;,<br />
      &#8216;alter index &#8220;&#8216; || ob.owner || &#8216;&#8221;.&#8221;&#8216; || ob.object_name || &#8216;&#8221; rebuild tablespace &#8216; || &#8216;USERS2&#8242; || &#8216;;&#8217;<br />
  )<br />
from dba_objects ob<br />
inner join (<br />
  select ta.owner, ta.table_name as nom, ta.tablespace_name as tbs, &#8216;TABLE&#8217; as tipo from dba_tables ta<br />
  union<br />
  select ind.owner, ind.index_name as nom, ind.tablespace_name as tbs, &#8216;INDEX&#8217; as tipo from dba_indexes ind<br />
) tb on tb.owner=ob.owner and tb.nom=ob.object_name and tb.tipo=ob.object_type<br />
where ob.object_type in (&#8216;TABLE&#8217;) and (tb.tbs = &#8216;USERS&#8217;);<br />
select<br />
  &#8216;alter table &#8220;&#8216; || lo.owner || &#8216;&#8221;.&#8221;&#8216; || lo.table_name ||<br />
  &#8216;&#8221; move lob (&#8220;&#8216; || lo.column_name || &#8216;&#8221;) store as (tablespace &#8216; || &#8216;USERS2&#8242; || &#8216;);&#8217;<br />
from dba_lobs lo<br />
inner join  dba_segments se on se.segment_name = lo.segment_name<br />
where se.tablespace_name = &#8216;USERS&#8217;;<br />
select<br />
  decode(ob.object_type,<br />
    &#8216;TABLE&#8217;,<br />
      &#8216;alter table &#8220;&#8216; || ob.owner || &#8216;&#8221;.&#8221;&#8216; || ob.object_name || &#8216;&#8221; move tablespace &#8216; || &#8216;USERS2&#8242; || &#8216;;&#8217;,<br />
      &#8216;alter index &#8220;&#8216; || ob.owner || &#8216;&#8221;.&#8221;&#8216; || ob.object_name || &#8216;&#8221; rebuild tablespace &#8216; || &#8216;USERS2&#8242; || &#8216;;&#8217;<br />
  )<br />
from dba_objects ob<br />
inner join (<br />
  select ta.owner, ta.table_name as nom, ta.tablespace_name as tbs, &#8216;TABLE&#8217; as tipo from dba_tables ta<br />
  union<br />
  select ind.owner, ind.index_name as nom, ind.tablespace_name as tbs, &#8216;INDEX&#8217; as tipo from dba_indexes ind<br />
) tb on tb.owner=ob.owner and tb.nom=ob.object_name and tb.tipo=ob.object_type<br />
where ob.object_type in (&#8216;INDEX&#8217;) and (tb.tbs = &#8216;USERS&#8217;);    </em></p>
<p>Adesso il vecchio TS è vuoto&#8230; cancellatelo e insultatelo quanto volete:<br />
<em>DROP TABLESPACE users INCLUDING CONTENTS AND DATAFILES;</em><br />
(PS: se il TS è il DEFAULT USER settate come DEFAULT USERS quello nuovo così:<br />
<em>ALTER database default tablespace users2;</em> )<br />
 e rinominate il nuovo con:<br />
<em>ALTER TABLESPACE users2 RENAME TO users;</em><br />
Finalmente avete risparmiato lo spazio che desideravate e in più avete il vostro bel TS<br />
con i dati frammetati e quindi resizzabile quando e quanto credete.<br />
Amen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixsex.org/?feed=rss2&#038;p=235</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ricreare la TABLESPACE TEMPORANEA su ORACLE</title>
		<link>http://www.unixsex.org/?p=186</link>
		<comments>http://www.unixsex.org/?p=186#comments</comments>
		<pubDate>Thu, 11 Aug 2011 14:33:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[tablespace temp oracle 11g create]]></category>

		<guid isPermaLink="false">http://www.patched.biz/?p=186</guid>
		<description><![CDATA[A volte, nelle giornate peggiori, quando magari determinate congiunzioni astrali non ci sono particolarmente favorevoli puo&#8217; capitare che una TABLESPACE se ne vada a puttane, quando questa TABLESPACE poi è quella TEMPORANEA, dopo aver bestemmiato abbondantemente cominciate a ordinare nella &#8230; <a href="http://www.unixsex.org/?p=186">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.patched.biz/space.jpg"><img class="alignleft size-full wp-image-200" title="fffuuu" src="http://www.patched.biz/space.jpg" alt="" width="250" height="190" /></a><br />
A volte, nelle giornate peggiori, quando magari determinate congiunzioni astrali non ci sono particolarmente favorevoli puo&#8217; capitare che una TABLESPACE se ne vada a puttane, quando questa TABLESPACE poi è quella TEMPORANEA, dopo aver <a href="http://www.youtube.com/watch?v=lg81JDaObdk" target="_blank">bestemmiato abbondantemente</a> cominciate a ordinare nella vostra mente le persone alle quali recentemente avete fatto del male filtrando quali <a href="http://www.youtube.com/watch?v=LkpGB6ytm-I" target="_blank">tra queste possano centrarci qualcosa con il voodoo, la macumbaa e la stregoneria in generale</a>&#8230;<br />
ma tralasciamo adesso l&#8217; astrologia, l&#8217; alchimia e le scienze magiche e tornaniamo su sqlplus e al nostro db&#8230; <img src='http://www.unixsex.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
la rottura della TS TEMP fortunatamente non capita spesso, puo&#8217; capitare successivamente ad un ripristino o a qualche operazione particolare nel db (<a href="http://www.patched.biz/?p=169">*</a>).<br />
Vediamo come è possibile uscirne vivi:<br />
La nostra TS TEMP principale del db è:<br />
<em>SQL&gt; select PROPERTY_VALUE from database_properties<br />
where property_name = &#8216;DEFAULT_TEMP_TABLESPACE&#8217;;</em></p>
<p>PROPERTY_VALUE<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
TEMP<br />
E ovviamente se proviamo a fare la cosa più normale in questi casi, e cioè dropparla e rigenerarla, essendo la TEMP globale del db otterremo un errore <em>ORA-12906:<br />
SQL&gt; drop tablespace temp;<br />
drop tablespace temp<br />
*<br />
ERROR at line 1:<br />
ORA-12906: cannot drop default temporary tablespace</em><br />
Per risolvere il problema dobbiamo quindi creare una nuova TS temporanea provvisoria così:<br />
<em>SQL&gt; create temporary tablespace temp2 tempfile &#8216;/oradata2/temp2.dbf&#8217; size 10M;<br />
Tablespace created.</em><br />
Definirla come temporanea principale:<br />
<em>SQL&gt; alter database default temporary tablespace temp2;<br />
Database altered.</em><br />
Per confermare che sia la TS che vogliamo diamo un:<br />
<em>SQL&gt; select username, temporary_tablespace from dba_users where username in (&#8216;utente1&#8242;,&#8217;SCOTT&#8217;,'utente2&#8242;);</em></p>
<p>USERNAME TEMPORARY_TABLESPACE<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
utente1 TEMP2<br />
PROD TEMP2<br />
utente2 TEMP2</p>
<p>A questo punto finalmente cancelliamo la TS temporanea ex-di-default<br />
<em>SQL&gt; drop tablespace temp;<br />
Tablespace dropped.</em></p>
<p>Cancelliamo il datafile corrispondente nel filesystem mi raccomando e infine riprocediamo come sopra<br />
ma stavolta per la TS TEMP definitiva.<br />
Amen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixsex.org/?feed=rss2&#038;p=186</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>2 Metodi &#8220;sicuri&#8221; per il cambio del SID su un db ORACLE 11g</title>
		<link>http://www.unixsex.org/?p=169</link>
		<comments>http://www.unixsex.org/?p=169#comments</comments>
		<pubDate>Thu, 11 Aug 2011 13:52:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[change dbname SID cambiare NID rinominare db oracle 11g linux unix]]></category>

		<guid isPermaLink="false">http://www.patched.biz/?p=169</guid>
		<description><![CDATA[Recentemente, dopo un urgente ripristino di un db su un ambiente diverso da quello sorgente (un ambiente di produzione su uno di collaudo), mi sono ritrovato a imprecare doverne cambiare il nome e diversi altri parametri. L&#8217; operazione delicata in &#8230; <a href="http://www.unixsex.org/?p=169">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.patched.biz/wp-content/uploads/2011/01/workaround.jpg"><img src="http://www.patched.biz/wp-content/uploads/2011/01/workaround-300x225.jpg" alt="" title="workaround.jpg" width="300" height="225" class="alignleft size-medium wp-image-160" /></a><br />
Recentemente, dopo un urgente ripristino di un db su un ambiente diverso da quello sorgente (un ambiente di produzione su uno di collaudo), mi sono ritrovato a <del datetime="2011-08-11T14:43:16+00:00">imprecare </del>doverne cambiare il nome e diversi altri parametri.<br />
 L&#8217; operazione delicata in questi casi è proprio quella del cambio del SID. Esistono due modi che ho sperimentato con esito positivo, il primo è più semplice e consiste nel usare l&#8217; utility <strong>DBNEWID</strong>.<br />
Dopo il ripristino ho dovuto tirarmi provvisoriamente su l&#8217; istanza in modalità mount e per farlo, nel mio caso, ho in ordine:<br />
* cambiato il sid sul <em>bash_profile</em> dell&#8217;utenza unix usata (e ovviamente reso attivo, con il comando <em>source</em> o con  <em>login</em> o con <em>su -</em> etc. etc.);<br />
* editato il file <em>init.ora</em> (solitamente <em>initSID.ora</em>) cambiandone il nome (appunto <em>initNUOVOSID.ora</em>) e tutti riferimenti al vecchio SID (dbname, path flashback/logs etc.);<br />
* restartartato il listener (nel mio caso ho lasciato intatto il file <em>listener.ora</em>, visto che il vecchio SID sarà  stato successivamente proprio quello che volevo riconfermare);<br />
* <em>SQL> startup mount exclusive</em> ;<br />
*  <em>nid target=sys/password DBNAME=nuovoSID SETNAME=Y </em>;<br />
In questa maniera lo scopo è stato raggiunto e per tirare su il &#8220;nuovo&#8221; db ho dovuto solo:<br />
* Ricambiare il sid sul enviroment dell&#8217; utente di sistema per oracle;<br />
* Spegnere il db.<br />
* Ricreare l&#8217; SPFILE con un:<br />
<em>SQL> create spfile from pfile=</em>puntando al path di quello nuovo (<em>initNUOVOSID.ora</em>)<br />
* <em>SQL> startup</em><br />
FINE.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Il secondo metodo come vi dicevo è piu complesso e lungo, consiste nel rifare la procedura a mano x la creazione del controlfile:<br />
Bisogna innanzitutto ricordarsi il PATH settato x files di trace del db:<br />
* <em>SQL> show parameter USER_DUMP_DEST ;</em><br />
Questo PATH ci servirà a prendere il trace generato dal comando:<br />
* <em>SQL> alter database backup controlfile to trace;</em><br />
Come vedete dal comando in questa maniera avremmo il ddl per la creazione del cf all&#8217;interno del file trace<br />
appena creato.<br />
* Spegniamo il db appena ripristinato:<br />
<em>SQL> shutdown immediate ;</em><br />
e dalla directory <em>DUMPDEST</em> preleviamo il trc-file corrispondente al controlfileToTrace;<br />
* Editiamolo cominciando a eliminare tutte le righe prima della fase 2 ( <em>Set #2. RESETLOGS case</em> )<br />
* Aggiungiamo un &#8220;REUSE&#8221; davanti il &#8220;SET&#8221; della riga: &#8220;create controlfile&#8230;.&#8221; modificando il SID vecchio col nuovo, otterremo: &#8220;<em>CREATE CONTROLFILE REUSE SET DATABASE &#8220;NUOVOSID&#8221;</em> &#8230;&#8230;..<br />
* Cancelliamo tutto quello che viene dopo &#8220;<em>CHARACTER SET</em>&#8230;&#8221;<br />
* Salviamo il nostro file come script sql (.sql)<br />
* Rinominiamo adesso il file <em>initVECCHIOSID.ora</em> in<em> initNUOVOSID.ora</em> (e modifichiamo all&#8217;interno i riferimenti al vecchio SID);<br />
* Settiamo l&#8217;enviroment x l&#8217; utenza unix e carichiamola.<br />
* <em>SQL> startup nomount ;</em><br />
* lanciamo il file precedentemente modificato per la creazione del nuovo controlfile ;<br />
* <em>SQL> alter database open resetlogs </em>(occhio alle dir nuove per i logs, il nome sarà il nuovo SID, ci sono già?)<br />
* <em>SQL> alter database rename global_name to <NUOVOSID></em><br />
* <em>SQL> alter database open;</em><br />
* Ricreiamo la TABLESPACE temporanea. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixsex.org/?feed=rss2&#038;p=169</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Gather stats for only lastAnalyzed apps Tables (appunti grezzi)</title>
		<link>http://www.unixsex.org/?p=164</link>
		<comments>http://www.unixsex.org/?p=164#comments</comments>
		<pubDate>Thu, 10 Mar 2011 11:58:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Gather stats for only lastAnalyzed apps Tables oracle 11g linux unix]]></category>

		<guid isPermaLink="false">http://www.patched.biz/?p=164</guid>
		<description><![CDATA[#!/bin/sh cd /home/oracle/script/ . /home/oracle/.env11g /home/oracle/app/product/11.2.0/bin/sqlplus -s /nolog]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.patched.biz/wp-content/uploads/2011/03/appunti_carta_120.jpg"><img src="http://www.patched.biz/wp-content/uploads/2011/03/appunti_carta_120.jpg" alt="" title="appunti_carta_120" width="120" height="120" class="alignleft size-full wp-image-203" /></a><br />
<em>#!/bin/sh<br />
cd /home/oracle/script/<br />
. /home/oracle/.env11g<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 userDBA/passwd;<br />
spool on<br />
spool statLast.sql<br />
select 'exec dbms_stats.gather_table_stats('''||OWNER|| ''',''' ||table_name|| ''',cascade => TRUE);&#8217; from dba_all_tables where OWNER not like &#8216;%SYS%&#8217; AND OWNER not like &#8216;SCOTT&#8217; and OWNER not like &#8216;XXXX&#8217; AND LAST_ANALYZED is not null AND last_analyzed > (sysdate-NUMdays) order by last_analyzed;<br />
spool off<br />
EOF<br />
#lavora lo spool sql in modo da togliere intestazione della query<br />
/bin/sed /OWNER/d statLast.sql > statLast2.sql<br />
/bin/sed /&#8212;&#8211;/d statLast2.sql > statLast3.sql<br />
#esegue lo script dinamico creato per le stats specifiche + uno spool per eventuali<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 userDBA/passwd;<br />
spool on<br />
spool ESITOSTATS.TXT<br />
@statLast3<br />
spool off<br />
EOF<br />
exit 0</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixsex.org/?feed=rss2&#038;p=164</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Juniper/Linux &#8211; in VPN con Network connect da linux</title>
		<link>http://www.unixsex.org/?p=141</link>
		<comments>http://www.unixsex.org/?p=141#comments</comments>
		<pubDate>Fri, 19 Nov 2010 08:51:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[juniper]]></category>
		<category><![CDATA[juniper linux]]></category>
		<category><![CDATA[Juniper Linux Network connect vpn unix]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[network connect]]></category>
		<category><![CDATA[network connect linux]]></category>
		<category><![CDATA[vpn linux]]></category>

		<guid isPermaLink="false">http://www.patched.biz/?p=141</guid>
		<description><![CDATA[PREPARAZIONE DEL CLIENT (1 sola volta) - effettuare una prima connessione completa al sito del network connect di juniper https://extranet.dominio.net, in questa maniera verrà scaricato il client nella propria $home creando cosi /home/utente/.juniper_networks/network_connect - compilare dentro $HOME/.juniper_networks/network_connect/ l&#8217;eseguibile ncui così: &#8230; <a href="http://www.unixsex.org/?p=141">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.patched.biz/wp-content/uploads/2010/11/juniper_wx.jpg"><img src="http://www.patched.biz/wp-content/uploads/2010/11/juniper_wx.jpg" alt="" title="juniper_wx" width="180" height="218" class="alignleft size-full wp-image-209" /></a><br />
<strong>PREPARAZIONE DEL CLIENT (1 sola volta)</strong><br />
- effettuare una prima connessione completa al sito del network connect di juniper https://extranet.dominio.net, in questa maniera verrà scaricato il client nella propria  $home creando cosi /home/utente/.juniper_networks/network_connect                                                                                                       </p>
<p>- compilare dentro $HOME/.juniper_networks/network_connect/ l&#8217;eseguibile ncui così:<br />
  <em>gcc -m32 -Wl,-rpath,`pwd` -o ncui libncui.so </em>                                                         </p>
<p>- prendiamo adesso il certificato ssl dal host con:<br />
<em>  echo | openssl s_client -connect extranet.dominio.net:443 2>&#038;1 |sed -ne &#8216;/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p&#8217; |openssl x509 -outform der > ssl.crt</em>                                                         </p>
<p><strong>CONNESSIONE</strong><br />
- Da questo momento per ogni connessione alla VPN faremo il login sul frontend web del network connect https://extranet.dominio.net e preleveremo il DSID cookie tramite il browser con il comando:                                                           </p>
<p><em> javascript:alert(document.cookie)</em>  </p>
<p>in questa maniera successivamente potremmo far partire il client con:<br />
<em>(cd /root/.juniper_networks/network_connect; )<br />
./ncui -h extranet.sace.it -c &#8220;DSID=733f7719f6f92672b63bea541f24c73b&#8221; -f ssl.crt<br />
                                                                                  </em>     </p>
]]></content:encoded>
			<wfw:commentRss>http://www.unixsex.org/?feed=rss2&#038;p=141</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>MailServer IMAP/POP3/SMTP(SSL) + ASPAM/postGREY</title>
		<link>http://www.unixsex.org/?p=113</link>
		<comments>http://www.unixsex.org/?p=113#comments</comments>
		<pubDate>Thu, 24 Jun 2010 09:40:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[postfix linux MailServer IMAP POP3 SMTP SSL SPAMASSASSIN postGREY]]></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 &#8230; <a href="http://www.unixsex.org/?p=113">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.patched.biz/wp-content/uploads/2010/06/postfix_logo.png"><img src="http://www.patched.biz/wp-content/uploads/2010/06/postfix_logo.png" alt="" title="postfix_logo" width="130" height="91" class="alignleft size-full wp-image-211" /></a><br />
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.unixsex.org/?feed=rss2&#038;p=113</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AutoTrace UserTrigger Oracle (appunti grezzi)</title>
		<link>http://www.unixsex.org/?p=105</link>
		<comments>http://www.unixsex.org/?p=105#comments</comments>
		<pubDate>Thu, 27 May 2010 15:25:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[oracle]]></category>
		<category><![CDATA[trace auto oracle 11g trigger users audit]]></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 &#8230; <a href="http://www.unixsex.org/?p=105">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.patched.biz/wp-content/uploads/2011/03/appunti_carta_120.jpg"><img src="http://www.patched.biz/wp-content/uploads/2011/03/appunti_carta_120.jpg" alt="" title="appunti_carta_120" width="120" height="120" class="alignleft size-full  wp-image-268" /></a></p>
<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.unixsex.org/?feed=rss2&#038;p=105</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

