X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=snort.spec;h=ddbdfaf3f3432340fc66ec0ef6dd2443a803c045;hb=4cb4516;hp=5fd631d1e6cd0caf5dcfc13fbae18cca69ff9442;hpb=257d57ce850da99184bc686b889f2653ce970f74;p=packages%2Fsnort.git diff --git a/snort.spec b/snort.spec index 5fd631d..ddbdfaf 100644 --- a/snort.spec +++ b/snort.spec @@ -1,59 +1,67 @@ # +# TODO: - snort rules - fix description +# - snort_inline - prepare separate sets of config-files, rules +# and startup script, adds some docs +# # Conditional build: -%bcond_without pgsql # build without PostgreSQL storage support -%bcond_without mysql # build without MySQL storage support -%bcond_without snmp # build without SNMP support -%bcond_with inline # build with inline support +%bcond_with registered # build with rules available for registered users # Summary: Network intrusion detection system (IDS/IPS) -Summary(pl): System wykrywania intruzów w sieciach (IDS/IPS) -Summary(pt_BR): Ferramenta de detecção de intrusos -Summary(ru): Snort - ÓÉÓÔÅÍÁ ÏÂÎÁÒÕÖÅÎÉÑ ÐÏÐÙÔÏË ×ÔÏÒÖÅÎÉÑ × ÓÅÔØ -Summary(uk): Snort - ÓÉÓÔÅÍÁ ×ÉÑ×ÌÅÎÎÑ ÓÐÒÏ ×ÔÏÒÇÎÅÎÎÑ × ÍÅÒÅÖÕ +Summary(pl.UTF-8): System wykrywania intruzów w sieciach (IDS/IPS) +Summary(pt_BR.UTF-8): Ferramenta de detecção de intrusos +Summary(ru.UTF-8): Snort - система обнаружения попыток вторжения в сеть +Summary(uk.UTF-8): Snort - система виявлення спроб вторгнення в мережу Name: snort -Version: 2.3.2 +Version: 2.9.18.1 Release: 1 -License: GPL -Vendor: Marty Roesch +License: GPL v2 (vrt rules on VRT-License) Group: Networking -Source0: http://www.snort.org/dl/current/%{name}-%{version}.tar.gz -# Source0-md5: 692602827ce9d1a611630149f8e50ec8 -Source1: http://www.snort.org/dl/rules/snortrules-snapshot-2_3.tar.gz -# Source1-md5: d8bace8bd5210d1fbf4eb5c7ac460d70 -Source2: %{name}.init -Source3: %{name}.logrotate -Source4: %{name}.conf -Patch0: %{name}-libnet1.patch -Patch1: %{name}-lib64.patch +Source0: http://www.snort.org/downloads/snort/%{name}-%{version}.tar.gz +# Source0-md5: 2b4e30300ef6feca1f60c267e727c6c0 +Source1: http://www.snort.org/pub-bin/downloads.cgi/Download/vrt_pr/%{name}rules-pr-2.4.tar.gz +# Source1-md5: 35d9a2486f8c0280bb493aa03c011927 +%if %{with registered} +Source2: http://www.snort.org/pub-bin/downloads.cgi/Download/vrt_os/%{name}rules-snapshot-2.6.tar.gz +# NoSource2-md5: 0405ec828cf9ad85a03cbf670818f690 +NoSource: 2 +%endif +Source3: http://www.snort.org/pub-bin/downloads.cgi/Download/comm_rules/Community-Rules-2.4.tar.gz +# Source3-md5: f236b8a4ac12e99d3e7bd81bf3b5a482 +Source4: %{name}.init +Source5: %{name}.logrotate +Patch0: %{name}-link.patch +Patch1: %{name}-libdir.patch URL: http://www.snort.org/ BuildRequires: autoconf BuildRequires: automake +BuildRequires: daq-static +BuildRequires: libdnet-devel +BuildRequires: libnetfilter_queue-devel +BuildRequires: libnet-devel BuildRequires: libnet1-devel = 1.0.2a BuildRequires: libpcap-devel -%{?with_mysql:BuildRequires: mysql-devel} -%{?with_snmp:BuildRequires: net-snmp-devel >= 5.0.7} +BuildRequires: libtirpc-devel +BuildRequires: libtool BuildRequires: openssl-devel >= 0.9.7d BuildRequires: pcre-devel -%{?with_pgsql:BuildRequires: postgresql-devel} -BuildRequires: rpmbuild(macros) >= 1.159 +BuildRequires: rpmbuild(macros) >= 1.202 +BuildRequires: rpmbuild(macros) >= 1.268 BuildRequires: zlib-devel -%{?with_inline:BuildRequires: iptables-devel} -PreReq: rc-scripts >= 0.2.0 +Requires(post,preun): /sbin/chkconfig +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel Requires(pre): /bin/id Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd -Requires(post,preun): /sbin/chkconfig -Requires(postun): /usr/sbin/groupdel -Requires(postun): /usr/sbin/userdel Requires: libnet1 = 1.0.2a +Requires: rc-scripts >= 0.2.0 Provides: group(snort) -%{?with_mysql:Provides: snort(mysql) = %{version}} -%{?with_pgsql:Provides: snort(pgsql) = %{version}} Provides: user(snort) +Obsoletes: snort-rules +Conflicts: logrotate < 3.7-4 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) -%define _sysconfdir /etc/snort %define _bindir %{_sbindir} %description @@ -72,136 +80,118 @@ or WinPopup messages to Windows clients using Samba's smbclient. Sourcefire VRT Certified Rules requires registration. https://www.snort.org/pub-bin/register.cgi -%description -l pl -Snort to bazuj±cy na open source NIDS (network intrusion detection -systems) wykonuj±cy w czasie rzeczywistym analizê ruchu oraz logowanie -pakietów w sieciach IP. Jego mo¿liwo¶ci to analiza protoko³u oraz -zawarto¶ci w poszukiwaniu ró¿nego rodzaju ataków lub prób takich jak -przepe³nienia bufora, skanowanie portów typu stealth, ataki CGI, -próbkowanie SMB, OS fingerprinting i du¿o wiêcej. Snort u¿ywa -elastycznego jêzyka regu³ek do opisu ruchu, który nale¿y -przeanalizowaæ jak równie¿ silnika wykrywaj±cego, wykorzystuj±cego -modu³ow± architekturê. Snort umo¿liwia alarmowanie w czasie -rzeczywistym poprzez sysloga, osobny plik lub jako wiadomo¶æ WinPopup +%description -l pl.UTF-8 +Snort to bazujący na open source NIDS (network intrusion detection +systems) wykonujący w czasie rzeczywistym analizę ruchu oraz logowanie +pakietów w sieciach IP. Jego możliwości to analiza protokołu oraz +zawartości w poszukiwaniu różnego rodzaju ataków lub prób takich jak +przepełnienia bufora, skanowanie portów typu stealth, ataki CGI, +próbkowanie SMB, OS fingerprinting i dużo więcej. Snort używa +elastycznego języka regułek do opisu ruchu, który należy +przeanalizować jak również silnika wykrywającego, wykorzystującego +modułową architekturę. Snort umożliwia alarmowanie w czasie +rzeczywistym poprzez sysloga, osobny plik lub jako wiadomość WinPopup poprzez klienta Samby: smbclient. -Regu³y certyfikowane poprzez Sourcefire wymagaj± rejestracji. +Reguły certyfikowane poprzez Sourcefire wymagają rejestracji. https://www.snort.org/pub-bin/register.cgi -%description -l pt_BR -Snort é um sniffer baseado em libpcap que pode ser usado como um -pequeno sistema de detecção de intrusos. Tem como característica o -registro de pacotes baseado em regras e também pode executar uma -análise do protocolo, pesquisa de padrões e detectar uma variedade de +%description -l pt_BR.UTF-8 +Snort é um sniffer baseado em libpcap que pode ser usado como um +pequeno sistema de detecção de intrusos. Tem como característica o +registro de pacotes baseado em regras e também pode executar uma +análise do protocolo, pesquisa de padrões e detectar uma variedade de assinaturas de ataques, como estouros de buffer, varreduras "stealth" de portas, ataques CGI, pesquisas SMB, tentativas de descobrir o sistema operacional e muito mais. Possui um sistema de alerta em tempo real, com alertas enviados para o syslog, um arquivo de alertas em separado ou como uma mensagem Winpopup. -%description -l ru -Snort - ÜÔÏ ÓÎÉÆÆÅÒ ÐÁËÅÔÏ×, ËÏÔÏÒÙÊ ÍÏÖÅÔ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ËÁË ÓÉÓÔÅÍÁ -ÏÂÎÁÒÕÖÅÎÉÑ ÐÏÐÙÔÏË ×ÔÏÒÖÅÎÉÑ × ÓÅÔØ. Snort ÐÏÄÄÅÒÖÉ×ÁÅÔ -ÐÒÏÔÏËÏÌÉÒÏ×ÁÎÉÅ ÐÁËÅÔÏ× ÎÁ ÏÓÎÏ×Å ÐÒÁ×ÉÌ, ÍÏÖÅÔ ×ÙÐÏÌÎÑÔØ ÁÎÁÌÉÚ -ÐÒÏÔÏËÏÌÏ×, ÐÏÉÓË × ÓÏÄÅÒÖÉÍÏÍ ÐÁËÅÔÏ×. íÏÖÅÔ ÔÁËÖÅ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ -ÏÂÎÁÒÕÖÅÎÉÑ ÁÔÁË É "ÒÁÚ×ÅÄÏË", ÔÁËÉÈ ËÁË ÐÏÐÙÔËÉ ÁÔÁË ÔÉÐÁ -"ÐÅÒÅÐÏÌÎÅÎÉÅ ÂÕÆÅÒÁ", ÓËÒÙÔÏÇÏ ÓËÁÎÉÒÏ×ÁÎÉÑ ÐÏÒÔÏ×, CGI ÁÔÁË, SMB -ÒÁÚ×ÅÄÏË, ÐÏÐÙÔÏË ÏÂÎÁÒÕÖÅÎÉÑ ÔÉÐÁ ïó É ÍÎÏÇÏ ÄÒÕÇÏÇÏ. Snort ÍÏÖÅÔ -ÉÎÆÏÒÍÉÒÏ×ÁÔØ Ï ÓÏÂÙÔÉÑÈ × ÒÅÁÌØÎÏÍ ×ÒÅÍÅÎÉ, ÐÏÓÙÌÁÑ ÓÏÏÂÝÅÎÉÑ × -syslog, ÏÔÄÅÌØÎÙÊ ÆÁÊÌ ÉÌÉ ËÁË WinPopup ÓÏÏÂÝÅÎÉÑ ÞÅÒÅÚ smbclient. - -%description -l uk -Snort - ÃÅ ÓΦÆÅÒ ÐÁËÅÔ¦×, ÝÏ ÍÏÖÅ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉÓØ ÑË ÓÉÓÔÅÍÁ -×ÉÑ×ÌÅÎÎÑ ÓÐÒÏ ×ÔÏÒÇÎÅÎØ × ÍÅÒÅÖÕ. Snort ЦÄÔÒÉÍÕ¤ ÐÒÏÔÏËÏÌÀ×ÁÎÎÑ -ÐÁËÅÔ¦× ÎÁ ÏÓÎÏצ ÐÒÁ×ÉÌ, ÍÏÖÅ ×ÉËÏÎÕ×ÁÔÉ ÁÎÁÌ¦Ú ÐÒÏÔÏËÏ̦×, ÐÏÛÕË Õ -×ͦÓÔ¦ ÐÁËÅÔ¦×. íÏÖÅ ÔÁËÏÖ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉÓØ ÄÌÑ ×ÉÑ×ÌÅÎÎÑ ÁÔÁË ÔÁ -"ÒÏÚצÄÏË", ÔÁËÉÈ ÑË ÓÐÒÏÂÉ ÁÔÁË ÔÉÐÕ "ÐÅÒÅÐÏ×ÎÅÎÎÑ ÂÕÆÅÒÁ", -ÐÒÉÈÏ×ÁÎÏÇÏ ÓËÁÎÕ×ÁÎÎÑ ÐÏÒÔ¦×, CGI ÁÔÁË, SMB ÒÏÚצÄÏË, ÓÐÒÏ ×ÉÑ×ÌÅÎÎÑ -ÔÉÐÕ ïó ÔÁ ÂÁÇÁÔÏ ¦ÎÛÏÇÏ. Snort ÍÏÖÅ ¦ÎÆÏÒÍÕ×ÁÔÉ ÐÒÏ ÐÏĦ§ × ÒÅÁÌØÎÏÍÕ -ÞÁÓ¦, ÎÁÄÓÉÌÁÀÞÉ ÐÏצÄÏÍÌÅÎÎÑ ÄÏ syslog, ÏËÒÅÍÏÇÏ ÆÁÊÌÕ ÞÉ ÑË WinPopup -ÐÏצÄÏÍÌÅÎÎÑ ÞÅÒÅÚ smbclient. +%description -l ru.UTF-8 +Snort - это сниффер пакетов, который может использоваться как система +обнаружения попыток вторжения в сеть. Snort поддерживает +протоколирование пакетов на основе правил, может выполнять анализ +протоколов, поиск в содержимом пакетов. Может также использоваться для +обнаружения атак и "разведок", таких как попытки атак типа +"переполнение буфера", скрытого сканирования портов, CGI атак, SMB +разведок, попыток обнаружения типа ОС и много другого. Snort может +информировать о событиях в реальном времени, посылая сообщения в +syslog, отдельный файл или как WinPopup сообщения через smbclient. + +%description -l uk.UTF-8 +Snort - це сніфер пакетів, що може використовуватись як система +виявлення спроб вторгнень в мережу. Snort підтримує протоколювання +пакетів на основі правил, може виконувати аналіз протоколів, пошук у +вмісті пакетів. Може також використовуватись для виявлення атак та +"розвідок", таких як спроби атак типу "переповнення буфера", +прихованого сканування портів, CGI атак, SMB розвідок, спроб виявлення +типу ОС та багато іншого. Snort може інформувати про події в реальному +часі, надсилаючи повідомлення до syslog, окремого файлу чи як WinPopup +повідомлення через smbclient. %prep -%setup -q -a1 +%setup -q %{!?with_registered:-a1} %{?with_registered:-a2} -a3 %patch0 -p1 -%if "%{_libdir}" == "%{_prefix}/lib64" -%patch1 -%endif +%patch1 -p1 + +sed -i "s#var\ RULE_PATH.*#var RULE_PATH /etc/snort/rules#g" rules/snort.conf +_DIR=$(pwd) +cd rules +for I in community-*.rules; do + echo "include \$RULE_PATH/$I" >> snort.conf +done +cd $_DIR %build -%{__aclocal} +export CFLAGS="%{rpmcflags} -I/usr/include/tirpc" +%{__libtoolize} +%{__aclocal} -I m4 %{__autoconf} %{__automake} # we don't need libnsl, so don't use it %configure \ no_libnsl=yes \ - --enable-smbalerts \ - --enable-flexresp \ - %{?with_inline:--enable-inline } \ - %{?with_inline:--with-libipq-includes=/usr/include/libipq} \ - --with-libnet-includes=/usr/include/libnet1 \ - --with%{!?with_snmp:out}-snmp \ - --without-odbc \ - --with%{!?with_pgsql:out}-postgresql \ - --with%{!?with_mysql:out}-mysql + --enable-pthread \ + --enable-so-with-static-lib \ + --enable-control-socket \ + --enable-side-channel \ + --enable-build-dynamic-examples %{__make} +%{__make} -C src/dynamic-plugins/sf_engine/examples %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,%{name},cron.daily,logrotate.d} \ - $RPM_BUILD_ROOT%{_var}/log/{%{name},archiv/%{name}} \ +install -d $RPM_BUILD_ROOT%{_initrddir} \ + $RPM_BUILD_ROOT%{_sysconfdir}/{%{name},cron.daily,logrotate.d} \ + $RPM_BUILD_ROOT%{_var}/log/{%{name},archive/%{name}} \ $RPM_BUILD_ROOT%{_datadir}/mibs/site \ - $RPM_BUILD_ROOT%{_sysconfdir}/rules + $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/rules %{__make} install \ DESTDIR=$RPM_BUILD_ROOT -install rules/*.config $RPM_BUILD_ROOT%{_sysconfdir} -install etc/unicode.map $RPM_BUILD_ROOT%{_sysconfdir} -install rules/*.rules $RPM_BUILD_ROOT%{_sysconfdir}/rules -install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} -install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/%{name} -install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir} +install rules/*.config $RPM_BUILD_ROOT%{_sysconfdir}/%{name} +install etc/unicode.map $RPM_BUILD_ROOT%{_sysconfdir}/%{name} +install rules/*.rules $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/rules +install %{SOURCE4} $RPM_BUILD_ROOT%{_initrddir}/%{name} +install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name} +install rules/snort.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name} %clean rm -rf $RPM_BUILD_ROOT %pre -if [ -n "`/usr/bin/getgid snort`" ]; then - if [ "`/usr/bin/getgid snort`" != "46" ]; then - echo "Error: group snort doesn't have gid=46. Correct this before installing %{name}." 1>&2 - exit 1 - fi -else - /usr/sbin/groupadd -g 46 -r snort 1>&2 -fi -if [ -n "`/bin/id -u snort 2>/dev/null`" ]; then - if [ "`/bin/id -u snort`" != "46" ]; then - echo "Error: user snort doesn't have uid=46. Correct this before installing %{name}." 1>&2 - exit 1 - fi -else - /usr/sbin/useradd -u 46 -g snort -M -r -d %{_var}/log/snort \ - -s /bin/false -c "SNORT" snort 1>&2 -fi +%groupadd -g 46 -r snort +%useradd -u 46 -g snort -M -r -d %{_var}/log/snort -s /bin/false -c "SNORT IDS/IPS" snort %post -if [ "$1" = "1" ] ; then - /sbin/chkconfig --add snort -fi -if [ -f /var/lock/subsys/snort ]; then - /etc/rc.d/init.d/snort restart 1>&2 -else - echo "Run \"/etc/rc.d/init.d/snort start\" to start Snort daemon." -fi - +/sbin/chkconfig --add snort +%service snort restart %preun if [ "$1" = "0" ] ; then - if [ -f /var/lock/subsys/snort ]; then - /etc/rc.d/init.d/snort stop 1>&2 - fi + %service snort stop /sbin/chkconfig --del snort fi @@ -213,16 +203,22 @@ fi %files %defattr(644,root,root,755) -%doc doc/{AUTHORS,BUGS,CREDITS,NEWS,PROBLEMS,README*,RULES.todo,TODO,USAGE,WISHLIST,*.pdf} +%doc doc/{AUTHORS,BUGS,CREDITS,INSTALL,NEWS,PROBLEMS,README*,TODO,USAGE,WISHLIST,generators,*.pdf} %attr(755,root,root) %{_sbindir}/* -%attr(770,root,snort) %dir %{_var}/log/snort -%attr(770,root,snort) %dir %{_var}/log/archiv/%{name} -%attr(750,root,snort) %dir %{_sysconfdir} -%attr(640,root,snort) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/unicode.map -%attr(640,root,snort) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.config -%attr(640,root,snort) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/snort.conf -%attr(750,root,snort) %dir %{_sysconfdir}/rules -%attr(640,root,snort) %{_sysconfdir}/rules/* -%attr(754,root,root) /etc/rc.d/init.d/%{name} +%attr(770,root,snort) %dir %{_var}/log/%{name} +%attr(770,root,snort) %dir %{_var}/log/archive/%{name} +%attr(750,root,snort) %dir %{_sysconfdir}/%{name} +%attr(640,root,snort) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/unicode.map +%attr(640,root,snort) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.config +%attr(640,root,snort) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf +%attr(750,root,snort) %dir %{_sysconfdir}/%{name}/rules +%attr(640,root,snort) %{_sysconfdir}/%{name}/rules/* +%attr(754,root,root) %{_initrddir}/%{name} %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/* %{_mandir}/man?/* +%dir %{_libdir}/snort_dynamicengine +%dir %{_libdir}/snort_dynamicpreprocessor +%dir %{_libdir}/snort_dynamicrules +%attr(755,root,root) %{_libdir}/snort_dynamicengine/libsf_engine.so* +%attr(755,root,root) %{_libdir}/snort_dynamicpreprocessor/*.so* +%attr(755,root,root) %{_libdir}/snort_dynamicrules/lib_sfdynamic_example_rule.so*