<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/4.6.6">
</HEAD>
<BODY>
On Sat, 2015-04-25 at 14:58 +0200, Robert Lasota wrote:<BR>
<BLOCKQUOTE TYPE=CITE>
    Dnia Piątek, 24 Kwietnia 2015 17:53 James Lay <jlay@...13475...> napisał(a)<BR>
    <BR>
    <BLOCKQUOTE>
        On 2015-04-24 07:06 AM, Robert Lasota wrote:<BR>
        <BR>
        > Dnia Piątek, 24 Kwietnia 2015 13:58 James Lay<BR>
        <BR>
        > <jlay@...13475...> napisał(a)<BR>
        <BR>
        ><BR>
        <BR>
        >> On Fri, 2015-04-24 at 09:33 +0200, Robert Lasota wrote:<BR>
        <BR>
        >><BR>
        <BR>
        >>> Hi,<BR>
        <BR>
        >>><BR>
        <BR>
        >>> Well, I have problem with running this both apps together on<BR>
        <BR>
        >>> router. Snort (as IPS) inline gets traffic from iptables (QUEUE<BR>
        <BR>
        >>> option), and Squid transparent also (from PREROUTING), and it<BR>
        <BR>
        >>> turned out there is problem to rinning both in that case. I tried<BR>
        <BR>
        >>> these combinations of iptables:<BR>
        <BR>
        >>><BR>
        <BR>
        >>> # for Snort<BR>
        <BR>
        >>><BR>
        <BR>
        >>> $iptables -I FORWARD -p tcp --dport 80 -j QUEUE<BR>
        <BR>
        >>><BR>
        <BR>
        >>> # for Squid<BR>
        <BR>
        >>> $iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT<BR>
        <BR>
        >>> --to-port 3128<BR>
        <BR>
        >>><BR>
        <BR>
        >>> $iptables -I FORWARD -p tcp --dport 80 -j QUEUE<BR>
        <BR>
        >>> $iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT<BR>
        <BR>
        >>> --to-port 3128<BR>
        <BR>
        >>><BR>
        <BR>
        >>> $iptables -I OUTPUT -p tcp --dport 80 -j QUEUE<BR>
        <BR>
        >>> $iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT<BR>
        <BR>
        >>> --to-port 3128<BR>
        <BR>
        >>><BR>
        <BR>
        >>> .. and nothing. In all cases or Squid doesn't work or Snort.<BR>
        <BR>
        >>><BR>
        <BR>
        >>> Does somebody have any idea how to solve this difficult case ? I<BR>
        <BR>
        >>> would be appreciated.<BR>
        <BR>
        >>><BR>
        <BR>
        >>> Robert<BR>
        <BR>
        >> Two interfaces? One internal net, one external net?<BR>
        <BR>
        >><BR>
        <BR>
        >> James<BR>
        <BR>
        ><BR>
        <BR>
        > Yes, there are 2 nics, one for internet and one for LAN.<BR>
        <BR>
        ><BR>
        <BR>
        > Robert<BR>
        <BR>
        So my setup is I have transparent proxy that's listening on eth0<BR>
        <BR>
        (192.168.bleh) that forwards out ppp0 (external IP).  This takes<BR>
        <BR>
        internal clients and transparently proxies them.  If that's your setup,<BR>
        <BR>
    </BLOCKQUOTE>
    <BR>
    here's how I would do it.<BR>
    <BR>
    <BLOCKQUOTE>
        Start snort:<BR>
        <BR>
        sudo snort -Q -D --daq nfq --daq-var device=eth0 --daq-var queue=1 -c<BR>
        <BR>
        snort.conf<BR>
        <BR>
        Snort iptables first:<BR>
        <BR>
        $iptables -t mangle -I FORWARD -i eth0 -p tcp --dport 80 -j NFQUEUE<BR>
        <BR>
        --queue-num 1<BR>
        <BR>
        $iptables -t mangle -I OUTPUT -i eth0 -p tcp --dport 80 -j NFQUEUE<BR>
        <BR>
        --queue-num 1<BR>
        <BR>
        Now for Squid<BR>
        <BR>
        $iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT<BR>
        <BR>
        --to-port 3128<BR>
        <BR>
        This should get you what you need, however keep in mind that snort will<BR>
        <BR>
        need to be started first, and because you're sending ONLY port 80 to the<BR>
        <BR>
        NFQUEUE, that's all snort will see as that's all that's going to the<BR>
        <BR>
        queue.  Lastly, you'll need to modify your rules that you want do drop<BR>
        <BR>
        traffic to reflect drop instead of alert...you'll get an alert in your<BR>
        <BR>
        unified (if you're doing that) or fast file (if you're doing that as<BR>
        <BR>
        well) either way with drop or alert, but drop will actively drop the<BR>
        <BR>
        connection.  Check the link below for more info:<BR>
        <BR>
        http://www.iptables.info/en/structure-of-iptables.html#MANGLETABLE <<BR>
        <BR>
        scroll up to get a nifty diagram.<BR>
        <BR>
        Hope that helps.<BR>
        <BR>
        James<BR>
        <BR>
    </BLOCKQUOTE>
    <BR>
     <BR>
    <BR>
    Hi,<BR>
    <BR>
    I did as you said and don't work. Squid is blocking but Snort not working, I mean instead of display alert page it shows some Squid error page "url cannot be retrivered".<BR>
    <BR>
     <BR>
    <BR>
    My commands was:<BR>
    <BR>
    snort -Q -D --daq nfq --daq-var device=eth1 --daq-var queue=1 -c /opt/etc/snort/snort.conf<BR>
    <BR>
    iptables -t mangle -I FORWARD -i eth1 -p tcp --dport 80 -j NFQUEUE  --queue-num 1<BR>
    iptables -t mangle -I OUTPUT -o eth1 -p tcp --dport 80 -j NFQUEUE --queue-num 1<BR>
    <BR>
     <BR>
    <BR>
    eth1 - LAN interface<BR>
    <BR>
    What is interesting , in above case no packets got in rules in mangle table.. zero:<BR>
    <BR>
    Chain FORWARD (policy ACCEPT 893 packets, 403K bytes)<BR>
     pkts bytes target     prot opt in     out     source               destination<BR>
        0     0 NFQUEUE    tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 NFQUEUE num 1<BR>
    Chain OUTPUT (policy ACCEPT 5009 packets, 3240K bytes)<BR>
     pkts bytes target     prot opt in     out     source               destination<BR>
        0     0 NFQUEUE    tcp  --  *      eth1    0.0.0.0/0            0.0.0.0/0            tcp dpt:80 NFQUEUE num 1<BR>
    <BR>
    <BR>
    <BR>
     <BR>
    <BR>
    I tried add to mangle rules without interface:<BR>
    <BR>
    iptables -t mangle -I FORWARD -p tcp --dport 80 -j NFQUEUE  --queue-num 1<BR>
    iptables -t mangle -I OUTPUT -p tcp --dport 80 -j NFQUEUE --queue-num 1<BR>
    and now packets got only to OUTPUT chain:<BR>
    <BR>
    <BR>
    Chain FORWARD (policy ACCEPT 12 packets, 989 bytes)<BR>
     pkts bytes target     prot opt in     out     source               destination<BR>
        0     0 NFQUEUE    tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 NFQUEUE num 1<BR>
    Chain OUTPUT (policy ACCEPT 1855 packets, 645K bytes)<BR>
     pkts bytes target     prot opt in     out     source               destination<BR>
       23  5563 NFQUEUE    tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 NFQUEUE num 1<BR>
    ..but still is an error "url cannot be retrivered"<BR>
    <BR>
     <BR>
    <BR>
    Robert<BR>
    <BR>
    <BR>
<PRE>
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
<A HREF="http://ad.doubleclick.net/ddm/clk/290420510;117567292;y">http://ad.doubleclick.net/ddm/clk/290420510;117567292;y</A>
_______________________________________________
Snort-users mailing list
<A HREF="mailto:Snort-users@lists.sourceforge.net">Snort-users@lists.sourceforge.net</A>
Go to this URL to change user options or unsubscribe:
<A HREF="https://lists.sourceforge.net/lists/listinfo/snort-users">https://lists.sourceforge.net/lists/listinfo/snort-users</A>
Snort-users list archive:
<A HREF="http://sourceforge.net/mailarchive/forum.php?forum_name=snort-users">http://sourceforge.net/mailarchive/forum.php?forum_name=snort-users</A>

Please visit <A HREF="http://blog.snort.org">http://blog.snort.org</A> to stay current on all the latest Snort news!
</PRE>
</BLOCKQUOTE>
<BR>
Ok....I'll dust off the dev box and run it through some tests...stay tuned.<BR>
<BR>
James
</BODY>
</HTML>