<?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>Nextrem NetASQ &#187; Area Tecnica</title>
	<atom:link href="http://netasq.nextrem.it/category/area-tecnica-netasq-utm-firewall-e-netasq-mfiltro/feed/" rel="self" type="application/rss+xml" />
	<link>http://netasq.nextrem.it</link>
	<description></description>
	<lastBuildDate>Wed, 07 Oct 2009 13:03:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>NETASQ Inside &#8211; sfctl (Stateful Control) &#8211; filter (Filter)</title>
		<link>http://netasq.nextrem.it/2008/10/18/netasq-inside-sfctl-stateful-control-filter-filter/</link>
		<comments>http://netasq.nextrem.it/2008/10/18/netasq-inside-sfctl-stateful-control-filter-filter/#comments</comments>
		<pubDate>Sat, 18 Oct 2008 11:18:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Area Tecnica - NETASQ UTM Firewall]]></category>

		<guid isPermaLink="false">http://blogs.nextrem.it/wp/?p=97</guid>
		<description><![CDATA[Tramite la definizione filter si fa riferimento esplicito alle regole di filtering presenti alla voce “Filtering” della sezione “Policy” del Netasq Unified Manager (NUM). 
Tramite sfctl possiamo visualizzare i le regole di filtraggio attive:



sfctl -s filter



Impostiamo nel NUM nella sezione Policy voce Filtering lo slot di filtraggio creato in modo wizard da NETASQ chiamato Low. [...]]]></description>
			<content:encoded><![CDATA[<p>Tramite la definizione filter si fa riferimento esplicito alle regole di filtering presenti alla voce “Filtering” della sezione “Policy” del Netasq Unified Manager (NUM). <span id="more-530"></span><br />
Tramite sfctl possiamo visualizzare i le regole di filtraggio attive:</p>
<table border="0" width="100%">
<tbody>
<tr>
<td align="center"><strong>sfctl -s filter</strong></td>
</tr>
</tbody>
</table>
<p>Impostiamo nel NUM nella sezione Policy voce Filtering lo slot di filtraggio creato in modo wizard da NETASQ chiamato Low. L&#8217;output ottenuto risulterà essere:</p>
<pre>Filter
0  :0  : skip 5 proto tcp from any to any port 113
0  :0  : reset on Dialup3 proto tcp from any to dynamic 0.0.0.0 port 113
0  :0  : reset on Dialup2 proto tcp from any to dynamic 0.0.0.0 port 113
0  :0  : reset on Dialup1 proto tcp from any to dynamic 0.0.0.0 port 113
0  :0  : reset on Dialup0 proto tcp from any to dynamic 0.0.0.0 port 113
0  :0  : reset on Out proto tcp from any to 151.8.xx.xxx port 113
0  :0  : pass on Out proto tcp from any to 151.8.xx.xxx port 1723
0  :0  : pass on Out proto gre from any to 151.8.xx.xxx
0  :0  : skip 3 on In proto tcp from any to any
0  :0  : pass attach stream on In proto tcp from any to dynamic 0.0.0.0 port 1300
0  :0  : pass attach stream on In proto tcp from any to dynamic 0.0.0.0 port 22
0  :0  : pass on In proto tcp from any to 127.0.0.1 port 8080
0  :0  : pass on loopback from any to any
0  :0  : pass asq noprobe on loopback5 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on loopback4 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on loopback3 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on loopback2 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on loopback dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on PPTP15 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on PPTP14 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on PPTP13 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on PPTP12 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on PPTP11 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on PPTP10 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on PPTP9 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on PPTP8 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on PPTP7 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on PPTP6 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on PPTP5 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on PPTP4 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on PPTP3 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on PPTP2 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on PPTP1 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on PPTP0 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on Dialup3 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on Dialup2 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on Dialup1 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on Dialup0 dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on Dmz dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on Out dynamic from 0.0.0.0 to any
0  :0  : pass asq noprobe on In dynamic from 0.0.0.0 to any
2  :1  : skip 19 from 10.0.0.0:10.0.0.255 to any
2  :1  : pass attach dns proto udp from 10.0.0.0:10.0.0.255 to any port 53
2  :1  : pass attach edonkey proto tcp from 10.0.0.0:10.0.0.255 to any port 4662
2  :1  : pass attach ftp proto tcp from 10.0.0.0:10.0.0.255 to any port 21
2  :1  : pass attach h323 proto tcp from 10.0.0.0:10.0.0.255 to any port 1720
2  :1  : pass attach http proto tcp from 10.0.0.0:10.0.0.255 to any port 80
2  :1  : pass attach http proto tcp from 10.0.0.0:10.0.0.255 to any port 8080
2  :1  : pass attach ssl proto tcp from 10.0.0.0:10.0.0.255 to any port 443
2  :1  : pass attach imap4 proto tcp from 10.0.0.0:10.0.0.255 to any port 143
2  :1  : pass attach ssl proto tcp from 10.0.0.0:10.0.0.255 to any port 993
2  :1  : pass attach ssl proto tcp from 10.0.0.0:10.0.0.255 to any port 5223
2  :1  : pass attach ssl proto tcp from 10.0.0.0:10.0.0.255 to any port 636
2  :1  : pass attach nntp proto tcp from 10.0.0.0:10.0.0.255 to any port 119
2  :1  : pass attach pop3 proto tcp from 10.0.0.0:10.0.0.255 to any port 110
2  :1  : pass attach ssl proto tcp from 10.0.0.0:10.0.0.255 to any port 995
2  :1  : pass attach rip proto udp from 10.0.0.0:10.0.0.255 to any port 520
2  :1  : pass attach smtp proto tcp from 10.0.0.0:10.0.0.255 to any port 25
2  :1  : pass attach smtp proto tcp from 10.0.0.0:10.0.0.255 to any port 8081
2  :1  : pass attach ssh proto tcp from 10.0.0.0:10.0.0.255 to any port 22
2  :1  : pass attach telnet proto tcp from 10.0.0.0:10.0.0.255 to any port 23
2  :2  : pass from 10.0.0.0:10.0.0.255 to any</pre>
<p>Analizziamo la sintassi delle regole impostate all&#8217;interno di NETASQ. Genericamente vengono strutturate in questo modo:</p>
<table border="1" width="100%">
<tbody>
<tr>
<td align="center"><strong>ORDER</strong></td>
<td align="center"><strong>SUB-ORDER</strong></td>
<td align="center"><strong>AZIONE</strong></td>
<td align="center"><strong>[PARAMETRI AZIONE]</strong></td>
<td align="center"><strong>FROM</strong></td>
<td align="center"><strong>TO</strong></td>
</tr>
</tbody>
</table>
<p>Riportiamo ora i dati precedenti in formato strutturato seguendo la struttura appena definita e numerando le righe in modo tale da semplificare i commenti:</p>
<table border="1" width="100%">
<tbody>
<tr>
<td align="center"><strong>LINE</strong></td>
<td align="center"><strong>ORDER</strong></td>
<td align="center"><strong>SUB-ORDER</strong></td>
<td align="center"><strong>AZIONE</strong></td>
<td align="center"><strong>[PARAMETRI AZIONE]</strong></td>
<td align="center"><strong>FROM</strong></td>
<td align="center"><strong>TO</strong></td>
</tr>
<tr>
<td align="center">1</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">skip</td>
<td align="center">5 proto tcp</td>
<td align="center">any</td>
<td align="center">any port 113</td>
</tr>
<tr>
<td align="center">2</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">reset</td>
<td align="center">on Dialup3 proto tcp</td>
<td align="center">any</td>
<td align="center">dynamic 0.0.0.0 port 113</td>
</tr>
<tr>
<td align="center">3</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">reset</td>
<td align="center">on Dialup2 proto tcp</td>
<td align="center">any</td>
<td align="center">dynamic 0.0.0.0 port 113</td>
</tr>
<tr>
<td align="center">4</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">reset</td>
<td align="center">on Dialup1 proto tcp</td>
<td align="center">any</td>
<td align="center">dynamic 0.0.0.0 port 113</td>
</tr>
<tr>
<td align="center">5</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">reset</td>
<td align="center">on Dialup0 proto tcp</td>
<td align="center">any</td>
<td align="center">dynamic 0.0.0.0 port 113</td>
</tr>
<tr>
<td align="center">6</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">reset</td>
<td align="center">on Out proto tcp</td>
<td align="center">any</td>
<td align="center">151.8.xx.xxx port 113</td>
</tr>
<tr>
<td align="center">7</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">on Out proto tcp</td>
<td align="center">any</td>
<td align="center">151.8.xx.xxx port 1723</td>
</tr>
<tr>
<td align="center">8</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">on Out proto gre</td>
<td align="center">any</td>
<td align="center">151.8.xx.xxx</td>
</tr>
<tr>
<td align="center">9</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">skip</td>
<td align="center">3 on In proto tcp</td>
<td align="center">any</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">10</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">attach stream on In proto tcp</td>
<td align="center">any</td>
<td align="center">dynamic 0.0.0.0 port 1300</td>
</tr>
<tr>
<td align="center">11</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">attach stream on In proto tcp</td>
<td align="center">any</td>
<td align="center">dynamic 0.0.0.0 port 22</td>
</tr>
<tr>
<td align="center">12</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">on In proto tcp</td>
<td align="center">any</td>
<td align="center">127.0.0.1 port 8080</td>
</tr>
<tr>
<td align="center">13</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">on loopback</td>
<td align="center">any</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">14</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on loopback5 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">15</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on loopback4 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">16</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on loopback3 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">17</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on loopback2 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">18</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on loopback dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">19</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on PPTP15 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">20</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on PPTP14 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">21</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on PPTP13 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">22</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on PPTP12 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">23</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on PPTP11 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">24</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on PPTP10 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">25</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on PPTP9 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">26</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on PPTP8 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">27</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on PPTP7 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">28</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on PPTP6 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">29</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on PPTP5 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">30</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on PPTP4 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">31</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on PPTP3 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">32</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on PPTP2 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">33</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on PPTP1 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">34</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on PPTP0 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">35</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on Dialup3 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">36</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on Dialup2 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">37</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on Dialup1 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">38</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on Dialup0 dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">39</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on Dmz dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">40</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on Out dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">41</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">pass</td>
<td align="center">asq noprobe on In dynamic</td>
<td align="center">0.0.0.0</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">42</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">skip</td>
<td align="center">19</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any</td>
</tr>
<tr>
<td align="center">43</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach dns proto udp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 53</td>
</tr>
<tr>
<td align="center">44</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach edonkey proto tcp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 4662</td>
</tr>
<tr>
<td align="center">45</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach ftp proto tcp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 21</td>
</tr>
<tr>
<td align="center">46</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach h323 proto tcp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 1720</td>
</tr>
<tr>
<td align="center">47</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach http proto tcp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 80</td>
</tr>
<tr>
<td align="center">48</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach http proto tcp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 8080</td>
</tr>
<tr>
<td align="center">49</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach ssl proto tcp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 443</td>
</tr>
<tr>
<td align="center">50</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach imap4 proto tcp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 143</td>
</tr>
<tr>
<td align="center">51</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach ssl proto tcp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 993</td>
</tr>
<tr>
<td align="center">52</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach ssl proto tcp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 5223</td>
</tr>
<tr>
<td align="center">53</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach ssl proto tcp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 636</td>
</tr>
<tr>
<td align="center">54</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach nntp proto tcp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 119</td>
</tr>
<tr>
<td align="center">55</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach pop3 proto tcp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 110</td>
</tr>
<tr>
<td align="center">56</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach ssl proto tcp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 995</td>
</tr>
<tr>
<td align="center">57</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach rip proto udp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 520</td>
</tr>
<tr>
<td align="center">58</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach smtp proto tcp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 25</td>
</tr>
<tr>
<td align="center">59</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach smtp proto tcp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 8081</td>
</tr>
<tr>
<td align="center">60</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach ssh proto tcp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 22</td>
</tr>
<tr>
<td align="center">61</td>
<td align="center">2</td>
<td align="center">1</td>
<td align="center">pass</td>
<td align="center">attach telnet proto tcp</td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any port 23</td>
</tr>
<tr>
<td align="center">62</td>
<td align="center">2</td>
<td align="center">2</td>
<td align="center">pass</td>
<td align="center"></td>
<td align="center">10.0.0.0:10.0.0.255</td>
<td align="center">any</td>
</tr>
</tbody>
</table>
<p>Le possibili azioni di una regola sono: SKIP, PASS, RESET, BLOCK, LOG</p>
<p>SKIP<br />
Nel caso in cui la regola venga matchata salta il numero di regole successive specificato nell&#8217;argomento della regola ad esempio la regola numero 1 dice:<br />
skip 5 proto tcp from any to any port 113<br />
Nel caso in cui un pacchetto TCP proveniente da chiunque e destinato a chiunque sulla porta 113 salta le 5 regole successive e quindi l&#8217;analisi delle regole procede alla riga 7.</p>
<p>PASS<br />
Nel caso in cui la regola venga matchata il pacchetto passa senza ulteriori analisi. Questa è una differenza sostanziale rispetto alla tecnologia di filtering BSD dove in realtà il pass ed il block applicano un flag al pacchetto, ma l&#8217;analisi delle regole procede fino al termine. Nel caso di NETASQ la prima regola valida viene eseguita indipendentemente da quello che segue.</p>
<p>RESET/BLOCK<br />
Nel caso in cui la regola venga matchata il pacchetto viene bloccato senza ulteriori analisi.<br />
La differenza tra le due è la reazione ovvero nel caso di BLOCK il pacchetto viene sostanzialmente scartato, mentre nel caso di reset viene inviato un pacchetto di tipo RST in risposta. In modo molto banale nel caso in cui vi sia un BLOCK il chiamante otterrà dopo un certo lasso di tempo un “connection timeout” mentre nel caso di reset il chiamante otterrà istantaneamente un “connect reset by peer”.</p>
<p>LOG<br />
Nel caso in cui la regola venga matchata il pacchetto viene tracciato nei log. Non verrà eseguita nessuna operazione ne di pass ne di block, ma semplicemente tracciato. All&#8217;interno di NUM viene definita come azione “None” ovvero nessuna azione. In realtà nessuna azione significa LOG.</p>
<p>Analizziamo in dettaglio tutta la tabella di regole per capire con precisione come ragiona il nostro Firewall NETASQ. I caso sono infiniti lascio a voi il compito di creare situazioni particolari in termine di regole e confrontare il risultato ottenuto a livello di sistema. Darò per scontato che la regola viene eseguita solo se si verifica un match.</p>
<p><strong>1 skip 5 proto tcp from any to any port 113</strong><br />
Salta le prossime 5 regole se la connessione è TCP ed è destinata alla porta 113. La porta 113 è la porta auth, nel caso in cui vogliate vedere la corrispondenza porta standard / service all&#8217;interno dell&#8217;apparato NETASQ è presente un file specifico e si trova nella directory etc chiamato services. Nota interessante, quando andate tramite la funzione Object a definire nuove porte il file /etc/services viene aggiornato di conseguenza. Ad esempio io ho creato una nuova porta non standard per il servizio VNC e la ritrovo in /etc/service mappata come:</p>
<pre>vnc_5501                 5501/tcp</pre>
<p><strong>2,3,4,5,6 reset on XXX proto tcp from any to [HOST] port 113</strong><br />
Le 5 regole successive sono tutti identiche l&#8217;unica cosa che cambia è l&#8217;interfaccia su cui resettare il pacchetto destinato alla porta 113. Questa combinazione di regole dalla 1 alla 6 sono strutturate in modo tale da fornire un default ovvero inizialmente la comunicazione verso la porta 113 viene intercettata e non definita ovvero si lascia l&#8217;analisi alle regole successive al blocco. Di default NETASQ blocca quello che non conosce quindi sommado le circostanze le comunicazioni alla porta 113 vengono bloccate. Togliendo la regola 1 è possibile intervenire singolarmente per interfaccia ovvero posso cambiare la regola sulla OUT, ma non sulle interfacce Dialup. Questo stratagemma viene utilizzato spesso come vedremo anche in seguito e forse risulterà essere anche più chiaro.</p>
<p><strong>7 pass on Out proto tcp from any to 151.8.xx.xxx port 1723</strong><br />
Consente le connessioni tcp destinate all&#8217;IP presente sull&#8217;interfaccia OUT sulla porta 1723. Come potrete vedere da services la porta è quella del servizio PPTP ovvero Point to Point Tunnelling Protocol.</p>
<p><strong>8 pass on Out proto gre from any to 151.8.xx.xxx</strong><br />
Questa regola è differente dalla precedenti perchè non si parla più di connessioni tramite il protocollo TCP, ma tramite il protocollo GRE ovvero Generic Routing Encapsulation. Questo protocollo viene utilizzato nelle connessioni PPTP e non è caratterizzato dall&#8217;utilizzo di porte quindi nella regola viene semplicemente specificato che il sistema deve accettare connessioni destinate all&#8217;IP presente sull&#8217;interfaccia OUT e di tipo GRE.</p>
<p><strong>9 skip 3 on In proto tcp from any to any</strong><br />
Il funzionamento dell&#8217;azione skip è già stato spiegato</p>
<p><strong>10 pass attach stream on In proto tcp from any to dynamic 0.0.0.0 port 1300</strong><br />
E&#8217; il primo caso in cui troviamo l&#8217;opzione attach tipica di NETASQ. Tramite attach si dice al sitema ASQ di aggangiare alla comunicazione la plugin specifica in questo caso stream. La porta coinvolta è la 1300 TCP ovvero il servizio che consente la comunicazione tra l&#8217;apparato NETASQ ed il NUM. Le plugin meritano un discorso a se stante che affronterò in articoli specifici.</p>
<p><strong>11 pass attach stream on In proto tcp from any to dynamic 0.0.0.0 port 22</strong><br />
Identica alla regola 10, ma la porta di riferimento è la 22 ovvero SSH, l&#8217;accesso remote console per le appliance NETASQ.</p>
<p><strong>12 pass on In proto tcp from any to 127.0.0.1 port 8080</strong><br />
Regola molto interessante, per la prima volta vediamo qualche riferimento al sistema di proxy integrato in NETASQ. Nota importantissima che salverà ore e ore di debug ai meno attenti, la parola proxy in realtà è leggermente fuorviante ovvero gli apparati NETASQ non sono dotati di quello che genericamente definiamo proxy ovvero un software in ascolto sulla porta 8080 o 3128 che si occupa di dialogare con l&#8217;esterno al posto del client. In realtà NETASQ usa una tecnologia di transparent proxy non pura. Per chi avesse già lavorato in transparent proxy sa che le richieste di navigazione vengono intercettate e instradate a forza verso un nostro proxy che agisce come sopra ovvero interponendosi tra il client ed il server. Nel caso NETASQ non è corretta completamente la definizione transparent proxy inquanto non vi è interposizione, ma semplicemente redirezione e controllo. Al nostro interno in modo decisamente esotico preferiamo definirlo un transparent redirected content analysis. Tornando alla regola vengono consentite tutte le connessioni destinate al localhost porta 8080. Ovvero il proxy di NETASQ (tproxyd ricordatelo) è in ascolto sulla porta 8080.</p>
<p><strong>13 pass on loopback from any to any</strong><br />
E&#8217; consentita la comunicazione sulla interfaccia loopback da chiunque a chiunque. Le interfacce loopback definite in NETASQ sono lo0, lo1, lo2, lo3, lo4, lo5 di cui l&#8217;unica configurata di default è la lo0 con indirizzo IP 127.0.0.1.</p>
<p><strong>14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41 pass asq noprobe on [INTERFACE] dynamic from 0.0.0.0 to any</strong><br />
Questo set di regole decisamente particolari specificano che su tutte le interfacce presenti all&#8217;interno del sistema ad esclusione delle VLAN venga disattivato il motore di analisi ASQ per i pacchetti generati da 0.0.0.0 destinati a chiunque. Per 0.0.0.0 si intende l&#8217;apparato stesso. Sostanzialmente si considera l&#8217;apparato stesso trusted ovvero si suppone che non generi mai bogus packet.</p>
<p><strong>42 skip 19 from 10.0.0.0:10.0.0.255 to any</strong><br />
Il funzionamento dell&#8217;azione skip è già stato spiegato</p>
<p><strong>43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61 pass attach [PLUGIN] proto [PROTO] from [SOURCE] to any port [PORT]<br />
</strong><br />
Queste regole vengono utilizzare per agganciare le specifiche plugin al motore ASQ. In particolare le regole vengono applicate a tutta la rete interna destinata a qualsiasi destinazione. Anche in questo caso abbiamo un&#8217;esempio di gestione dei default. Per come è strutturato il flusso tutte le regole vengono bypassate. Eliminando lo skip è possibile determinare singolarmente le plugin da attivare.</p>
<p><strong>62 pass from 10.0.0.0:10.0.0.255 to any</strong><br />
Come ultima regola si abilita il traffico della rete interna verso qualsiasi destinazione.</p>
]]></content:encoded>
			<wfw:commentRss>http://netasq.nextrem.it/2008/10/18/netasq-inside-sfctl-stateful-control-filter-filter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>NETASQ Inside &#8211; Dump ed analisi traffico</title>
		<link>http://netasq.nextrem.it/2008/10/04/netasq-inside-dump-ed-analisi-traffico/</link>
		<comments>http://netasq.nextrem.it/2008/10/04/netasq-inside-dump-ed-analisi-traffico/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 09:19:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Area Tecnica - NETASQ UTM Firewall]]></category>

		<guid isPermaLink="false">http://blogs.nextrem.it/wp/?p=58</guid>
		<description><![CDATA[NETASQ include tramite accesso command line SSH il tool unix tcpdump per il dump dei pacchetti. 
Per maggiori informazioni sull&#8217;utilizzo generico tcpdump vi consiglio di consultare il sito ufficiale ovvero: www.tcpdump.org.
Prima di tutto è indispensabile capire qualche interfaccia di rete vogliamo catturare. Il comando:



ifconfig



Consente di visualizzare lo stato e la configurazione delle interfacce di rete [...]]]></description>
			<content:encoded><![CDATA[<p>NETASQ include tramite accesso command line SSH il tool unix tcpdump per il dump dei pacchetti. <span id="more-58"></span><br />
Per maggiori informazioni sull&#8217;utilizzo generico tcpdump vi consiglio di consultare il sito ufficiale ovvero: <a href="http://www.tcpdump.org/">www.tcpdump.org</a>.</p>
<p>Prima di tutto è indispensabile capire qualche interfaccia di rete vogliamo catturare. Il comando:</p>
<table class="post_table" border="0">
<tbody>
<tr>
<td align="center"><strong>ifconfig</strong></td>
</tr>
</tbody>
</table>
<p>Consente di visualizzare lo stato e la configurazione delle interfacce di rete presenti all&#8217;interno del NETASQ. Nel caso di un&#8217;apparato F50 dovreste visualizzare in modo riassuntivo qualcosa come:</p>
<pre>fxp0: flags=18843 mtu 1500
        options=40
        inet 151.8.xx.xxx netmask 0xfffffff0 broadcast 151.8.xx.xxx
        ether 00:0d:b4:01:d4:aa
        media: Ethernet autoselect (100baseTX )
        status: active
fxp1: flags=18843 mtu 1500
        options=40
        inet 10.0.0.xxx netmask 0xffffff00 broadcast 10.0.0.255
        inet 192.168.113.x netmask 0xffffff00 broadcast 192.168.113.255
        ether 00:0d:b4:01:d4:ab
        media: Ethernet autoselect (100baseTX )
        status: active
fxp2: flags=8802 mtu 1500
        options=40
        ether 00:0d:b4:01:d4:ac
        media: Ethernet autoselect (none)
        status: no carrier
...</pre>
<p>Tabella di riferimento per il nome delle interfacce di rete:</p>
<table class="post_table" border="0">
<tbody>
<tr>
<td align="center"><strong>NETASQ NUM</strong></td>
<td align="center"><strong>NETASQ SYSTEM</strong></td>
</tr>
<tr>
<td align="center">OUT</td>
<td align="center">fxp0</td>
</tr>
<tr>
<td align="center">IN</td>
<td align="center">fxp1</td>
</tr>
<tr>
<td align="center">DMZ</td>
<td align="center">fxp2</td>
</tr>
</tbody>
</table>
<p>Ricordate e ve lo ricorderò spesso che in fase di debug pacchetti non è sufficiente intercettare il traffico su una singola interfaccia, ma dobbiamo simultaneamente catturare il traffico su tutte le interfacce coinvolte in modo tale da poter visualizzare il comportamento del motore ASQ sul pacchetto in transito, evidenziarne alterazioni, ecc&#8230; ecc&#8230;<br />
Ora vediamo come catturare e visualizzare traffico direttamente in console SSH per una interfaccia specifica. Utilizziamo il comando:</p>
<table class="post_table" border="0">
<tbody>
<tr>
<td align="center"><strong>tcpdump -i fxp0</strong></td>
</tr>
</tbody>
</table>
<p>Vedrete qualcosa come:</p>
<pre>21:04:54.617802 84.55.101.46.27589 &gt; Firewall_Out.46237: udp 42
21:04:58.453413 209.30.162.15.53425 &gt; Firewall_Out.46237: udp 63 [tos 0x50]
21:04:58.499389 86.66.186.130.49102 &gt; Firewall_Out.46237: udp 63
21:05:00.294453 151.59.184.69.55006 &gt; Firewall_Out.46237: S 939509183:939509183(0) win 65535  (DF)
21:05:00.479660 Firewall_Out.14191 &gt; 198.41.0.4.domain_udp:  0+ A? webupdate.netasq.com. (38)
21:05:00.596345 198.41.0.4.domain_udp &gt; Firewall_Out.14191:  0- 0/13/14 (510) (DF)
21:05:00.934854 arp who-has ns.nextrem.it tell 151.8.98.230
21:05:01.504882 10.0.0.133.37337 &gt; 239.255.255.250.ssdp: udp 296 (DF)
21:05:01.602547 81.57.18.159.61283 &gt; Firewall_Out.46237: udp 65</pre>
<p>Se tutto questo vi dovesse risultare totalmente incomprensibile vi consiglio di utilizzare il link all&#8217;inizio per leggere qualche informazione ulteriore riguardo al tcpdump ed ai protocolli IP. Tuttavia vi potrebbe essere richiesto di eseguire questa operazione direttamente dal supporto tecnico NETASQ o da me <img src='http://netasq.nextrem.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Vi consiglio quindi di procedere comunque nella lettura.</p>
<p>A volte l&#8217;analisi visiva è sufficiente per determinare l&#8217;origine del problema, molto spesso invece è necessario salvare il traffico ed analizzarlo in modalità offline in tutta calma. Fortunatamente tcpdump ci mette a disposizione la funzionalità necessaria per salvare il traffico catturato su file in formato pcap. Per chi fosse interessato ad approfondire l&#8217;argomento pcap consiglio caldamente il sito: <a href="http://www.winpcap.org/ntar/draft/PCAP-DumpFileFormat.html">www.winpcap.org/ntar/draft/PCAP-DumpFileFormat.html</a><br />
Il comando per catturare il traffico e salvarlo in formato PCAP è il seguente:</p>
<table class="post_table" border="0">
<tbody>
<tr>
<td align="center"><strong>tcpdump -i fxp0 -s0 -w /tmp/dump.pcap</strong></td>
</tr>
</tbody>
</table>
<p>Nel dettaglio tramite l&#8217;opzione -i si specifica l&#8217;interfaccia da cui catturare il traffico, -s0 specifica lo snaplen ovvero la lunghezza massima del pacchetto da catturare in questo caso viene specificato 0 ovvero non vogliamo porre nessun limite e catturare l&#8217;intero pacchetto. Tramite -w specifichiamo su che file vogliamo salvare i pacchetti catturati. Nota importante: nei modelli NETASQ fino a F60 non è presente un&#8217;hard disk interno conseguentemente lo spazio disponibile è veramente poco indicativamente 15MB sulla flash e 8MB sul ramdisk. Quindi portate molta attenzione alla dimensione del file pcap su reti trafficate il file raggiunge la dimensione di 1MB in pochi secondi, se si dovesse riempire il disco beh lascio a voi immaginare le conseguenze&#8230; <img src='http://netasq.nextrem.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Tornando a noi per interrompere il processo di cattura pacchetti basta premere CTRL+C. Ora per copiare il file generato sulla vostra macchina è indispensabile utilizzare il protocollo SCP. Per gli utenti MAC e Linux il comando scp è disponibile nel sistema operativo e per effettuare il download del file basta eseguire dalla workstation il comando:</p>
<table class="post_table" border="0">
<tbody>
<tr>
<td align="center"><strong>scp admin@10.0.0.x:/tmp/dump.pcap .</strong></td>
</tr>
</tbody>
</table>
<p>Dove 10.0.0.x è l&#8217;indirizzo IP del vostro apparato NETASQ. Per gli utenti Windows è disponibile sia lo stesso comando in versione command line che un pratico software ad interfaccia grafica. Il primo è reperibile all&#8217;indirizzo: <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html</a> e si chiama pscp.exe, mentre il secondo lo trovate all&#8217;indirizzo: <a href="http://winscp.net/">http://winscp.net/</a> ed è chiamato WinSCP.<br />
Il file appena scaricato risulta essere in formato binario e conterra (espresso in esadecimale) qualcosa come:</p>
<pre>0156600      2fe8    00e0    b40d    d401    08aa    4500    0000    5134
0156620      409b    4000    7d06    976e    6208    4ae2    277d    0753
0156640      005b    de50    5162    d7ff    f35e    80cb    e210    2cf8
0156660      00a3    0100    0801    250a    7170    c1a3    9f3d    32dd
0156700      e68d    aa48    0bff    4200    0000    4200    0000    0000
0156720      7b10    2fe8    00e0    b40d    d401    08aa    4500    0000</pre>
<p>Ovviamente non è possibile utilizzare il semplice file, è indispensabile utilizzare un software in grado di convertire, parsare ed analizzare il file PCAP. Esiste un programma gratuito ed open source chiamato Wireshark disponibile per MAC, Linux e Windows in grado di effettuare questa analisi. Lo potete scaricare all&#8217;indirizzo: <a href="http://www.wireshark.org/">http://www.wireshark.org/</a><br />
Una volta installato e laciato apparirà la schermata iniziale dell&#8217;applicazione:</p>
<div id="attachment_79" class="wp-caption aligncenter" style="width: 510px"><a href="http://blogs.nextrem.it/wp/wp-content/uploads/2008/10/immagine-1.png" rel="shadowbox[post-58];player=img;"><img class="size-full wp-image-79" src="http://blogs.nextrem.it/wp/wp-content/uploads/2008/10/immagine-1.png" alt="Wireshark" width="500" height="335" /></a><p class="wp-caption-text">Wireshark</p></div>
<p>Ora tramite la funzione File-&gt;Open potete caricare il file dump.pcap direttamente all&#8217;interno di Wireshark e vedrete qualcosa come:</p>
<div id="attachment_83" class="wp-caption aligncenter" style="width: 510px"><a href="http://blogs.nextrem.it/wp/wp-content/uploads/2008/10/immagine-2.png" rel="shadowbox[post-58];player=img;"><img class="size-full wp-image-83" src="http://blogs.nextrem.it/wp/wp-content/uploads/2008/10/immagine-2.png" alt="Wireshark complessivo traffico" width="500" height="334" /></a><p class="wp-caption-text">Wireshark complessivo traffico</p></div>
<p>Selezionando un pacchetto è possibile vedere nel pannello inferiore il dettaglio del pacchetto stesso a titolo esemplificativo vi riporto un pacchetto:</p>
<div id="attachment_88" class="wp-caption aligncenter" style="width: 510px"><a href="http://blogs.nextrem.it/wp/wp-content/uploads/2008/10/immagine-3.png" rel="shadowbox[post-58];player=img;"><img class="size-full wp-image-88" src="http://blogs.nextrem.it/wp/wp-content/uploads/2008/10/immagine-3.png" alt="Wireshark dettaglio pacchetto" width="500" height="347" /></a><p class="wp-caption-text">Wireshark dettaglio pacchetto</p></div>
<p>Ora avete a disposizione tutti gli strumenti per poter effettuare un&#8217;analisi approfondita del pacchetto o per potervi interfaccia con un tecnico di supporto NETASQ. Manca solo da precisare come poter catturare simultaneamente due interfacce di rete. Per fare ciò è sufficiente concatenare due comandi tcpdump. In realtà di sfrutta l&#8217;operatore &amp; per mandare in esecuzione background il primo comando e consentire l&#8217;esecuzione dei successivi ad esempio:</p>
<table class="post_table" border="0">
<tbody>
<tr>
<td align="center"><strong>tcpdump -i fxp0 -s0 -w /tmp/dumpfxp0.pcap &amp; tcpdump -i fxp1 -s0 -w /tmp/dumpfxp1.pcap</strong></td>
</tr>
</tbody>
</table>
<p>In questo caso per interrompere il processo di intercettazione pacchetti non basterà premere CTRL+C perchè veerà interrotto solo il secondo comando, mentre il primo continuerà ad essere in esecuzione in background. Per poter interrompere anche il primo basterà eseguire il comando:</p>
<table class="post_table" border="0">
<tbody>
<tr>
<td align="center"><strong>killall tcpdump</strong></td>
</tr>
</tbody>
</table>
<p>Una piccola nota in calce&#8230; sarebbe utile soprattutto per i modelli senza hard disk avere la possibilità di montare filesystem remoti NFS purtroppo per me e per voi pare che questo non sia possibile speriamo nelle prossime release di firmware&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://netasq.nextrem.it/2008/10/04/netasq-inside-dump-ed-analisi-traffico/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NETASQ Inside &#8211; sfctl (Stateful Control) &#8211; addrlist (Address List)</title>
		<link>http://netasq.nextrem.it/2008/10/03/netasq-inside-sfctl-stateful-control-addrlist-address-list/</link>
		<comments>http://netasq.nextrem.it/2008/10/03/netasq-inside-sfctl-stateful-control-addrlist-address-list/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 21:32:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Area Tecnica - NETASQ UTM Firewall]]></category>

		<guid isPermaLink="false">http://blogs.nextrem.it/wp/?p=39</guid>
		<description><![CDATA[Tramite la definizione addrlist si fa riferimento esplicito alle liste di indirizzi ip presenti alla voce “List” della sezione “Intrusion Prevention” del Netasq Unified Manager (NUM). 
Tramite sfctl possiamo controllare le seguenti liste:

WhiteList
BlackList
WhiteListExclude
BlackListExclude
MonitoredHost
HostExclude

Vediamo ora la corrispondenza in NUM di queste liste. Negli esempi verrà utilizzato l&#8217;oggetto host “dummy_host” avante indirizzo IP “1.2.3.4” ed il range [...]]]></description>
			<content:encoded><![CDATA[<p>Tramite la definizione addrlist si fa riferimento esplicito alle liste di indirizzi ip presenti alla voce “List” della sezione “Intrusion Prevention” del Netasq Unified Manager (NUM). <span id="more-529"></span><br />
Tramite sfctl possiamo controllare le seguenti liste:</p>
<ul>
<li>WhiteList</li>
<li>BlackList</li>
<li>WhiteListExclude</li>
<li>BlackListExclude</li>
<li>MonitoredHost</li>
<li>HostExclude</li>
</ul>
<p>Vediamo ora la corrispondenza in NUM di queste liste. Negli esempi verrà utilizzato l&#8217;oggetto host “dummy_host” avante indirizzo IP “1.2.3.4” ed il range “dummy_range” avente indirizzi IP da “1.2.3.4” a “1.2.255.255”.<br />
Inseriamo la seguente regola in “Instrusion Prevention”-&gt;”Lists”-&gt;”Blacklist / Quarantine”:</p>
<table border="0" width="100%">
<tbody>
<tr>
<td align="center"><strong>Host: dummy_host | Peer: Any</strong></td>
</tr>
</tbody>
</table>
<p>Eseguiamo ora il comando di visualizzazione della tabella addrlist:</p>
<table border="0" width="100%">
<tbody>
<tr>
<td align="center"><strong>sfctl -s addrlist</strong></td>
</tr>
</tbody>
</table>
<p>L&#8217;output ottenuto risulterà essere:<br />
BlackList:</p>
<table border="0" width="100%">
<tbody>
<tr>
<td align="right">low address</td>
<td align="right">high address</td>
<td></td>
<td align="right">low address</td>
<td align="right">high address</td>
<td align="right">timeout</td>
</tr>
<tr>
<td align="right">1.2.3.4</td>
<td align="right">1.2.3.4</td>
<td align="center">&lt;=&gt;</td>
<td align="right">0.0.0.0</td>
<td align="right">255.255.255.255</td>
<td align="right">0</td>
</tr>
</tbody>
</table>
<p>Se inseriamo la regola:</p>
<table border="0" width="100%">
<tbody>
<tr>
<td align="center"><strong>Host: dummy_range | Peer: Any</strong></td>
</tr>
</tbody>
</table>
<p>Eseguiamo ora il comando di visualizzazione della tabella addrlist:<br />
BlackList:</p>
<table border="0" width="100%">
<tbody>
<tr>
<td align="right">low address</td>
<td align="right">high address</td>
<td></td>
<td align="right">low address</td>
<td align="right">high address</td>
<td align="right">timeout</td>
</tr>
<tr>
<td align="right">1.2.3.4</td>
<td align="right">1.2.255.255</td>
<td align="center">&lt;=&gt;</td>
<td align="right">0.0.0.0</td>
<td align="right">255.255.255.255</td>
<td align="right">0</td>
</tr>
</tbody>
</table>
<p>Quindi è possibile specificare sia host singoli che range di indirizzi che reti. Nel caso in cui venga specificato un range od una rete sarà possibile specificare l&#8217;esclusione di uno o più host.<br />
Inseriamo la seguente regola in “Instrusion Prevention”-&gt;”Lists”-&gt;”Blacklist / Quarantine”:</p>
<table border="0" width="100%">
<tbody>
<tr>
<td align="center"><strong>Host: dummy_range | Peer: Any</strong></td>
</tr>
</tbody>
</table>
<p>Inseriamo la seguente regola in “Instrusion Prevention”-&gt;”Lists”-&gt;”Blacklist / Quarantine”-&gt;”Exclusion”:</p>
<table border="0" width="100%">
<tbody>
<tr>
<td align="center"><strong>Host: dummy_host | Peer: Any</strong></td>
</tr>
</tbody>
</table>
<p>Eseguiamo ora il comando di visualizzazione della tabella addrlist:<br />
BlackList:</p>
<table border="0" width="100%">
<tbody>
<tr>
<td align="right">low address</td>
<td align="right">high address</td>
<td></td>
<td align="right">low address</td>
<td align="right">high address</td>
<td align="right">timeout</td>
</tr>
<tr>
<td align="right">1.2.3.4</td>
<td align="right">1.2.255.255</td>
<td align="center">&lt;=&gt;</td>
<td align="right">0.0.0.0</td>
<td align="right">255.255.255.255</td>
<td align="right">0</td>
</tr>
</tbody>
</table>
<p>BlackListExclude:</p>
<table border="0" width="100%">
<tbody>
<tr>
<td align="right">low address</td>
<td align="right">high address</td>
<td></td>
<td align="right">low address</td>
<td align="right">high address</td>
<td align="right">timeout</td>
</tr>
<tr>
<td align="right">1.2.3.4</td>
<td align="right">1.2.3.4</td>
<td align="center">&lt;=&gt;</td>
<td align="right">0.0.0.0</td>
<td align="right">255.255.255.255</td>
<td align="right">0</td>
</tr>
</tbody>
</table>
<p>Inseriamo la seguente regola in “Instrusion Prevention”-&gt;”Lists”-&gt;”Bypass”:</p>
<table border="0" width="100%">
<tbody>
<tr>
<td align="center"><strong>Host: dummy_host | Peer: Any</strong></td>
</tr>
</tbody>
</table>
<p>Eseguiamo ora il comando di visualizzazione della tabella addrlist:<br />
WhiteList:</p>
<table border="0" width="100%">
<tbody>
<tr>
<td align="right">low address</td>
<td align="right">high address</td>
<td></td>
<td align="right">low address</td>
<td align="right">high address</td>
<td align="right">timeout</td>
</tr>
<tr>
<td align="right">1.2.3.4</td>
<td align="right">1.2.3.4</td>
<td align="center">&lt;=&gt;</td>
<td align="right">0.0.0.0</td>
<td align="right">255.255.255.255</td>
<td align="right">0</td>
</tr>
</tbody>
</table>
<p>Da ricordare che la white list all&#8217;interno dell&#8217;instrusion prevention non solo sospende tutte le politiche di controllo ai fini di intrusioni, ma anche le policy di filtering sostanzialmente considerando l&#8217;host selezionato e le sue comunicazioni (interne ed esterne) di tipo totally trusted.</p>
<p>Queste informazioni vengono scritte all&#8217;interno degli slot di configurazione di netasq in particolare nella directory /usr/Firewall/ConfigFiles/ASQ sono presenti i 4 slot di configurazione per il motore ASQ le voci interessate sono:</p>
<ul>
<li>[WhiteList]</li>
<li>[BlackList]</li>
<li>[BlackListExclude]</li>
</ul>
<p>Il file può essere modificato manualmente la sintassi è:</p>
<table border="0" width="100%">
<tbody>
<tr>
<td align="center"><strong>oggetto,peer</strong></td>
</tr>
</tbody>
</table>
<p>Applicato agli esempi precedenti il file di configurazione conterrebbe ad esempio:</p>
<p>[WhiteList]<br />
dummy_host,any</p>
<p>Dopo aver modificato manualmente questo file è necessario eseguire il comando di reload per l&#8217;engine ASQ ovvero:</p>
<table border="0" width="100%">
<tbody>
<tr>
<td align="center"><strong>enasq</strong></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://netasq.nextrem.it/2008/10/03/netasq-inside-sfctl-stateful-control-addrlist-address-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NETASQ Inside &#8211; sfctl (Stateful Control)</title>
		<link>http://netasq.nextrem.it/2008/10/03/netasq-inside-sfctl-stateful-control/</link>
		<comments>http://netasq.nextrem.it/2008/10/03/netasq-inside-sfctl-stateful-control/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 21:31:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Area Tecnica - NETASQ UTM Firewall]]></category>

		<guid isPermaLink="false">http://blogs.nextrem.it/wp/?p=10</guid>
		<description><![CDATA[I prodotti NETASQ oltre ad una intuitiva interfaccia grafica Windows possiedono potentissimi tool command line per la gestione dell&#8217;apparato. Uno di questi è sicuramente sfctl ovvero Stateful Control di fatto il tool di comando e gestione del motore ASQ.

Il programma binario è situato nella directory /usr/Firewall/sbin.
Vediamo i possibili switch del comando:



parametro
argomenti
descrizione


-e
1 = abilita sistema
0 = [...]]]></description>
			<content:encoded><![CDATA[<p>I prodotti NETASQ oltre ad una intuitiva interfaccia grafica Windows possiedono potentissimi tool command line per la gestione dell&#8217;apparato. Uno di questi è sicuramente sfctl ovvero Stateful Control di fatto il tool di comando e gestione del motore ASQ.<br />
<span id="more-10"></span><br />
Il programma binario è situato nella directory /usr/Firewall/sbin.</p>
<p>Vediamo i possibili switch del comando:</p>
<table border="1" width="100%">
<tbody>
<tr>
<td align="center">parametro</td>
<td align="center">argomenti</td>
<td align="center">descrizione</td>
</tr>
<tr>
<td align="center">-e</td>
<td>1 = abilita sistema<br />
0 = disabilta sistema</td>
<td>La disabilitazione del sistema tramite l&#8217;opzione 0 comporta l&#8217;esclusione totale del sistema ASQ rendendo l&#8217;apparato un router.</td>
</tr>
<tr>
<td align="center">-T</td>
<td align="center">-</td>
<td>Visualizza statistiche di sistema riguardo:</p>
<p>- Throughput<br />
- Throughput massimo<br />
- connessioni TCP per interfaccia<br />
- Indirizzi IP host<br />
- Pacchetti host<br />
- Dati host<br />
- Throughput host<br />
- Throughput massimo host<br />
- Utilizzo memoria<br />
- Configurazione IP interfacce di rete<br />
- Code di traffic shaping CBQ (Class based queueing)</p>
<p>In formato unix top. Una volta attivato è possibile accedere ai sotto menù informativi tramite i seguenti comandi:</p>
<p>g – Statistiche globali di traffico<br />
h – Informazioni sugli host e relativo traffico<br />
m – Informazioni sull&#8217;utilizzo della memoria<br />
i – Informazioni sulle interfacce di rete<br />
r – Reset dei dati<br />
u – Stato code di traffic shaping CBQ<br />
q – Uscita</p>
<p>Premendo ripetutamente la lettera comando od una lettera non assegnata è possibile ottenere un aggiornamento in tempo reale delle statistiche.</td>
</tr>
<tr>
<td align="center">-f</td>
<td align="center">-</td>
<td>Forza l&#8217;esecuzione ove necessaria del comando richiesto a sfctl.</td>
</tr>
<tr>
<td align="center">-v</td>
<td align="center">-</td>
<td>Modalità verbosa per le richieste di esecuzione comandi a sfctl. Consente di ottenere maggiori informazioni di debug.</td>
</tr>
<tr>
<td align="center">-O</td>
<td>0 = none<br />
1 = skip rules</td>
<td>optimize ruleset at level (???)</td>
</tr>
<tr>
<td align="center">-F</td>
<td>addrlist = flush address list<br />
filter = flush filter rules<br />
state = flush state information<br />
count = flush count rule<br />
stat = flush statistics<br />
pof = flush os signature list (pof)<br />
all = all the above</td>
<td></td>
</tr>
<tr>
<td align="center">-b t,o,a[,to]</td>
<td>t = BlackList|WhiteList&#8230;<br />
o = add or delete<br />
a = string identifier or &#8216;*&#8217;<br />
to = timeout</td>
<td>manage blacklist entry</td>
</tr>
<tr>
<td align="center">-R</td>
<td>rulefile</td>
<td>load a filter rule file and activate it</td>
</tr>
<tr>
<td align="center">-P</td>
<td>rulefile</td>
<td>load finger printing rule file and activate it</td>
</tr>
<tr>
<td align="center">-Q</td>
<td align="center">-</td>
<td>load QoS queues config and activate it (only with -R)</td>
</tr>
<tr>
<td align="center">-q</td>
<td>1 = abilita sistema<br />
0 = disabilta sistema</td>
<td>set QoS state</td>
</tr>
<tr>
<td align="center">-s</td>
<td>addrlist = show address list<br />
filter = show current filter rules<br />
state = show state table content<br />
host = show host table content<br />
user = show user table content<br />
conn = show connection table content<br />
count = show count rule<br />
qos = show QoS rule<br />
stat = show statistics<br />
route = show route information<br />
limit = show ASQ limits<br />
protaddr = show protected address list<br />
pof  = show os signature list (pof)<br />
all = all the above</td>
<td>dump one of the following</td>
</tr>
<tr>
<td align="center">-l</td>
<td>count = log count rule<br />
stat = log statistics<br />
all = all the above</td>
<td>write a log entry</td>
</tr>
<tr>
<td align="center">-H</td>
<td>host</td>
<td>display only information for specified host (da usare assieme a -s host)</td>
</tr>
<tr>
<td align="center">-A a,n,g,t</td>
<td>address = user address<br />
name = user name<br />
group = group membership<br />
time = timeout</td>
<td>manually add/update authenticated user</td>
</tr>
<tr>
<td align="center">-a n,a|all</td>
<td>address = user address<br />
name = user name<br />
all = all authenticated user</td>
<td>manually remove authenticated user</td>
</tr>
<tr>
<td align="center">-r op,name,gw</td>
<td>op = add or delete<br />
name  = string identifier or &#8216;*&#8217;<br />
gw = gateway or 0.0.0.0</td>
<td>default route management</td>
</tr>
<tr>
<td align="center">-B op,name</td>
<td>op = backup or restore<br />
name = filename</td>
<td>backup operation</td>
</tr>
<tr>
<td align="center">-h modifier</td>
<td>active = set as active mode<br />
passive = set as passive mode<br />
show = display current mode</td>
<td>HA ethernet mode</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://netasq.nextrem.it/2008/10/03/netasq-inside-sfctl-stateful-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

