| 1 |
psad-1.4.2 (03//2005): |
|---|
| 2 |
- Dependency bugfixes for mail binary. |
|---|
| 3 |
- Bugfix for various IGNORE_* keywords not being honored. |
|---|
| 4 |
- Bugfix for not timing out blocked IP addresses from a previous run. |
|---|
| 5 |
- Updated to version 0.2 of the IPTables::ChainMgr module. |
|---|
| 6 |
- Updated to not truncate the fwdata file upon psad startup. |
|---|
| 7 |
- Added --fw-dump which produces a sanitized (i.e. no IP addresses) |
|---|
| 8 |
version of the local Netfilter policy. Also added --fw-include-ips |
|---|
| 9 |
to (optionally) not sanitize IPs/nets. Note that the 0.0.0.0 and |
|---|
| 10 |
0.0.0.0/0 IPs/nets are not sanitized since they give no useful |
|---|
| 11 |
information about specific IPs/nets. |
|---|
| 12 |
- Added ulogd data collection mode. |
|---|
| 13 |
- Bugfix for FW_MSG_SEARCH default (at least "DROP" is included now |
|---|
| 14 |
even if FW_SEARCH_ALL is set to "N"). |
|---|
| 15 |
- Bugfix for non-network address for subnet specified with --fw-block. |
|---|
| 16 |
- Bugfix for multiple --fw-block IPs/nets. |
|---|
| 17 |
- Added README.SYSLOG (Francois Marier contributed the content). |
|---|
| 18 |
- Made email alert prefixes (such as "[psad-alert]") customizable via |
|---|
| 19 |
psad.conf. |
|---|
| 20 |
|
|---|
| 21 |
psad-1.4.1 (03/12/2005): |
|---|
| 22 |
- Updated to Snort-2.3 rules in the snort_rules directory. |
|---|
| 23 |
- Re-worked syslog installation portion of install.pl. The user will |
|---|
| 24 |
always be prompted to enter the syslog daemon now, and also added |
|---|
| 25 |
the --syslog-conf arg to allow the config file path to be specified |
|---|
| 26 |
on the install.pl command line. |
|---|
| 27 |
- Bugfix in install.pl for using IP address instead of network address |
|---|
| 28 |
of directly connected subnets. |
|---|
| 29 |
- Updated to version 4.6.23 of the whois client. |
|---|
| 30 |
- Bugfix for distinguishing OPT field associated with --log-tcp-options |
|---|
| 31 |
vs. --log-ip-options. |
|---|
| 32 |
- Bugfix for syslog format that may not include the "kernel:" tag. |
|---|
| 33 |
- Applied patch to only install perl modules that are not already |
|---|
| 34 |
installed (Blair Zajac). |
|---|
| 35 |
- Bugfix for the psad version number that is sent in DShield alerts. |
|---|
| 36 |
- Updated Psad module directory structure to be consistent with current |
|---|
| 37 |
versions of perl (5.8.x). |
|---|
| 38 |
- Added IPTables::ChainMgr module. |
|---|
| 39 |
- Completely re-worked the Netfilter auto-blocking code to use |
|---|
| 40 |
IPTables::ChainMgr functions so that auto-generated rules are placed |
|---|
| 41 |
in chains created by psad. |
|---|
| 42 |
- Added IPT_AUTO_CHAIN keyword in psad.conf which is used to define the |
|---|
| 43 |
set of chains to which auto-generated Netfilter rules are added. |
|---|
| 44 |
- Added --fw-list-auto to display the contents of psad Netfilter |
|---|
| 45 |
chains. |
|---|
| 46 |
- Added the ability to import an IP into the Netfilter auto-blocking |
|---|
| 47 |
chains from the command line with --fw-block-ip. This allows psad to |
|---|
| 48 |
apply its timeout mechanism against such IPs/nets. |
|---|
| 49 |
- Added the ability to ignore packets based on input interface with |
|---|
| 50 |
IGNORE_INTERFACES in psad.conf. |
|---|
| 51 |
- Re-worked auto_dl code, better hash design and searching function. |
|---|
| 52 |
- Removed dependency on sendmail command unless DShield alerting is |
|---|
| 53 |
enabled and a DShield user id is specified. |
|---|
| 54 |
- Added ALERTING_METHODS keyword in the file alert.conf to allow either |
|---|
| 55 |
syslog or email alerts (or both) to be disabled. Psad and psadwatchd |
|---|
| 56 |
reference this file. |
|---|
| 57 |
|
|---|
| 58 |
psad-1.4.0 (11/26/2004): |
|---|
| 59 |
- Added p0f-style passive OS fingerprinting through the use of the OPT |
|---|
| 60 |
field in iptables log messages (which is only logged through the use |
|---|
| 61 |
of the --log-tcp-options command line arg to iptables). |
|---|
| 62 |
- Bugfix for iptables log messages that include tcp sequence numbers |
|---|
| 63 |
(see the iptables --log-tcp-sequence command line argument). |
|---|
| 64 |
- Bugfix for O_RDONLY open flag when kmsgsd receives a HUP signal. |
|---|
| 65 |
|
|---|
| 66 |
psad-1.3.4 (10/17/2004): |
|---|
| 67 |
- Bugfix for init script directory on Slackware systems. |
|---|
| 68 |
- Bugfix for null prefix counters. |
|---|
| 69 |
- Added --whois-analysis argument since whois lookups are now disabled |
|---|
| 70 |
by default when running in analysis (-A) mode. |
|---|
| 71 |
- Updated psad_init() to rework setup() and import orderings vs. |
|---|
| 72 |
--fw-analyze and --Benchmark modes. |
|---|
| 73 |
- Added bidirectional iptables auto-blocking support for all chains |
|---|
| 74 |
except for the INPUT and OUTPUT chains. |
|---|
| 75 |
- Better syslog message support when run in auto-blocking mode. |
|---|
| 76 |
- Added iptables auto-block rules section to --Status output. |
|---|
| 77 |
- Added init script for Fedora systems. |
|---|
| 78 |
- Added default_log() function to IPTables::Parse. This function |
|---|
| 79 |
parses user defined chains in an effort to find default logging |
|---|
| 80 |
rules. |
|---|
| 81 |
- Added EMAIL_LIMIT_STATUS_MSG to control whether or not psad sends a |
|---|
| 82 |
status email when the PSAD_EMAIL_LIMIT threshold has been reached by |
|---|
| 83 |
an IP address. |
|---|
| 84 |
- Added ENABLE_SCAN_ARCHIVE to control whether or not psad archives old |
|---|
| 85 |
scan data within /var/log/psad/scan_archive at start time. |
|---|
| 86 |
|
|---|
| 87 |
psad-1.3.3 (09/09/2004): |
|---|
| 88 |
- Fixed __WARN__ and __DIE__ exception handlers so that they |
|---|
| 89 |
reference global message variables. |
|---|
| 90 |
- Fixed auto danger level assignments. Network auto assignments as |
|---|
| 91 |
well as per-protocol assignments work now. |
|---|
| 92 |
- Added SYSLOG_DAEMON variable to define which syslog daemon is running |
|---|
| 93 |
on the underlying system instead of just guessing. |
|---|
| 94 |
- Added the ability to ignore both ranges and specific ports/protocols |
|---|
| 95 |
with a new variable IGNORE_PORTS in psad.conf. |
|---|
| 96 |
- Bugfix to make sure email addresses are separated by spaces when |
|---|
| 97 |
Psad::sendmail() is called. |
|---|
| 98 |
- Bugfix for ipt_prefix counters not being parsed correct at import |
|---|
| 99 |
time. |
|---|
| 100 |
- Removed exclude_auto_ignore_ip() since this function was made |
|---|
| 101 |
unnecessary by newly rewritten auto-assign code. |
|---|
| 102 |
- Bugfix for Text::Wrap calls in install.pl uninstall() routine. |
|---|
| 103 |
- Bugfix for using --no-fw-search-all even when FW_SEARCH_ALL is |
|---|
| 104 |
set to "Y". |
|---|
| 105 |
- Removed extraneous ".." and "**" chars from syslog messages, and |
|---|
| 106 |
updated to use [+] prefix strings. |
|---|
| 107 |
- Moved init scripts into init-scripts directory within source tree. |
|---|
| 108 |
- Removed dependency on Bit::Vector (psad does not seem to make use |
|---|
| 109 |
of any Date::Calc functions that require it). |
|---|
| 110 |
- Wrapped copy() and move() calls with "or die()" to make them |
|---|
| 111 |
safer in install.pl. |
|---|
| 112 |
- Added check for existing psad process in install.pl. |
|---|
| 113 |
- Updated to a new psad email alert subject format. Prefixes of |
|---|
| 114 |
"[psad-alert]", "[psad-error]", and "[psad-status]" are used now. |
|---|
| 115 |
- Permissions fixes with umask() setting in /var/log/psad, permissions |
|---|
| 116 |
fixes for files in /etc/psad at install time. |
|---|
| 117 |
|
|---|
| 118 |
psad-1.3.2 (06/25/2004): |
|---|
| 119 |
- Removed FW_MSG_SEARCH from psad.conf, and created a new config |
|---|
| 120 |
file "fw_search.conf" that both psad and kmsgsd use to get the |
|---|
| 121 |
FW_MSG_SEARCH definition(s). |
|---|
| 122 |
- Added default mode of parsing all iptables messages instead of |
|---|
| 123 |
just those that contain specific search strings. A new config |
|---|
| 124 |
variable "FW_SEARCH_ALL" was added to fw_search.conf that |
|---|
| 125 |
controls this mode. |
|---|
| 126 |
- Updated psad and kmsgsd so that multiple firewall search strings |
|---|
| 127 |
can be specified through multiple FW_MSG_SEARCH variables in |
|---|
| 128 |
fw_search.conf. |
|---|
| 129 |
- Added iptables chain and logging-prefix tracking for current |
|---|
| 130 |
scan interval in email alerts. |
|---|
| 131 |
- Added protocol-specific auto-danger level assignments. |
|---|
| 132 |
- Added total scan source and destination IP address counters in |
|---|
| 133 |
--Status output. |
|---|
| 134 |
- Added number of email alerts sent and OS guess in default |
|---|
| 135 |
--Status output. The output is getting wide now, so there is |
|---|
| 136 |
also a new option --status-brief that will remove the alerts |
|---|
| 137 |
sent and OS guess columns. |
|---|
| 138 |
- Added getopt() command line arg parsing to kmsgsd with two new |
|---|
| 139 |
options "-c" (for config file path) and "-k" (for fw_search.conf |
|---|
| 140 |
path). |
|---|
| 141 |
- Made iptables parsing code into its own script "fwcheck_psad" |
|---|
| 142 |
that gets called by psad. |
|---|
| 143 |
- Added Dshield stats summary to --Status output. |
|---|
| 144 |
- Bugfix for auto-ignore IP addresses and networks being missed. |
|---|
| 145 |
- Made parsing of ifconfig output language independent (should |
|---|
| 146 |
handle French now for example). |
|---|
| 147 |
- Removed "psad_" prefix on files psad_signatures, psad_auto_ips, |
|---|
| 148 |
psad_posf, and psad_icmp_types in /etc/psad/. |
|---|
| 149 |
- Updated to version 4.6.14 of the whois client. |
|---|
| 150 |
|
|---|
| 151 |
psad-1.3.1 (12/25/2003): |
|---|
| 152 |
- Added the ability to import /var/log/psad/<ip> directories |
|---|
| 153 |
back into memory so scan data remains persistent across |
|---|
| 154 |
psad restarts or system reboots. |
|---|
| 155 |
- Added --Analyze-msgs to run psad in analysis mode against an |
|---|
| 156 |
iptables logfile (/var/log/psad/fwdata by default). The logfile |
|---|
| 157 |
path can be changed with --messages-file. |
|---|
| 158 |
- Added icmp type and code validation against RFC 792. |
|---|
| 159 |
- Bugfix for being too strict with FW_MSG_SEARCH. |
|---|
| 160 |
- Added port ranges for tcp and udp scans in <ip>/<dst>_packet_ctr. |
|---|
| 161 |
- Added <ip>/<dst>_start_time and <ip>/os_guess. |
|---|
| 162 |
- Bugfix for missing --no-signatures code. |
|---|
| 163 |
- Updated to Snort-2.1 signatures. |
|---|
| 164 |
|
|---|
| 165 |
psad-1.3 (11/30/2003): |
|---|
| 166 |
- Replaced all signatures in psad_signatures with updated snort |
|---|
| 167 |
rules. |
|---|
| 168 |
- Added support for source and destination ip addresses in |
|---|
| 169 |
signature matching code. A new variable "HOME_NET" makes this |
|---|
| 170 |
possible. |
|---|
| 171 |
- Added support for the iptables output chain. |
|---|
| 172 |
- Added chain tracking for all signatures. |
|---|
| 173 |
- Replaced match_fastsigs() with two new routines for tcp and |
|---|
| 174 |
udp signature matching that don't autovivify hash keys. |
|---|
| 175 |
- Removed support for ipchains. |
|---|
| 176 |
- Added support for metalog. |
|---|
| 177 |
- Removed all "Undefined Code" signatures from psad_signatures. |
|---|
| 178 |
- Re-worked %auto_blocked_ips hash and corresponding blocking |
|---|
| 179 |
routines. This (hopefully) fixes a restart bug seen on older |
|---|
| 180 |
systems such as those that are still running versions of perl |
|---|
| 181 |
less than 5.6. |
|---|
| 182 |
- Re-worked firewall policy parsing routines. Chains that have |
|---|
| 183 |
a default policy of DROP are handled properly now. |
|---|
| 184 |
- Bugfix for missing NULL char in kmsgsd.c. |
|---|
| 185 |
- Updated scan alerting format. Put current interval protocol |
|---|
| 186 |
status before source and destination addresses. |
|---|
| 187 |
- Buffer overflow fix in kmsgsd.c for size of buf[MAX_LINE_BUF] |
|---|
| 188 |
buffer in read() call. |
|---|
| 189 |
- Added --no-kmsgsd option to aid in psad --debug mode. |
|---|
| 190 |
|
|---|
| 191 |
psad-1.2.4 (10/15/2003): |
|---|
| 192 |
- Added danger level to subject line in email alerts. |
|---|
| 193 |
- Removed diskmond altogether since psad now handles disk space |
|---|
| 194 |
thresholds directly. This allows filehandles to be handled |
|---|
| 195 |
properly. |
|---|
| 196 |
- Added auto_block_ignore_ip() to prevent 0.0.0.0, 127.0.0.1, |
|---|
| 197 |
and local interface ips from being included in auto blocking |
|---|
| 198 |
routines. |
|---|
| 199 |
- Added Bit::Vector module to stop installation warnings from |
|---|
| 200 |
Date::Calc. |
|---|
| 201 |
- Made get_local_ips() called periodically since local addresses |
|---|
| 202 |
may change (dhcp, etc.). |
|---|
| 203 |
- Added installation code and init script for Gentoo Linux. |
|---|
| 204 |
- Bugfix for INIT_DIR in uninstall() routine in install.pl. |
|---|
| 205 |
- Bugfix for auto-blocking loop after timeouts are hit. |
|---|
| 206 |
- Added --status-dl [N] to display status information only for |
|---|
| 207 |
those scans that reach at least [N]. |
|---|
| 208 |
|
|---|
| 209 |
psad-1.2.3 (09/12/2003): |
|---|
| 210 |
- Added interface tracking for scans. |
|---|
| 211 |
- Bugfix for not opening /etc/hosts.deny the right way in |
|---|
| 212 |
tcpwr_block(). |
|---|
| 213 |
- Bugfix for psadfifo path in syslog-ng config. |
|---|
| 214 |
- Better format for summary stats section in email alerts. |
|---|
| 215 |
- Bugfix for INIT_DIR path on non-RedHat systems. |
|---|
| 216 |
- Bugfix for gzip path. |
|---|
| 217 |
- Make Psad.pm installed last of all perl modules installed |
|---|
| 218 |
by psad. |
|---|
| 219 |
- Added additional call to incr_syscall_ctr() in psadwatchd.c |
|---|
| 220 |
|
|---|
| 221 |
psad-1.2.2 (08/24/2003): |
|---|
| 222 |
- psad is finally available as an RPM package. |
|---|
| 223 |
- Added chain tracking for iptables. |
|---|
| 224 |
- Added chain counts to --Status output. |
|---|
| 225 |
- Bugfix for psad not taking into account multiple scan |
|---|
| 226 |
destinations. |
|---|
| 227 |
- Reworked auto-blocking code for both tcpwrappers and |
|---|
| 228 |
iptables. Lines added to /etc/hosts.deny will no longer be |
|---|
| 229 |
duplicated. Added IPTABLES_AUTO_RULENUM and |
|---|
| 230 |
IPCHAINS_AUTO_RULENUM so auto rules can be inserted at a |
|---|
| 231 |
configurable point within iptables and ipchains policies. |
|---|
| 232 |
- Psad now installs all perl modules within /usr/lib/psad. |
|---|
| 233 |
- Removed /var/log/psad/<ip>/scanlog file since it was wasting |
|---|
| 234 |
too much disk. |
|---|
| 235 |
- Made psad, psadwatchd, and diskmond take the machine hostname |
|---|
| 236 |
from their respective config files. This makes installation |
|---|
| 237 |
via the rpm easier, and is generally cleaner. |
|---|
| 238 |
- Added scan destination in --Status output. |
|---|
| 239 |
- Added --status-sort-dl (the default status output is now |
|---|
| 240 |
sorted by ip address by default). |
|---|
| 241 |
|
|---|
| 242 |
psad-1.2.1 (07/11/2003): |
|---|
| 243 |
- Bugfix for multiple processes being spawned by psadwatchd |
|---|
| 244 |
due to lack of proper config variables in the new split |
|---|
| 245 |
daemon config files. |
|---|
| 246 |
- Bugfix for old scan messages being regenerated if a HUP |
|---|
| 247 |
signal is received. |
|---|
| 248 |
- Bugfix for incorrectly calculating disk utilization in |
|---|
| 249 |
diskmond.c. |
|---|
| 250 |
- Extended install.pl to include compression for archived |
|---|
| 251 |
files in /etc/psad. |
|---|
| 252 |
- Added preserve questions in install.pl for the psad |
|---|
| 253 |
signature and auto ips files. |
|---|
| 254 |
- Bugfix for --USR1 command line switch not mapping to the |
|---|
| 255 |
correct subroutine. |
|---|
| 256 |
- Bugfix for psad man page missing the pipe character in |
|---|
| 257 |
psadfifo line for syslog.conf. |
|---|
| 258 |
|
|---|
| 259 |
psad-1.2 (06/18/2003): |
|---|
| 260 |
- Added passive OS fingerprinting based on packet ttl, length, |
|---|
| 261 |
tos, and id fields. |
|---|
| 262 |
- Added dshield.org alerting capability. |
|---|
| 263 |
- Added exec_external_script() for external script execution. |
|---|
| 264 |
- Added auto blocked timeouts. |
|---|
| 265 |
- Implemented config re-imports via HUP signals in a manner |
|---|
| 266 |
similar to various other system daemons (sysylog, apache |
|---|
| 267 |
etc.) |
|---|
| 268 |
- Better --Status output that shows packet counts per protocol |
|---|
| 269 |
for each ip. |
|---|
| 270 |
- Added --ip-status for more verbose status output for a |
|---|
| 271 |
particular ip address. |
|---|
| 272 |
- Added config preservation code to install.pl. |
|---|
| 273 |
- Added Psad::psyslog(). |
|---|
| 274 |
- Split psad.conf into a separate config file for each of the |
|---|
| 275 |
four psad daemons. |
|---|
| 276 |
- Completely re-worked the auto blocking code (made dedicated |
|---|
| 277 |
files for iptables and ipchains block methods). |
|---|
| 278 |
- Added danger level hash. |
|---|
| 279 |
- Minor code cleanups (shorter hash keys, etc.). |
|---|
| 280 |
|
|---|
| 281 |
psad-1.1.1 (04/26/2003): |
|---|
| 282 |
- Bugfix for incorrect usage of %scan hash keys associated |
|---|
| 283 |
with tcp/udp when the current protocol is icmp. |
|---|
| 284 |
- Bugfix for being too strict on iptable default log string. |
|---|
| 285 |
- Reworked USR1 signal handler so the Data::Dumper function |
|---|
| 286 |
call is made in the main part of the psad code. |
|---|
| 287 |
- Added a startup message for psad. |
|---|
| 288 |
- Minor bugfix for leading whitespace in auto_ips. |
|---|
| 289 |
|
|---|
| 290 |
psad-1.1 (04/20/2003): |
|---|
| 291 |
- Added the IPTables::Parse module for better processing of |
|---|
| 292 |
the iptables ruleset. |
|---|
| 293 |
- Added --snort-sids so that iptables messages generated by |
|---|
| 294 |
fwsnort can be included in alerts. Such alerts now include |
|---|
| 295 |
the content fields of packets (fwsnort uses the iptables |
|---|
| 296 |
string match module). |
|---|
| 297 |
- Added the ability to specify entire networks in the auto |
|---|
| 298 |
ips file through the use of the Net::IPv4Addr module. |
|---|
| 299 |
- Better logging format that reinstates the current interval, |
|---|
| 300 |
and adds an "overall stats" section that includes packet |
|---|
| 301 |
counters per protocol. |
|---|
| 302 |
- Removed the PROTO hash key since it was unnecesssary. |
|---|
| 303 |
- Better benchmarking code. |
|---|
| 304 |
- Bug fix for incorrectly looking for the "MAC" string in |
|---|
| 305 |
iptables messages that could have been generated by the |
|---|
| 306 |
FORWARD chain. |
|---|
| 307 |
|
|---|
| 308 |
psad-1.0 (02/27/2003): |
|---|
| 309 |
- Added --Benchmark and --packets command line options to support |
|---|
| 310 |
psad benchmarking. |
|---|
| 311 |
- Bugfix for improperly detecting NULL scans. |
|---|
| 312 |
- Completely redesigned website. |
|---|
| 313 |
|
|---|
| 314 |
psad-1.0.0-pre4 (11/26/2002): |
|---|
| 315 |
- Rewrote kmsgsd and psadwatchd in C. |
|---|