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