b6c2a20a8bea3c878f7a9ca5892729c3368ad354
[psad.git] / packaging / psad.spec
1 %define name psad
2 %define version 2.2
3 %define release 1
4 %define psadlibdir %_libdir/%name
5 %define psadlogdir /var/log/psad
6 %define psadrundir /var/run/psad
7 %define psadvarlibdir /var/lib/psad
8
9 ### get the first @INC directory that includes the string "linux".
10 ### This may be 'i386-linux', or 'i686-linux-thread-multi', etc.
11 %define psadmoddir `perl -e '$path=q|i386-linux|; for (@INC) { if($_ =~ m|.*/(.*linux.*)|) {$path = $1; last; }} print $path'`
12
13 Summary: psad analyzes iptables log messages for suspect traffic
14 Name: %name
15 Version: %version
16 Release: %release
17 License: GPL
18 Group: Applications/Internet
19 URL: http://www.cipherdyne.org/psad/
20 Source: %name-%version.tar.gz
21 BuildRoot: %_tmppath/%{name}-buildroot
22 Requires: iptables
23 #Prereq: rpm-helper
24
25 %description
26 Port Scan Attack Detector (psad) is a collection of three lightweight
27 system daemons written in Perl and in C that are designed to work with Linux
28 iptables firewalling code to detect port scans and other suspect traffic.  It
29 features a set of highly configurable danger thresholds (with sensible
30 defaults provided), verbose alert messages that include the source,
31 destination, scanned port range, begin and end times, tcp flags and
32 corresponding nmap options, reverse DNS info, email and syslog alerting,
33 automatic blocking of offending ip addresses via dynamic configuration of
34 iptables rulesets, and passive operating system fingerprinting.  In addition,
35 psad incorporates many of the tcp, udp, and icmp signatures included in the
36 snort intrusion detection system (http://www.snort.org) to detect highly
37 suspect scans for various backdoor programs (e.g. EvilFTP, GirlFriend,
38 SubSeven), DDoS tools (mstream, shaft), and advanced port scans (syn, fin,
39 xmas) which are easily leveraged against a machine via nmap.  psad can also
40 alert on snort signatures that are logged via fwsnort
41 (http://www.cipherdyne.org/fwsnort/), which makes use of the
42 iptables string match module to detect application layer signatures.
43
44
45 %prep
46 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
47
48 %setup -q
49
50 cd deps
51 cd IPTables-Parse && perl Makefile.PL PREFIX=%psadlibdir LIB=%psadlibdir
52 cd ..
53 cd IPTables-ChainMgr && perl Makefile.PL PREFIX=%psadlibdir LIB=%psadlibdir
54 cd ..
55 cd Bit-Vector && perl Makefile.PL PREFIX=%psadlibdir LIB=%psadlibdir
56 cd ..
57 cd NetAddr-IP && perl Makefile.PL PREFIX=%psadlibdir LIB=%psadlibdir
58 cd ..
59 cd Unix-Syslog && perl Makefile.PL PREFIX=%psadlibdir LIB=%psadlibdir
60 cd ..
61 cd Date-Calc && perl Makefile.PL PREFIX=%psadlibdir LIB=%psadlibdir
62 cd ../..
63
64 %build
65 ### build psad binaries (kmsgsd and psadwatchd)
66 make OPTS="$RPM_OPT_FLAGS"
67
68 ### build the whois client
69 make OPTS="$RPM_OPT_FLAGS" -C deps/whois
70
71 cd deps
72 ### build perl modules used by psad
73 make OPTS="$RPM_OPT_FLAGS" -C IPTables-Parse
74 make OPTS="$RPM_OPT_FLAGS" -C IPTables-ChainMgr
75 make OPTS="$RPM_OPT_FLAGS" -C Bit-Vector
76 make OPTS="$RPM_OPT_FLAGS" -C NetAddr-IP
77 make OPTS="$RPM_OPT_FLAGS" -C Unix-Syslog
78 make OPTS="$RPM_OPT_FLAGS" -C Date-Calc
79 cd ..
80
81 %install
82 ### config directory
83 ### log directory
84 mkdir -p $RPM_BUILD_ROOT%psadlogdir
85 ### dir for psadfifo
86 mkdir -p $RPM_BUILD_ROOT%psadvarlibdir
87 ### dir for pidfiles
88 mkdir -p $RPM_BUILD_ROOT%psadrundir
89
90 ### psad module dirs
91 mkdir -p $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/Bit/Vector
92 mkdir -p $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Bit
93 mkdir -p $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/Unix/Syslog
94 mkdir -p $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/Date/Calc
95 mkdir -p $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/Util
96 mkdir -p $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP
97 mkdir -p $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/InetBase
98 mkdir -p $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/NetAddr/IP
99 mkdir -p $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/IPTables/Parse
100 mkdir -p $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/IPTables/ChainMgr
101 mkdir -p $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Unix
102 mkdir -p $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Carp
103 mkdir -p $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Date/Calc
104 mkdir -p $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Date/Calendar
105 mkdir -p $RPM_BUILD_ROOT%psadlibdir/IPTables
106
107 ### whois_psad binary
108 mkdir -p $RPM_BUILD_ROOT%_bindir
109 mkdir -p $RPM_BUILD_ROOT%{_mandir}/man8
110 mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
111 mkdir -p $RPM_BUILD_ROOT%_sbindir
112 ### psad config
113 mkdir -p $RPM_BUILD_ROOT%_sysconfdir/%name
114 ### psad init script
115 mkdir -p $RPM_BUILD_ROOT%_initrddir
116
117 ### the 700 permissions mode is fixed in the
118 install -m 700 psad $RPM_BUILD_ROOT%_sbindir/
119 install -m 700 kmsgsd $RPM_BUILD_ROOT%_sbindir/
120 install -m 700 psadwatchd $RPM_BUILD_ROOT%_sbindir/
121 install -m 500 fwcheck_psad.pl $RPM_BUILD_ROOT%_sbindir/fwcheck_psad
122 install -m 755 deps/whois/whois $RPM_BUILD_ROOT/usr/bin/whois_psad
123 install -m 755 nf2csv $RPM_BUILD_ROOT/usr/bin/nf2csv
124 install -m 755 init-scripts/psad-init.redhat $RPM_BUILD_ROOT%_initrddir/psad
125 install -m 644 psad.conf $RPM_BUILD_ROOT%_sysconfdir/%name/
126 install -m 644 signatures $RPM_BUILD_ROOT%_sysconfdir/%name/
127 install -m 644 icmp_types $RPM_BUILD_ROOT%_sysconfdir/%name/
128 install -m 644 icmp6_types $RPM_BUILD_ROOT%_sysconfdir/%name/
129 install -m 644 ip_options $RPM_BUILD_ROOT%_sysconfdir/%name/
130 install -m 644 auto_dl $RPM_BUILD_ROOT%_sysconfdir/%name/
131 install -m 644 snort_rule_dl $RPM_BUILD_ROOT%_sysconfdir/%name/
132 install -m 644 pf.os $RPM_BUILD_ROOT%_sysconfdir/%name/
133 install -m 644 posf $RPM_BUILD_ROOT%_sysconfdir/%name/
134 install -m 644 *.8 $RPM_BUILD_ROOT%{_mandir}/man8/
135 install -m 644 nf2csv.1 $RPM_BUILD_ROOT%{_mandir}/man1/
136
137 ### install perl modules used by psad
138 cd deps
139 install -m 555 Bit-Vector/blib/arch/auto/Bit/Vector/Vector.so $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/Bit/Vector/Vector.so
140 install -m 444 Bit-Vector/blib/arch/auto/Bit/Vector/Vector.bs $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/Bit/Vector/Vector.bs
141 install -m 444 Bit-Vector/blib/lib/Bit/Vector.pm $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Bit/Vector.pm
142 install -m 555 Unix-Syslog/blib/arch/auto/Unix/Syslog/Syslog.so $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/Unix/Syslog/Syslog.so
143 install -m 444 Unix-Syslog/blib/arch/auto/Unix/Syslog/Syslog.bs $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/Unix/Syslog/Syslog.bs
144 [ -e Unix-Syslog/blib/lib/auto/Unix/Syslog/autosplit.ix ] && install -m 444 Unix-Syslog/blib/lib/auto/Unix/Syslog/autosplit.ix $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/Unix/Syslog/autosplit.ix
145 install -m 444 Unix-Syslog/blib/lib/Unix/Syslog.pm $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Unix/Syslog.pm
146 install -m 555 Date-Calc/blib/arch/auto/Date/Calc/Calc.so $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/Date/Calc/Calc.so
147 install -m 444 Date-Calc/blib/arch/auto/Date/Calc/Calc.bs $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/Date/Calc/Calc.bs
148 install -m 444 Date-Calc/blib/lib/Carp/Clan.pod $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Carp/Clan.pod
149 install -m 444 Date-Calc/blib/lib/Carp/Clan.pm $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Carp/Clan.pm
150 install -m 444 Date-Calc/blib/lib/Date/Calc.pm $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Date/Calc.pm
151 install -m 444 Date-Calc/blib/lib/Date/Calc.pod $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Date/Calc.pod
152 install -m 444 Date-Calc/blib/lib/Date/Calendar.pm $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Date/Calendar.pm
153 install -m 444 Date-Calc/blib/lib/Date/Calendar.pod $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Date/Calendar.pod
154 install -m 444 Date-Calc/blib/lib/Date/Calc/Object.pm $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Date/Calc/Object.pm
155 install -m 444 Date-Calc/blib/lib/Date/Calc/Object.pod $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Date/Calc/Object.pod
156 install -m 444 Date-Calc/blib/lib/Date/Calendar/Year.pm $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Date/Calendar/Year.pm
157 install -m 444 Date-Calc/blib/lib/Date/Calendar/Profiles.pod $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Date/Calendar/Profiles.pod
158 install -m 444 Date-Calc/blib/lib/Date/Calendar/Profiles.pm $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Date/Calendar/Profiles.pm
159 install -m 444 Date-Calc/blib/lib/Date/Calendar/Year.pod $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/Date/Calendar/Year.pod
160 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/hostenum.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/hostenum.al
161 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/compactref.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/compactref.al
162 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/nprefix.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/nprefix.al
163 [ -e NetAddr-IP/blib/lib/auto/NetAddr/IP/.packlist ] && install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/.packlist $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/.packlist
164 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/re.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/re.al
165 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/prefix.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/prefix.al
166 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/do_prefix.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/do_prefix.al
167 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/wildcard.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/wildcard.al
168 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/_compact_v6.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/_compact_v6.al
169 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/autosplit.ix $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/autosplit.ix
170 [ -e NetAddr-IP/blib/lib/auto/NetAddr/IP/Util/Util.so ] && install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/Util/Util.so $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/Util/Util.so
171 [ -e NetAddr-IP/blib/lib/auto/NetAddr/IP/Util/Util.bs ] && install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/Util/Util.bs $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/Util/Util.bs
172 [ -e NetAddr-IP/blib/lib/auto/NetAddr/IP/Util/autosplit.ix ] && install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/Util/autosplit.ix $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/Util/autosplit.ix
173 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/shiftleft.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/shiftleft.al
174 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/ipv4to6.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/ipv4to6.al
175 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/maskanyto6.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/maskanyto6.al
176 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/comp128.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/comp128.al
177 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/_deadlen.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/_deadlen.al
178 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/sub128.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/sub128.al
179 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/notcontiguous.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/notcontiguous.al
180 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/bcdn2bin.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/bcdn2bin.al
181 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/add128.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/add128.al
182 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/ipv6to4.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/ipv6to4.al
183 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/_bcdcheck.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/_bcdcheck.al
184 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/mask4to6.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/mask4to6.al
185 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/_128x2.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/_128x2.al
186 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/ipanyto6.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/ipanyto6.al
187 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/hasbits.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/hasbits.al
188 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/bcdn2txt.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/bcdn2txt.al
189 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/slowadd128.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/slowadd128.al
190 [ -e NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/autosplit.ix ] && install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/autosplit.ix $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/autosplit.ix
191 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/simple_pack.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/simple_pack.al
192 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/bcd2bin.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/bcd2bin.al
193 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/bin2bcdn.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/bin2bcdn.al
194 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/_bin2bcdn.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/_bin2bcdn.al
195 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/bin2bcd.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/bin2bcd.al
196 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/_sa128.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/_sa128.al
197 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/_bcd2bin.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/_bcd2bin.al
198 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/addconst.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/addconst.al
199 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/UtilPP/_128x10.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/UtilPP/_128x10.al
200 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/mod_version.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/mod_version.al
201 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/_splitref.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/_splitref.al
202 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/_compV6.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/_compV6.al
203 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/InetBase/inet_any2n.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/InetBase/inet_any2n.al
204 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/InetBase/_inet_ntop.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/InetBase/_inet_ntop.al
205 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/InetBase/inet_n2ad.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/InetBase/inet_n2ad.al
206 [ -e NetAddr-IP/blib/lib/auto/NetAddr/IP/InetBase/autosplit.ix ] && install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/InetBase/autosplit.ix $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/InetBase/autosplit.ix
207 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/InetBase/_packzeros.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/InetBase/_packzeros.al
208 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/InetBase/inet_n2dx.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/InetBase/inet_n2dx.al
209 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/InetBase/ipv6_aton.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/InetBase/ipv6_aton.al
210 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/InetBase/ipv6_ntoa.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/InetBase/ipv6_ntoa.al
211 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/InetBase/inet_ntoa.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/InetBase/inet_ntoa.al
212 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/InetBase/_inet_pton.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/InetBase/_inet_pton.al
213 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/coalesce.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/coalesce.al
214 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/re6.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/re6.al
215 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/short.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/short.al
216 install -m 444 NetAddr-IP/blib/lib/auto/NetAddr/IP/_splitplan.al $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/auto/NetAddr/IP/_splitplan.al
217 install -m 444 NetAddr-IP/blib/lib/NetAddr/IP/InetBase.pm $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/NetAddr/IP/InetBase.pm
218 install -m 444 NetAddr-IP/blib/lib/NetAddr/IP/UtilPP.pm $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/NetAddr/IP/UtilPP.pm
219 install -m 444 NetAddr-IP/blib/lib/NetAddr/IP/Util.pm $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/NetAddr/IP/Util.pm
220 install -m 444 NetAddr-IP/blib/lib/NetAddr/IP/Lite.pm $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/NetAddr/IP/Lite.pm
221 install -m 444 NetAddr-IP/blib/lib/NetAddr/IP/Util_IS.pm $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/NetAddr/IP/Util_IS.pm
222 install -m 444 NetAddr-IP/blib/lib/NetAddr/IP.pm $RPM_BUILD_ROOT%psadlibdir/%psadmoddir/NetAddr/IP.pm
223 install -m 444 IPTables-Parse/blib/lib/IPTables/Parse.pm $RPM_BUILD_ROOT%psadlibdir/IPTables/Parse.pm
224 install -m 444 IPTables-ChainMgr/blib/lib/IPTables/ChainMgr.pm $RPM_BUILD_ROOT%psadlibdir/IPTables/ChainMgr.pm
225 cd ..
226
227 ### install snort rules files
228 cp -r deps/snort_rules $RPM_BUILD_ROOT%_sysconfdir/%name
229
230 %clean
231 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
232
233 %pre
234 #if [ ! -p /var/lib/psad/psadfifo ];
235 #then [ -e /var/lib/psad/psadfifo ] && /bin/rm -f /var/lib/psad/psadfifo
236 #fi
237 #/bin/mknod -m 600 /var/lib/psad/psadfifo p
238 #chown root.root /var/lib/psad/psadfifo
239 #chmod 0600 /var/lib/psad/psadfifo
240
241 %post
242 ### put the current hostname into the psad C binaries
243 ### (kmsgsd and psadwatchd).
244 perl -p -i -e 'use Sys::Hostname; my $hostname = hostname(); s/HOSTNAME(\s+)_?CHANGE.?ME_?/HOSTNAME${1}$hostname/' %_sysconfdir/%name/psad.conf
245 perl -p -i -e 'use Sys::Hostname; my $hostname = hostname(); s/HOSTNAME(\s+)_?CHANGE.?ME_?/HOSTNAME${1}$hostname/' %_sysconfdir/%name/psadwatchd.conf
246
247 /bin/touch %psadlogdir/fwdata
248 chown root.root %psadlogdir/fwdata
249 chmod 0500 %_sbindir/psad
250 chmod 0500 %_sbindir/kmsgsd
251 chmod 0500 %_sbindir/psadwatchd
252 chmod 0600 %psadlogdir/fwdata
253 if [ ! -p %psadvarlibdir/psadfifo ];
254 then [ -e %psadvarlibdir/psadfifo ] && /bin/rm -f %psadvarlibdir/psadfifo
255 /bin/mknod -m 600 %psadvarlibdir/psadfifo p
256 fi
257 chown root.root %psadvarlibdir/psadfifo
258 chmod 0600 %psadvarlibdir/psadfifo
259 ### make psad start at boot
260 /sbin/chkconfig --add psad
261 if grep -q "EMAIL.*root.*localhost" /etc/psad/psad.conf;
262 then
263 echo "[+] You can edit the EMAIL_ADDRESSES variable in /etc/psad/psad.conf"
264 echo "    /etc/psad/psadwatchd.conf to have email alerts sent to an address"
265 echo "    other than root\@localhost"
266 fi
267
268 if grep -q "HOME_NET.*CHANGEME" /etc/psad/psad.conf;
269 then
270 echo "[+] Be sure to edit the HOME_NET variable in /etc/psad/psad.conf"
271 echo "    to define the internal network(s) attached to your machine."
272 fi
273
274 %preun
275
276 %files
277 %defattr(-,root,root)
278 %dir %psadlogdir
279 %dir %psadvarlibdir
280 %dir %psadrundir
281 %_initrddir/*
282 %_sbindir/*
283 %_bindir/*
284 %{_mandir}/man8/*
285 %{_mandir}/man1/*
286
287 %dir %_sysconfdir/%name
288 %config(noreplace) %_sysconfdir/%name/*.conf
289 %config(noreplace) %_sysconfdir/%name/signatures
290 %config(noreplace) %_sysconfdir/%name/auto_dl
291 %config(noreplace) %_sysconfdir/%name/ip_options
292 %config(noreplace) %_sysconfdir/%name/snort_rule_dl
293 %config(noreplace) %_sysconfdir/%name/posf
294 %config(noreplace) %_sysconfdir/%name/pf.os
295 %config(noreplace) %_sysconfdir/%name/icmp_types
296 %config(noreplace) %_sysconfdir/%name/icmp6_types
297
298 %dir %_sysconfdir/%name/snort_rules
299 %config(noreplace) %_sysconfdir/%name/snort_rules/*
300
301 %_libdir/%name
302
303 %changelog
304 * Wed Apr 18 2012 Michael Rash <mbr@cipherdyne.org>
305 - Update to use the NetAddr::IP module for all IP/subnet calculations
306 - psad-2.2 release
307
308 * Wed Jul 14 2010 Michael Rash <mbr@cipherdyne.org>
309 - psad-2.1.7 release
310
311 * Fri Jul 09 2010 Michael Rash <mbr@cipherdyne.org>
312 - psad-2.1.6 release
313
314 * Fri Feb 20 2009 Michael Rash <mbr@cipherdyne.org>
315 - psad-2.1.5 release
316
317 * Thu Aug 21 2008 Michael Rash <mbr@cipherdyne.org>
318 - Updated to use the deps/ directory for all perl module sources.
319 - psad-2.1.4 release
320
321 * Sat Jun 07 2008 Michael Rash <mbr@cipherdyne.org>
322 - psad-2.1.3 release
323
324 * Thu Apr 03 2008 Michael Rash <mbr@cipherdyne.org>
325 - psad-2.1.2 release
326
327 * Fri Jan 25 2008 Michael Rash <mbr@cipherdyne.org>
328 - psad-2.1.1 release
329
330 * Fri Oct 19 2007 Michael Rash <mbr@cipherdyne.org>
331 - psad-2.1 release
332
333 * Mon Jul 27 2007 Michael Rash <mbr@cipherdyne.org>
334 - psad-2.0.8 release
335
336 * Mon May 28 2007 Michael Rash <mbr@cipherdyne.org>
337 - psad-2.0.7 release
338
339 * Fri Mar 24 2007 Michael Rash <mbr@cipherdyne.org>
340 - psad-2.0.6 release
341
342 * Thu Mar 01 2007 Michael Rash <mbr@cipherdyne.org>
343 - psad-2.0.5 release
344 - Removed all config files except for psad.conf since the psad daemons now all
345   reference the same config file (psad.conf).
346
347 * Sat Jan 27 2007 Michael Rash <mbr@cipherdyne.org>
348 - psad-2.0.4 release
349
350 * Sun Dec 31 2006 Michael Rash <mbr@cipherdyne.org>
351 - psad-2.0.3 release
352 - Removed Psad.pm perl module and kmsgsd.pl and psadwatchd.pl scripts.  This
353   is a major change that allows psad to be more flexible and completely derive
354   its config from the psad.conf file and from the command line.  In the
355   previous scheme, psad imported its config with a function within Psad.pm,
356   and this required that psad imported the Psad perl module before reading its
357   config.  A consequence is that the PSAD_LIBS_DIR var could not be specified
358   usefully within the config file.
359
360 * Sat Dec 23 2006 Michael Rash <mbr@cipherdyne.org>
361 - psad-2.0.2 release
362
363 * Mon Dec 12 2006 Michael Rash <mbr@cipherdyne.org>
364 - psad-2.0.1 release
365
366 * Sun Dec 10 2006 Michael Rash <mbr@cipherdyne.org>
367 - psad-2.0 release.
368 - Added ip_options file for the Snort ipopts rule keyword.
369 - Added nf2csv so that normal users can get CSV output from
370   iptables log messages.
371
372 * Sun Oct 15 2006 Michael Rash <mbr@cipherdyne.org>
373 - psad-1.4.8 release.
374
375 * Sun Sep 10 2006 Michael Rash <mbr@cipherdyne.org>
376 - psad-1.4.7 release.
377
378 * Sat Sep 02 2006 Michael Rash <mbr@cipherdyne.org>
379 - Added updates from Mate Wierdl to get psad RPM building on x86_64
380   platforms.
381
382 * Tue Jun 13 2006 Michael Rash <mbr@cipherdyne.org>
383 - Added installation of snort_rule_dl file.
384 - psad-1.4.6 release.
385
386 * Fri Jan 13 2006 Michael Rash <mbr@cipherdyne.org>
387 - psad-1.4.5 release.
388
389 * Sun Nov 27 2005 Michael Rash <mbr@cipherdyne.org>
390 - psad-1.4.4 release.
391
392 * Tue Nov 22 2005 Michael Rash <mbr@cipherdyne.org>
393 - Removed smtpdaemon dependency since psad can be run without sending
394   email alerts by configuring /etc/psad/alert.conf appropriately.
395
396 * Tue Jul 12 2005 Michael Rash <mbr@cipherdyne.org>
397 - Updated to only update syslog.conf if it actually exists. psad
398   is now comptable with other syslog daemons, and also with ulogd.
399
400 * Thu Mar 10 2005 Michael Rash <mbr@cipherdyne.org>
401 - Updated to new IPTables-Parse and IPTables-ChainMgr modules.
402 - psad-1.4.1 release.
403
404 * Fri Nov 26 2004 Michael Rash <mbr@cipherdyne.org>
405 - Added ps.os file.
406 - psad-1.4.0 release.
407
408 * Sun Oct 17 2004 Michael Rash <mbr@cipherdyne.org>
409 - psad-1.3.4 release.
410
411 * Sat Sep 25 2004 Michael Rash <mbr@cipherdyne.org>
412 - Added Bit::Vector back since not having it causes dependency
413   problems with Date::Calc even though psad does not require any
414   Date::Calc functions that require Bit::Vector functions.
415
416 * Mon Sep 06 2004 Michael Rash <mbr@cipherdyne.org>
417 - Updated to psad-1.3.3.
418 - Fixed path to psad-init.redhat (Mate Wierdl)
419
420 * Thu Jun 24 2004 Michael Rash <mbr@cipherdyne.org>
421 - Updated to psad-1.3.2 (added fwcheck_psad.pl and fw_search.conf
422   installation).
423
424 * Mon Oct 14 2003 Michael Rash <mbr@cipherdyne.org>
425 - Removed ipchains text from description.
426 - Added test and config warning message for HOME_NET variable.
427 - Updated to version 1.3
428
429 * Mon Oct 14 2003 Michael Rash <mbr@cipherdyne.org>
430 - Removed diskmond since psad handles disk space thresholds
431   directly.
432
433 * Sat Oct 11 2003 Michael Rash <mbr@cipherdyne.org>
434 - Updated spec file to build properly on both Red Hat 7.2 and
435   Red Hat 9 systems.
436
437 * Tue Sep 23 2003 Lenny Cartier <lenny@mandrakesoft.com> 1.2.3-1mdk
438 - mandrakized specfile
439
440 * Fri Sep 12 2003 Michael Rash <mbr@cipherdyne.org>
441 - Added interface tracking for scans.
442 - Bugfix for not opening /etc/hosts.deny the right way in
443   tcpwr_block().
444 - Bugfix for psadfifo path in syslog-ng config.
445 - Better format for summary stats section in email alerts.
446 - Bugfix for INIT_DIR path on non-RedHat systems.
447 - Bugfix for gzip path.
448 - Make Psad.pm installed last of all perl modules installed
449   by psad.
450 - Added additional call to incr_syscall_ctr() in psadwatchd.c
451
452 * Mon Jul 28 2003 Michael Rash <mbr@cipherdyne.org>
453 - Initial version.