]> git.pld-linux.org Git - packages/snort.git/blob - snort.spec
- C: logrotate < 3.7.4 due to archiv -> archive transition
[packages/snort.git] / snort.spec
1 #
2 # TODO: - snort rules - fix description
3 #       - clamav support - cleanup, add some docs
4 #       - snort_inline - prepare separate sets of config-files, rules
5 #         and startup script, adds some docs
6 #       - snort 2.6
7 #
8 # Conditional build:
9 %bcond_without  pgsql   # build without PostgreSQL storage support
10 %bcond_without  mysql   # build without MySQL storage support
11 %bcond_without  snmp    # build without SNMP support
12 %bcond_without  inline  # build without inline support
13 %bcond_without  prelude # build without prelude support
14 %bcond_without  clamav  # build w/o  ClamAV preprocessor support (anti-vir)
15 %bcond_with     registered      # build with rules available for registered users
16 #
17 Summary:        Network intrusion detection system (IDS/IPS)
18 Summary(pl.UTF-8):      System wykrywania intruzów w sieciach (IDS/IPS)
19 Summary(pt_BR.UTF-8):   Ferramenta de detecção de intrusos
20 Summary(ru.UTF-8):      Snort - система обнаружения попыток вторжения в сеть
21 Summary(uk.UTF-8):      Snort - система виявлення спроб вторгнення в мережу
22 Name:           snort
23 Version:        2.6.1.3
24 Release:        1
25 License:        GPL v2 (vrt rules on VRT-License)
26 Group:          Networking
27 Source0:        http://www.snort.org/dl/current/%{name}-%{version}.tar.gz
28 # Source0-md5:  8b46997afd728fbdaafdc9b1d0278b07
29 Source1:        http://www.snort.org/pub-bin/downloads.cgi/Download/vrt_pr/%{name}rules-pr-2.4.tar.gz
30 # Source1-md5:  35d9a2486f8c0280bb493aa03c011927
31 %if %{with registered}
32 Source2:        http://www.snort.org/pub-bin/downloads.cgi/Download/vrt_os/%{name}rules-snapshot-2.4.tar.gz
33 # NoSource2-md5:        79af87cda3321bd64279038f9352c1b3
34 NoSource:       2
35 %endif
36 Source3:        http://www.snort.org/pub-bin/downloads.cgi/Download/comm_rules/Community-Rules-2.4.tar.gz
37 # Source3-md5:  0328072d64553eff81ac52da4e0d947e
38 Source4:        %{name}.init
39 Source5:        %{name}.logrotate
40 Patch0:         %{name}-libnet1.patch
41 Patch1:         %{name}-lib64.patch
42 # http://www.bleedingsnort.com/staticpages/index.php?page=snort-clamav
43 #Patch2:                %{name}-2.6.0.2-clamav.diff
44 URL:            http://www.snort.org/
45 BuildRequires:  autoconf
46 BuildRequires:  automake
47 %{?with_clamav:BuildRequires:   clamav-devel}
48 %{?with_inline:BuildRequires:   iptables-devel}
49 BuildRequires:  libnet1-devel = 1.0.2a
50 BuildRequires:  libpcap-devel
51 %{?with_prelude:BuildRequires:  libprelude-devel}
52 %{?with_mysql:BuildRequires:    mysql-devel}
53 %{?with_snmp:BuildRequires:     net-snmp-devel >= 5.0.7}
54 BuildRequires:  openssl-devel >= 0.9.7d
55 BuildRequires:  pcre-devel
56 %{?with_pgsql:BuildRequires:    postgresql-devel}
57 BuildRequires:  rpmbuild(macros) >= 1.202
58 BuildRequires:  rpmbuild(macros) >= 1.268
59 BuildRequires:  zlib-devel
60 Requires(post,preun):   /sbin/chkconfig
61 Requires(postun):       /usr/sbin/groupdel
62 Requires(postun):       /usr/sbin/userdel
63 Requires(pre):  /bin/id
64 Requires(pre):  /usr/bin/getgid
65 Requires(pre):  /usr/sbin/groupadd
66 Requires(pre):  /usr/sbin/useradd
67 Requires:       libnet1 = 1.0.2a
68 Requires:       rc-scripts >= 0.2.0
69 Provides:       group(snort)
70 %{?with_mysql:Provides: snort(mysql) = %{version}}
71 %{?with_pgsql:Provides: snort(pgsql) = %{version}}
72 Provides:       user(snort)
73 Obsoletes:      snort-rules
74 Conflicts:      logrotate < 3.7.4
75 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
76
77 %define         _sysconfdir     /etc/snort
78 %define         _bindir         %{_sbindir}
79
80 %description
81 Snort is an open source network intrusion detection system, capable of
82 performing real-time traffic analysis and packet logging on IP
83 networks. It can perform protocol analysis and content
84 searching/matching in order to detect a variety of attacks and probes,
85 such as buffer overflows, stealth port scans, CGI attacks, SMB probes,
86 OS fingerprinting attempts, and much more. Snort uses a flexible rules
87 language to describe traffic that it should collect or pass, as well
88 as a detection engine that utilizes a modular plugin architecture.
89 Snort has a real- time alerting capability as well, incorporating
90 alerting mechanisms for syslog, user specified files, a UNIX socket,
91 or WinPopup messages to Windows clients using Samba's smbclient.
92
93 Sourcefire VRT Certified Rules requires registration.
94 https://www.snort.org/pub-bin/register.cgi
95
96 %description -l pl.UTF-8
97 Snort to bazujący na open source NIDS (network intrusion detection
98 systems) wykonujący w czasie rzeczywistym analizę ruchu oraz logowanie
99 pakietów w sieciach IP. Jego możliwości to analiza protokołu oraz
100 zawartości w poszukiwaniu różnego rodzaju ataków lub prób takich jak
101 przepełnienia bufora, skanowanie portów typu stealth, ataki CGI,
102 próbkowanie SMB, OS fingerprinting i dużo więcej. Snort używa
103 elastycznego języka regułek do opisu ruchu, który należy
104 przeanalizować jak również silnika wykrywającego, wykorzystującego
105 modułową architekturę. Snort umożliwia alarmowanie w czasie
106 rzeczywistym poprzez sysloga, osobny plik lub jako wiadomość WinPopup
107 poprzez klienta Samby: smbclient.
108
109 Reguły certyfikowane poprzez Sourcefire wymagają rejestracji.
110 https://www.snort.org/pub-bin/register.cgi
111
112 %description -l pt_BR.UTF-8
113 Snort é um sniffer baseado em libpcap que pode ser usado como um
114 pequeno sistema de detecção de intrusos. Tem como característica o
115 registro de pacotes baseado em regras e também pode executar uma
116 análise do protocolo, pesquisa de padrões e detectar uma variedade de
117 assinaturas de ataques, como estouros de buffer, varreduras "stealth"
118 de portas, ataques CGI, pesquisas SMB, tentativas de descobrir o
119 sistema operacional e muito mais. Possui um sistema de alerta em tempo
120 real, com alertas enviados para o syslog, um arquivo de alertas em
121 separado ou como uma mensagem Winpopup.
122
123 %description -l ru.UTF-8
124 Snort - это сниффер пакетов, который может использоваться как система
125 обнаружения попыток вторжения в сеть. Snort поддерживает
126 протоколирование пакетов на основе правил, может выполнять анализ
127 протоколов, поиск в содержимом пакетов. Может также использоваться для
128 обнаружения атак и "разведок", таких как попытки атак типа
129 "переполнение буфера", скрытого сканирования портов, CGI атак, SMB
130 разведок, попыток обнаружения типа ОС и много другого. Snort может
131 информировать о событиях в реальном времени, посылая сообщения в
132 syslog, отдельный файл или как WinPopup сообщения через smbclient.
133
134 %description -l uk.UTF-8
135 Snort - це сніфер пакетів, що може використовуватись як система
136 виявлення спроб вторгнень в мережу. Snort підтримує протоколювання
137 пакетів на основі правил, може виконувати аналіз протоколів, пошук у
138 вмісті пакетів. Може також використовуватись для виявлення атак та
139 "розвідок", таких як спроби атак типу "переповнення буфера",
140 прихованого сканування портів, CGI атак, SMB розвідок, спроб виявлення
141 типу ОС та багато іншого. Snort може інформувати про події в реальному
142 часі, надсилаючи повідомлення до syslog, окремого файлу чи як WinPopup
143 повідомлення через smbclient.
144
145 %prep
146 %setup -q %{!?with_registered:-a1} %{?with_registered:-a2} -a3
147 %patch0 -p1
148 %if "%{_lib}" == "lib64"
149 %patch1 -p1
150 %endif
151 #%{?with_clamav:%patch2 -p1}
152
153 sed -i "s#var\ RULE_PATH.*#var RULE_PATH /etc/snort/rules#g" rules/snort.conf
154 _DIR=$(pwd)
155 cd rules
156 for I in community-*.rules; do
157         echo "include \$RULE_PATH/$I" >> snort.conf
158 done
159 cd $_DIR
160
161 %build
162 %{__aclocal}
163 %{__autoconf}
164 %{__automake}
165 # we don't need libnsl, so don't use it
166 %configure \
167         no_libnsl=yes \
168         --enable-smbalerts \
169         --enable-flexresp \
170         %{?with_inline:--enable-inline } \
171         %{?with_inline:--with-libipq-includes=%{_includedir}/libipq }  \
172         --with-libnet-includes=%{_includedir} \
173         --with%{!?with_snmp:out}-snmp \
174         --without-odbc \
175         --enable-perfmonitor \
176         --with%{!?with_pgsql:out}-postgresql \
177         --with%{!?with_mysql:out}-mysql \
178         %{?with_prelude:--enable-prelude } \
179         %{?with_clamav:--enable-clamav --with-clamav-defdir=/var/lib/clamav}
180
181 %{__make}
182
183 %install
184 rm -rf $RPM_BUILD_ROOT
185 install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,%{name},cron.daily,logrotate.d} \
186         $RPM_BUILD_ROOT%{_var}/log/{%{name},archive/%{name}} \
187         $RPM_BUILD_ROOT%{_datadir}/mibs/site \
188         $RPM_BUILD_ROOT%{_sysconfdir}/rules
189
190 %{__make} install \
191         DESTDIR=$RPM_BUILD_ROOT
192
193 install rules/*.config  $RPM_BUILD_ROOT%{_sysconfdir}
194 install etc/unicode.map $RPM_BUILD_ROOT%{_sysconfdir}
195 install rules/*.rules   $RPM_BUILD_ROOT%{_sysconfdir}/rules
196 install %{SOURCE4}      $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
197 install %{SOURCE5}      $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
198 install rules/snort.conf        $RPM_BUILD_ROOT%{_sysconfdir}
199
200 mv schemas/create_mysql schemas/create_mysql.sql
201 mv schemas/create_postgresql schemas/create_postgresql.sql
202
203 %clean
204 rm -rf $RPM_BUILD_ROOT
205
206 %pre
207 %groupadd -g 46 -r snort
208 %useradd -u 46 -g snort -M -r -d %{_var}/log/snort -s /bin/false -c "SNORT IDS/IPS" snort
209
210 %post
211 /sbin/chkconfig --add snort
212 %service snort restart
213
214 %preun
215 if [ "$1" = "0" ] ; then
216         %service snort stop
217         /sbin/chkconfig --del snort
218 fi
219
220 %postun
221 if [ "$1" = "0" ] ; then
222         %userremove snort
223         %groupremove snort
224 fi
225
226 %files
227 %defattr(644,root,root,755)
228 %doc doc/{AUTHORS,BUGS,CREDITS,NEWS,PROBLEMS,README*,TODO,USAGE,WISHLIST,*.pdf}
229 %doc schemas/create_{mysql,postgresql}.sql
230 %attr(755,root,root) %{_sbindir}/*
231 %attr(770,root,snort) %dir %{_var}/log/snort
232 %attr(770,root,snort) %dir %{_var}/log/archive/%{name}
233 %attr(750,root,snort) %dir %{_sysconfdir}
234 %attr(640,root,snort) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/unicode.map
235 %attr(640,root,snort) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.config
236 %attr(640,root,snort) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/snort.conf
237 %attr(750,root,snort) %dir %{_sysconfdir}/rules
238 %attr(640,root,snort) %{_sysconfdir}/rules/*
239 %attr(754,root,root) /etc/rc.d/init.d/%{name}
240 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/*
241 %{_mandir}/man?/*
242 %dir /usr/lib/snort_dynamicengine
243 %dir /usr/lib/snort_dynamicpreprocessor
244 %attr(755,root,root) /usr/lib/snort_dynamicengine/libsf_engine.so*
245 %attr(755,root,root) /usr/lib/snort_dynamicpreprocessor/libsf_dcerpc_preproc.so*
246 %attr(755,root,root) /usr/lib/snort_dynamicpreprocessor/libsf_dns_preproc.so*
247 %attr(755,root,root) /usr/lib/snort_dynamicpreprocessor/libsf_ftptelnet_preproc.so*
248 %attr(755,root,root) /usr/lib/snort_dynamicpreprocessor/libsf_ssh_preproc.so*
249 %attr(755,root,root) /usr/lib/snort_dynamicpreprocessor/libsf_smtp_preproc.so*
This page took 0.077098 seconds and 4 git commands to generate.