[Oisf-users] Suricata as IPS under OpenBSD
C.L. Martinez
carlopmart at gmail.com
Mon Dec 14 14:59:03 UTC 2015
On 12/14/2015 02:55 PM, C.L. Martinez wrote:
> On 12/10/2015 04:53 PM, Oliver Humpage wrote:
>>
>>> On 10 Dec 2015, at 16:34, C.L. Martinez <carlopmart at gmail.com> wrote:
>>>
>>>
>>> Thanks Oliver. Suricata can be installed under OpenBSD without major
>>> issues. But it is not possible to use ipfw (it is only supported
>>> under FreeBSD) and divert option works differently in OpenBSD than it
>>> does in FreeBSD as you can see here:
>>> http://lteo.net/blog/2015/01/06/dissecting-openbsds-divert-4-part-1-introduction/
>>>
>>
>> "OpenBSD divert(4) is meant to be compatible with software running on
>> top of FreeBSD's divert sockets"
>>
>> I really thought I’d had suricata running on OpenBSD + pf +
>> divert-packet at some point during my testing. Maybe I’m misremembering.
>>
>> However, all the userspace switching of divert meant I’ve now moved to
>> netmap on FreeBSD (and although FreeBSD does support CARP, I dread to
>> think what would happen to carp on netmap-enabled interfaces - plus,
>> in my time, I’ve seen far more crashes *caused* by carp than all other
>> failures put together!).
>>
>> Oliver.
>>
>
> Ok,
>
> Returning to this thread. I have installed a new OpenBSD 5.8 (fully
> patched) virtual machine to test suricata as IPS.
>
> I have compiled suricata with the following options without problems:
>
> ./configure --prefix=/opt/suricata --enable-gccprotect --enable-ipfw
> --enable-luajit --enable-geoip
>
> Result is:
>
>
> root at obsdtest:~/docs# suricata --build-info
> This is Suricata version 3.0RC2 RELEASE
> Features: IPFW PCAP_SET_BUFF LIBPCAP_VERSION_MAJOR=1 HAVE_PACKET_FANOUT
> LIBNET1.1 HAVE_HTP_URI_NORMALIZE_HOOK PCRE_JIT HAVE_NSS HAVE_LUA
> HAVE_LUAJIT HAVE_LIBJANSSON
> SIMD support: SSE_3
> Atomic intrisics: none
> 64-bits, Little-endian architecture
> GCC version 4.2.1 20070719 , C version 199901
> compiled with _FORTIFY_SOURCE=2
> L1 cache line size (CLS)=64
> thread local storage method: pthread key
> compiled with LibHTP v0.5.18, linked against LibHTP v0.5.18
>
> Suricata Configuration:
> AF_PACKET support: no
> PF_RING support: no
> NFQueue support: no
> NFLOG support: no
> IPFW support: yes
> Netmap support: no
> DAG enabled: no
> Napatech enabled: no
>
> Unix socket enabled: yes
> Detection enabled: yes
>
> libnss support: yes
> libnspr support: yes
> libjansson support: yes
> hiredis support: no
> Prelude support: no
> PCRE jit: yes
> LUA support: yes, through luajit
> libluajit: yes
> libgeoip: yes
> Non-bundled htp: no
> Old barnyard2 support: no
> CUDA enabled: no
>
> Suricatasc install: no
>
> Unit tests enabled: no
> Debug output enabled: no
> Debug validation enabled: no
> Profiling enabled: no
> Profiling locks enabled: no
> Coccinelle / spatch: no
>
> Generic build parameters:
> Installation prefix: /opt/suricata
> Configuration directory: /opt/suricata/etc/suricata/
> Log directory: /opt/suricata/var/log/suricata/
>
> --prefix /opt/suricata
> --sysconfdir /opt/suricata/etc
> --localstatedir /opt/suricata/var
>
> Host: x86_64-unknown-openbsd5.8
> Compiler: gcc (exec name) / gcc (real)
> GCC Protect enabled: yes
> GCC march native enabled: yes
> GCC Profile enabled: no
> Position Independent Executable enabled: no
> CFLAGS -g -O2 -D__OpenBSD__
> -march=native
> PCAP_CFLAGS
> SECCFLAGS -fstack-protector
> -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security
>
> PF rules to test IPS this feature:
>
> pass out on egress inet proto tcp all flags S/SA keep state (if-bound)
> scrub (reassemble tcp) tagged intlans-to-inet divert-packet port 8000
> pass out on egress inet proto icmp all keep state (if-bound) scrub
> (reassemble tcp) tagged intlans-to-inet divert-packet port 8000
> pass out on egress inet proto udp all keep state (if-bound) scrub
> (reassemble tcp) tagged intlans-to-inet divert-packet port 8000
>
> Rule used in this test:
>
> drop tcp any any -> any any (msg:"Google is blocked";
> content:"google.com"; http_header; nocase; classtype:policy-violation;
> sid:1;)
>
> And result is: nothing ... Connections established to Google are not
> blocked ...
>
> Am I doing something wrong or maybe IPS feature is not supported under
> OpenBSD??
Sorry, suricata startup options:
suricata -c suricata.yaml -d 8000
And log:
14/12/2015 -- 14:49:02 - <Notice> - This is Suricata version 3.0RC2 RELEASE
14/12/2015 -- 14:49:03 - <Notice> - all 3 packet processing threads, 4
management threads initialized, engine started.
More information about the Oisf-users
mailing list