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