Releases: certtools/intelmq
3.0.0 Beta 1
This is just an intermediate unstable release towards 3.0.0. Please do not use it in production.
2.3.3 Bugfix release
Installation documentation:
https://intelmq.readthedocs.io/en/maintenance/user/installation.html
Upgrade documentation:
https://intelmq.readthedocs.io/en/maintenance/user/upgrade.html
Core
intelmq.lib.upgrade
:- Added
v233_feodotracker_browse
for Abuse.ch Feodotracker Browse parser configuration adaption (PR#1941 by Sebastian Wagner).
- Added
Bots
Parsers
intelmq.bots.parsers.microsoft.parser_ctip
:- Add support for new field
SourceIpInfo.SourceIpv4Int
(PR#1940 by Sebastian Wagner). - Fix mapping of "ConnectionType" fields, this is not
protocol.application
. Now mapped toextra.*.connection_type
(PR#1940 by Sebastian Wagner).
- Add support for new field
intelmq.bots.parsers.shadowserver._config
:- Add support for the new feeds Honeypot-Amplification-DDoS-Events, Honeypot-Brute-Force-Events, Honeypot-Darknet, IP-Spoofer-Events, Sinkhole-Events, Sinkhole-HTTP-Events, Vulnerable-Exchange-Server, Sinkhole-Events-HTTP-Referer (PR#1950, PR#1952, PR#1953, PR#1954, PR#1970 by Birger Schacht and Sebastian Wagner, PR#1971 by Mikk Margus Möll).
Experts
intelmq.bots.experts.splunk_saved_search.expert
:- fixed erroneous string formatting (PR#1960 by Karl-Johan Karlsson).
Outputs
intelmq.bots.outputs.smtp.output
:- Handle empty "fieldnames" parameter by sending no attachment (PR#1932 by Sebastian Wagner).
Documentation
- Feeds:
- Fixed Abuse.ch Feodotracker Browse parser configuration (PR#1941 by Sebastian Wagner fixes #1938).
Tests
intelmq.bots.parsers.html_table
:- Added testcase for Abuse.ch Feodotracker Browse (PR#1941 by Sebastian Wagner).
Tools
- intelmqsetup:
- Set ownershop of state file path and its parent directory (PR#1911 by Sebastian Wagner).
Known issues
- ParserBot: erroneous raw line recovery in error handling (#1850).
2.3.2 Bugfix release
Installation documentation:
https://intelmq.readthedocs.io/en/maintenance/user/installation.html
Upgrade documentation:
https://intelmq.readthedocs.io/en/maintenance/user/upgrade.html
Core
intelmq.lib.harmonization
:TLP
type: accept value "yellow" for TLP level AMBER.
Bots
Collectors
intelmq.bots.collectors.shadowserver.collector_reports_api
:- Handle timeouts by logging the error and continuing to next report (PR#1852 by Marius Karotkis and Sebastian Wagner, fixes #1823).
Parsers
intelmq.bots.parsers.shadowserver.config
:- Parse and harmonize field
end_time
as date in Feeds "Drone-Brute-Force" and "Amplification-DDoS-Victim" (PR#1833 by Mikk Margus Möll). - Add conversion function
convert_date_utc
which assumes UTC and sanitizes the data to datetime (by Sebastian Wagner, fixes #1848).
- Parse and harmonize field
intelmq.bots.parsers.shadowserver.parser_json
:- Use the overwrite parameter for optionally overwriting the "feed.name" field (by Sebastian Wagner).
intelmq.bots.parsers.microsoft.parser_ctip
:- Handle fields
timestamp
,timestamp_utc
,source_ip
,source_port
,destination_ip
,destination_port
,computer_name
,bot_id
,asn
,geo
inPayload
of CTIP Azure format (PR#1841, PR#1851 and PR#1879 by Sebastian Wagner).
- Handle fields
intelmq.bots.parsers.shodan.parser
:- Added support for unique keys and verified vulns (PR#1835 by Mikk Margus Möll).
intelmq.bots.parsers.cymru.parser_cap_program
:- Fix parsing in whitespace edge case in comments (PR#1870 by Alex Kaplan, fixes #1862).
Experts
intelmq.bots.experts.modify
:- Add a new rule to the example configuration to change the type of malicious-code events to
c2server
if the malware name indicates c2 (PR#1854 by Sebastian Wagner).
- Add a new rule to the example configuration to change the type of malicious-code events to
intelmq.bots.experts.gethostbyname.expert
:- Fix handling of parameter
gaierrors_to_ignore
with valueNone
(PR#1890 by Sebastian Wagner, fixes #1886).
- Fix handling of parameter
Outputs
intelmq.bots.outputs.elasticsearch
: Fix log message on required elasticsearch library message (by Sebastian Wagner).
Documentation
dev/data-harmonization
: Fix taxonomy name "information gathering" should be "information-gathering" (by Sebastian Wagner).
Tests
intelmq.tests.bots.parsers.microsoft.test_parser_ctip_azure
:- Add test case for TLP level "YELLOW".
Known issues
- ParserBot: erroneous raw line recovery in error handling (#1850).
2.3.1 Bugfix release
Installation documentation:
https://intelmq.readthedocs.io/en/maintenance/user/installation.html
Upgrade documentation:
https://intelmq.readthedocs.io/en/maintenance/user/upgrade.html
Core
intelmq.lib.utils
:log
: Handle null value for logging parameterlogging_max_size
(PR#1786 by Sebastian Wagner, fixes #1778).
intelmq.lib.pipeline
:Amqp._get_queues
: Check virtual host when retrieving queue sizes. Fixes output ofintelmqctl check
for orphaned queues if AMQP is used and the AMQP user has access to more virtual hosts (PR#1830 by Sebastian Wagner, fixes #1746).
Bots
Collectors
intelmq.bots.collectors.shadowserver.collector_reports_api
: Added debug logging to show number of downloaded reports and download size (PR#1826 by Sebastian Wagner, partly addresses #1688 and #1823).
Parsers
intelmq.bots.parsers.cymru.parser_cap_program
:- Adapt parser to new upstream format for events of category "bruteforce" (PR#1795 by Sebastian Wagner, fixes 1794).
intelmq.bots.parsers.shodan.parser
:- Support nested conversions, improved protocol detection and extended Shodan parser mappings (PR#1821 by Mikk Markus Möll).
Documentation
- Add missing newlines at end of
docs/_static/intelmq-manager/*.png.license
files (PR#1785 by Sebastian Wagner, fixes #1777). - Ecosystem: Revise sections on intelmq-cb-mailgen and fody (PR#1792 by Bernhard Reiter).
- intelmq-api: Add documentation about necessary write permission for the session database file (PR#1798 by Birger Schacht, fixes intelmq-api#23).
- FAQ: Section on redis socket permissions: set only minimal necessary permissions (PR#1809 by Sebastian Wagner).
- Add document on hardware requirements (PR#1811 by Sebastian Wagner).
- Feeds: Added Shodan Country Stream (by Sebastian Wagner).
Tests
- Add missing newlines at end of various test input files (PR#1785 by Sebastian Wagner, fixes #1777).
intelmq.tests.bots.parsers.shodan.test_parser
: Add test cases for new code (PR#1821 by Mikk Markus Möll).intelmq.tests.lib.test_harmonization.test_datetime_convert
: Only run this test in timezone UTC (PR#1825 by Sebastian Wagner).
Tools
intelmqsetup
:intelmqctl
:- Do not log an error message if logging to file is explicitly disabled, e.g. in calls from
intelmsetup
. The error message would not be useful for the user and is not necessary.
- Do not log an error message if logging to file is explicitly disabled, e.g. in calls from
Known issues
- Bots started with IntelMQ-API/Manager stop when the webserver is restarted (#952).
- Corrupt dump files when interrupted during writing (#870).
- CSV line recovery forces Windows line endings (#1597).
- intelmqdump: Honor logging_path variable (#1605).
- Timeout error in mail URL fetcher (#1621).
- Shadowserver Parser: Drone feed has (also?) application protocol in type field (mapped to transport protocol) (#1763).
2.3.0 Feature release
Installation documentation:
https://intelmq.readthedocs.io/en/maintenance/user/installation.html
Upgrade documentation:
https://intelmq.readthedocs.io/en/maintenance/user/upgrade.html
IntelMQ no longer supports Python 3.5 (and thus Debian 9 and Ubuntu 16.04), the minimum supported Python version is 3.6.
Configuration
Core
intelmq.lib.bot
:ParserBot.recover_line_json_stream
: Makeline
parameter optional, as it is not needed for this method (by Sebastian Wagner).Bot.argparser
: Added class method_create_argparser
(returnsargparse.ArgumentParser
) for easy command line arguments parsing (PR#1586 by Filip Pokorný).- Runtime configuration does not necessarily need a parameter entry for each block. Previously at least an empty block was required (PR#1604 by Filip Pokorný).
- Allow setting the pipeline host and the Redis cache host by environment variables for docker usage (PR#1669 by Sebastian Waldbauer).
- Better logging message for SIGHUP handling if the handling of the signal is not delayed (by Sebastian Wagner).
intelmq.lib.upgrades
:- Add upgrade function for removal of HPHosts Hosts file feed and
intelmq.bots.parsers.hphosts
parser (#1559, by Sebastian Wagner).
- Add upgrade function for removal of HPHosts Hosts file feed and
intelmq.lib.exceptions
:PipelineError
: Remove unused code to format exceptions (by Sebastian Wagner).
intelmq.lib.utils
:create_request_session_from_bot
:- Changed bot argument to optional, uses defaults.conf as fallback, renamed to
create_request_session
. Namecreate_request_session_from_bot
will be removed in version 3.0.0 (PR#1524 by Filip Pokorný). - Fixed setting of
http_verify_cert
from defaults configuration (PR#1758 by Birger Schacht).
- Changed bot argument to optional, uses defaults.conf as fallback, renamed to
log
: UseRotatingFileHandler
for allow log file rotation without external tools (PR#1637 by Vasek Bruzek).
intelmq.lib.harmonization
:- The
IPAddress
type sanitation now accepts integer IP addresses and converts them to the string representation (by Sebastian Wagner). DateTime.parse_utc_isoformat
: Add parameterreturn_datetime
to returndatetime
object instead of string ISO format (by Sebastian Wagner).DateTime.convert
: Fixutc_isoformat
format, it pointed to a string and not a function, causing an exception when used (by Sebastian Wagner).DateTime.from_timestamp
: Ensure that time zone information (+00:00
) is always present (by Sebastian Wagner).DateTime.__parse
now handles OverflowError exceptions from the dateutil library, happens for large numbers, e.g. telehpone numbers (by Sebastian Wagner).
- The
intelmq.lib.upgrades
:- Added upgrade function for CSV parser parameter misspelling (by Sebastian Wagner).
- Check for existence of collector and parser for the obsolete Malware Domain List feed and raise warning if found (#1762, PR#1771 by Birger Schacht).
Development
intelmq.bin.intelmq_gen_docs
:- Add bot name to the resulting feed documentation (PR#1617 by Birger Schacht).
- Merged into
docs/autogen.py
(PR#1622 by Birger Schacht).
Bots
Collectors
intelmq.bots.collectors.eset.collector
: Added (PR#1554 by Mikk Margus Möll).intelmq.bots.collectors.http.collector_http
:- Added PGP signature check functionality (PR#1602 by sinus-x).
- If status code is not 2xx, the request's and response's headers and body are logged in debug logging level (#1615, by Sebastian Wagner).
intelmq.bots.collectors.kafka.collector
: Added (PR#1654 by Birger Schacht, closes #1634).intelmq.bots.collectors.xmpp.collector
: Marked as deprecated, see https://lists.cert.at/pipermail/intelmq-users/2020-October/000177.html (#1614, PR#1685 by Birger Schacht).intelmq.bots.collectors.shadowserver.collector_api
:- Added (#1683, PR#1700 by Birger Schacht).
- Change file names in the report to
.json
instead of the original and wrong.csv
(PR#1769 by Sebastian Wagner).
intelmq.bots.collectors.mail
: Add content of the email'sDate
header asextra.email_date
to the report in all email collectors (PR#1749 by aleksejsv and Sebastian Wagner).intelmq.bots.collectors.http.collector_http_stream
: Retry on common connection issues without raising exceptions (#1435, PR#1747 by Sebastian Waldbauer and Sebastian Wagner).intelmq.bots.collectors.shodan.collector_stream
: Retry on common connection issues without raising exceptions (#1435, PR#1747 by Sebastian Waldbauer and Sebastian Wagner).intelmq.bots.collectors.twitter.collector_twitter
:- Proper input validation in URLs using urllib. CWE-20, found by GitHub's CodeQL (PR#1754 by Sebastian Wagner).
- Limit replacement ("pastebin.com", "pastebin.com/raw") to a maximum of one (PR#1754 by Sebastian Wagner).
Parsers
intelmq.bots.parsers.eset.parser
: Added (PR#1554 by Mikk Margus Möll).- Ignore invalid "NXDOMAIN" IP addresses (PR#1573 by Mikk Margus Möll).
intelmq.bots.parsers.hphosts
: Removed, feed is unavailable (#1559, by Sebastian Wagner).intelmq.bots.parsers.cznic.parser_haas
: Added (PR#1560 by Filip Pokorný and Edvard Rejthar).intelmq.bots.parsers.cznic.parser_proki
: Added (PR#1599 by sinus-x).intelmq.bots.parsers.key_value.parser
: Added (PR#1607 by Karl-Johan Karlsson).intelmq.bots.parsers.generic.parser_csv
: Added new parametercompose_fields
(by Sebastian Wagner).intelmq.bots.parsers.shadowserver.parser_json
: Added (PR#1700 by Birger Schacht).intelmq.bots.parsers.shadowserver.config
:- Fixed mapping for Block list feed to accept network ranges in CIDR notation (#1720, PR#1728 by Sebastian Waldbauer).
- Added mapping for new feed MSRDPUDP, Vulnerable-HTTP, Sinkhole DNS (#1716, #1726, #1733, PR#1732, PR#1735, PR#1736 by Sebastian Waldbauer).
- Ignore value
0
forsource.asn
anddestination.asn
in all mappings to avoid parsing errors (PR#1769 by Sebastian Wagner).
intelmq.bots.parsers.abusech.parser_ip
: Adapt to changes in the Feodo Tracker Botnet C2 IP Blocklist feed (PR#1741 by Thomas Bellus).intelmq.bots.parsers.malwaredomainlist
: Removed, as the feed is obsolete (#1762, PR#1771 by Birger Schacht).
Experts
intelmq.bots.experts.rfc1918.expert
:- Add support for ASNs (PR#1557 by Mladen Markovic).
- Speed improvements.
- More output in debug logging mode (by Sebastian Wagner).
- Checks parameter length on initialization and in check method (by Sebastian Wagner).
intelmq.bots.experts.gethostbyname.expert
:- Added parameter
fallback_to_url
and set to True (PR#1586 by Edvard Rejthar). - Added parameter
gaierrors_to_ignore
to optionally ignore othergethostbyname
errors (#1553). - Added parameter
overwrite
to optionally overwrite existing IP addresses (by Sebastian Wagner).
- Added parameter
intelmq.bots.experts.asn_lookup.expert
:- Added
--update-database
option (PR#1524 by Filip Pokorný). - The script
update-asn-data
is now deprecated and will be removed in version 3.0.
- Added
intelmq.bots.experts.maxmind_geoip.expert
:- Added
--update-database
option (PR#1524 by Filip Pokorný). - Added
license_key
parameter (PR#1524 by Filip Pokorný). - The script
update-geoip-data
is now deprecated and will be removed in version 3.0.
- Added
intelmq.bots.experts.tor_nodes.expert
:- Added
--update-database
option (PR#1524 by Filip Pokorný). - The script
update-tor-nodes
is now deprecated and will be removed in version 3.0.
- Added
intelmq.bots.experts.recordedfuture_iprisk.expert
:- Added
--update-database
option (PR#1524 by Filip Pokorný). - Added
api_token
parameter (PR#1524 by Filip Pokorný). - The script
update-rfiprisk-data
is now deprecated and will be removed in version 3.0.
- Added
- Added
intelmq.bots.experts.threshold
(PR#1608 by Karl-Johan Karlsson). - Added
intelmq.bots.experts.splunk_saved_search.expert
(PR#1666 by Karl-Johan Karlsson). intelmq.bots.experts.sieve.expert
:intelmq.bots.experts.maxmind_geoip.expert
:- Fixed handing over of
overwrite
parameter toevent.add
(PR#1743 by Birger Schacht).
- Fixed handing over of
Outputs
intelmq.bots.outputs.rt
: Added Request Tracker output bot (PR#1589 by Marius Urkis).intelmq.bots.outputs.xmpp.output
: Marked as deprecated, see https://lists.cert.at/pipermail/intelmq-users/2020-October/000177.html (#1614, PR#1685 by Birger Schacht).intelmq.bots.outputs.smtp.output
: Fix sending to multiple recipients when recipients are defined by event-data (#1759, PR#1760 by Sebastian Waldbauer and Sebastian Wagner).
Documentation
- Feeds:
- Add ESET URL and Domain feeds (by Sebastian Wagner).
- Remove unavailable HPHosts Hosts file feed (#1559 by Sebastian Wagner).
- Added CZ.NIC HaaS feed (PR#1560 by Filip Pokorný and Edvard Rejthar).
- Added CZ.NIC Proki feed (PR#1599 by sinus-x).
- Updated Abuse.ch URLhaus feed (PT#1572 by Filip Pokorný).
- Added CERT-BUND CB-Report Malware infections feed (PR#1598 by sinus-x and Sebastian Wagner).
- Updated Turris Greylist feed with PGP verification information (by Sebastian Wagner).
- Fixed parsing of the
public
field in the generated feeds documentation (PR#1641 by Birger Schacht). - Change the
rate_limit
parameter of some feeds from 2 days (129600 seconds) to one day (86400 seconds). - Update the cAPTure Ponmocup Domains feed documentation (PR#1574 by Filip Pokorný and Sebastian Wagner).
- Added Shadowserver Reports API (by Sebastian Wagner).
- Change the
rate_limit
parameter for many feeds from 2 days to the default one day (by Sebastian Wagner). - Removed Malware Domain List feed, as the feed is obsolete (#1762, PR#1771 by Birger Schacht).
- Bots:
- Enhance...
2.3.0 Release candidate 1
2.3.0.rc1 2.3.0 Release candidate 1
2.2.3 Bugfix release
Installation documentation:
https://github.com/certtools/intelmq/blob/2.2.3/docs/INSTALL.md
Upgrade documentation:
https://github.com/certtools/intelmq/blob/2.2.3/docs/UPGRADING.md
Documentation
- Bots/Sieve expert: Add information about parenthesis in if-expressions (#1681, PR#1687 by Birger Schacht).
Harmonization
- See NEWS.md for information on a fixed bug in the taxonomy expert.
Bots
Collectors
intelmq.bots.rt.collector_rt
: Log the size of the downloaded file in bytes on debug logging level.
Parsers
intelmq.bots.parsers.cymru.parser_cap_program
:- Add support for protocols 47 (GRE) and 59 (IPv6-NoNxt).
- Add support for field
additional_asns
in optional information column.
intelmq.bots.parsers.microsoft.parser_ctip
:- Fix mapping of
DestinationIpInfo.DestinationIpConnectionType
field (contained a typo). - Explicitly ignore field
DestinationIpInfo.DestinationIpv4Int
as the data is already in another field.
- Fix mapping of
intelmq.bots.parsers.generic.parser_csv
:- Ignore line having spaces or tabs only or comment having leading tabs or spaces (PR#1669 by Brajneesh).
- Data fields containing
-
are now ignored and do not raise an exception anymore (#1651, PR#74 by Sebastian Waldbauer).
Experts
intelmq.bots.experts.taxonomy.expert
: Map typescanner
toinformation-gathering
instead ofinformation gathering
. See NEWS file for more information.
Tests
- Travis: Deactivate tests with optional requirements on Python 3.5, as the build fails because of abusix/querycontacts version conflicts on dnspython.
Known issues
2.2.2 Bugfix release
Installation documentation:
https://github.com/certtools/intelmq/blob/2.2.2/docs/INSTALL.md
Upgrade documentation:
https://github.com/certtools/intelmq/blob/2.2.2/docs/UPGRADING.md
Core
intelmq.lib.upgrades
:- Add upgrade function for renamed Shadowserver feed name "Blacklisted-IP"/"Blocklist".
Bots
Parsers
intelmq.bots.parsers.shadowserver
:- Rename "Blacklisted-IP" feed to "Blocklist", old name is still valid until IntelMQ version 3.0 (PR#1588 by Thomas Hungenberg).
- Added support for the feeds
Accessible Radmin
andCAIDA IP Spoofer
(PR#1600 by sinus-x).
intelmq.bots.parsers.anubisnetworks.parser
: Fix parsing error wheredst.ip
was not equal tocomm.http.host
.intelmq/bots/parsers/danger_rulez/parser
: correctly skip malformed rows by defining variables before referencing (PR#1601 by Tomas Bellus).- `intelmq.bots.parsers.misp.parser: Fix MISP Event URL (#1619, PR#1618 by Nedfire23).
intelmq.bots.parsers.microsoft.parser_ctip
:- Add support for
DestinationIpInfo.*
andSignatures.Sha256
fields, used by thectip-c2
feed (PR#1623 by Mikk Margus Möll). - Use
extra.payload.text
for the feed's fieldPayload
if the content cannot be decoded (PR#1610 by Giedrius Ramas).
- Add support for
Experts
intelmq.bots.experts.cymru_whois
:- Fix cache key calculation which previously led to duplicate keys and therefore wrong results in rare cases. The cache key calculation is intentionally not backwards-compatible (#1592, PR#1606).
- The bot now caches and logs (as level INFO) empty responses from Cymru (PR#1606).
Documentation
- README:
- Add Core Infrastructure Initiative Best Practices Badge.
- Bots:
- Generic CSV Parser: Add note on escaping backslashes (#1579).
- Remove section of non-existing "Copy Extra" Bot.
- Explain taxonomy expert.
- Add documentation on n6 parser.
- Gethostbyname expert: Add documentation how errors are treated.
- Feeds:
- Fixed bot modules of Calidog CertStream feed.
- Add information on Microsoft CTIP C2 feed.
Packaging
- In Debian packages,
intelmqctl check
andintelmqctl upgrade-config
are executed in the postinst step (#1551, PR#1624 by Birger Schacht).
Tests
intelmq.tests.lib.test_pipeline
: SkipTestAmqp.test_acknowledge
on Travis with Python 3.8.intelmq.tests.bots.outputs.elasticsearch.test_output
: Refresh indexintelmq
manually to fix random test failures (#1593, PR#1595 by Zach Stone).
Tools
intelmqctl check
:- For disabled bots which do not have any pipeline connections, do not raise an error, but only warning.
- Fix check on source/destination queues for bots as well the orphaned queues.
Contrib
- Bash completion scripts: Check both
/opt/intelmq/
as well as LSB-paths (/etc/intelmq/
and/var/log/intelmq/
) for loading bot information (#1561, PR#1628 by Birger Schacht).
Known issues
Bugfix release
Installation documentation:
https://github.com/certtools/intelmq/blob/2.2.1/docs/INSTALL.md
Upgrade documentation:
https://github.com/certtools/intelmq/blob/2.2.1/docs/UPGRADING.md
Core
intelmq.lib.upgrades
:- Add upgrade function for changed configuration of the feed "Abuse.ch URLHaus" (#1571, PR#1572 by Filip Pokorný).
- Add upgrade function for removal of HPHosts Hosts file feed and
intelmq.bots.parsers.hphosts
parser (#1559). intelmq.lib.harmonization
:- For IP Addresses, explicitly reject IPv6 addresses with scope ID (due to changed behavior in Python 3.9, #1550).
Development
- Ignore line length (E501) in code-style checks altogether.
Bots
Collectors
intelmq.bots.collectors.misp
: Fix access to actual MISP object (PR#1548 by Tomas Bellus @tomas321)intelmq.bots.collectors.stomp
: Remove emptyclient.pem
file.
Parsers
intelmq.bots.parsers.shadowserver.config
:intelmq.bots.parser.anubisnetworks.parser
: Ignore "TestSinkholingLoss" events, these are not intended to be sent out at all.intelmq.bots.parsers.generic.parser_csv
: Allow values of type dictionary for parametertype_translation
.intelmq.bots.parsers.hphosts
: Removed, feed is unavailable (#1559).intelmq.bots.parsers.cymru.parser_cap_program
: Add support for comment "username" for "scanner" category.intelmq.bots.parsers.malwareurl.parser
: Check for valid FQDN and IP address in URL and IP address columns (PR#1585 by Marius Urkis).
Experts
intelmq.bots.experts.maxmind_geoip
: On Python < 3.6, require maxminddb < 2, as that version does no longer support Python 3.5.
Outputs
intelmq.bot.outputs.udp
: Fix error handling on sending, had a bug itself.
Documentation
- Feeds:
- Update documentation of feed "Abuse.ch URLHaus" (#1571, PR#1572 by Filip Pokorný).
- Bots:
- Overhaul of all bots' description fields (#1570).
- User-Guide:
- Overhaul pipeline configuration section and explain named queues better (#1577).
Tests
intelmq.tests.bots.experts.cymru
: Adapttest_empty_result
, removetest_unicode_as_name
andtest_country_question_mark
(#1576).
Tools
intelmq.bin.intelmq_gen_docs
: Format parameters of types lists with double quotes around values to produce conform JSON, ready to copy and paste the value into the IntelMQ Manager's bot parameter form.intelmq.bin.intelmqctl
:debug
: In JSON mode, use dictionaries instead of lists.debug
: AddPATH
to the paths shown.check
: Show$PATH
environment variable if executable cannot be found.
Contrib
malware_name_mapping
: Change MISP Threat Actors URL to new URL (branch master -> main) in download script.
Known issues
Feature Release
Installation documentation:
https://github.com/certtools/intelmq/blob/2.2.0/docs/INSTALL.md
Upgrade documentation:
https://github.com/certtools/intelmq/blob/2.2.0/docs/UPGRADING.md
Dropped support for Python 3.4.
Core
__init__
: Changes to the path-handling, see User Guide, section /opt and LSB paths for more informationintelmq.lib.exceptions
: AddedMissingDependencyError
for show error messages about a missing library and how to install it (#1471).- Added optional parameter
installed
to show the installed version. - Added optional parameter
additional_text
to show arbitrary text.
- Added optional parameter
- Adding more type annotations for core libraries.
intelmq.lib.pipeline.Pythonlist.sleep
: Drop deprecated method.intelmq.lib.utils
:write_configuration
: Append a newline at end of configuration/file to allow proper comparisons & diffs.intelmq.lib.test
:BotTestCase
drops privileges upon initialization (#1489).intelmq.lib.bot
:- New class
OutputBot
:- Method
export_event
to format/export events according to the parameters given by the user.
- Method
ParserBot
: New methodsparse_json_stream
andrecover_line_json_stream
.ParserBot.recover_line_json
: Fix format by adding a list around the line data.Bot.send_message
: In debugging log level, the path to which the message is sent is now logged too.
- New class
Bots
- Bots with dependencies: Use of
intelmq.lib.exceptions.MissingDependencyError
.
Collectors
intelmq.bots.collectors.misp.collector
: Deprecate parametermisp_verify
in favor of generic parameterhttp_verify_cert
.intelmq.bots.collectors.tcp.collector
: Drop compatibility with Python 3.4.intelmq.bots.collectors.stomp.collector
:- Check the stomp.py version and show an error message if it does not match.
- For stomp.py versions
>= 5.0.0
redirect thestomp.PrintingListener
output to debug logging.
intelmq.bots.collectors.microsoft.collector_azure
: Support current Python libraryazure-storage-blob>= 12.0.0
, configuration is incompatible and needs manual change. See NEWS file and bot's documentation for more details.intelmq.bots.collectors.amqp.collector_amqp
: Requirepika
minimum version 1.0.intelmq.bots.collectors.github_api.collector_github_contents_api
: Added (PR#1481).
Parsers
intelmq.bots.parsers.autoshun.parser
: Drop compatibility with Python 3.4.intelmq.bots.parsers.html_table.parser
: Drop compatibility with Python 3.4.intelmq.bots.parsers.shadowserver.parser
: Add support for MQTT and Open-IPP feeds (PR#1512, PR#1544).intelmq.bots.parsers.taichung.parser
:- Migrate to
ParserBot
. - Also parse geolocation information if available.
- Migrate to
intelmq.bots.parsers.cymru.parser_full_bogons
:- Migrate to
ParserBot
. - Add last updated information in raw.
- Migrate to
intelmq.bots.parsers.anubisnetworks.parser
: Add new parameteruse_malware_familiy_as_classification_identifier
.intelmq.bots.parsers.microsoft.parser_ctip
: Compatibility for new CTIP data format used provided by the Azure interface.intelmq.bots.parsers.cymru.parser_cap_program
: Support foropenresolver
type.intelmq.bots.parsers.github_feed.parser
: Added (PR#1481).intelmq.bots.parsers.urlvir.parser
: Removed, as the feed is discontinued (#1537).
Experts
intelmq.bots.experts.csv_converter
: Added as converter to CSV.intelmq.bots.experts.misp
: Added (PR#1475).intelmq.bots.experts.modify
: New parametermaximum_matches
.
Outputs
intelmq.bots.outputs.amqptopic
:- Use
OutputBot
andexport_event
. - Allow formatting the routing key with event data by the new parameter
format_routing_key
(boolean).
- Use
intelmq.bots.outputs.file
: UseOutputBot
andexport_event
.intelmq.bots.outputs.files
: UseOutputBot
andexport_event
.intelmq.bots.outputs.misp.output_feed
: Added, creates a MISP Feed (PR#1473).intelmq.bots.outputs.misp.output_api
: Added, pushes to MISP via the API (PR#1506, PR#1536).intelmq.bots.outputs.elasticsearch.output
: Dropped ElasticSearch version 5 compatibility, added version 7 compatibility (#1513).
Documentation
- Document usage of the
INTELMQ_ROOT_DIR
environment variable. - Added document on MISP integration possibilities.
- Feeds:
- Added "Full Bogons IPv6" feed.
- Remove discontinued URLVir Feeds (#1537).
Packaging
setup.py
do not try to install any data to/opt/intelmq/
as the behavior is inconsistent on various systems and withintelmqsetup
we have a tool to create the structure and files anyway.debian/rules
:- Provide a blank state file in the package.
- Patches:
- Updated
fix-intelmq-paths.patch
.
- Updated
Tests
- Travis: Use
intelmqsetup
here too.- Install required build dependencies for the Debian package build test.
- This version is no longer automatically tested on Python
<
3.5. - Also run the tests on Python 3.8.
- Run the Debian packaging tests on Python 3.5 and the code-style test on 3.8.
- Added tests for the new bot
intelmq.bots.outputs.misp.output_feed
(#1473). - Added tests for the new bot
intelmq.bots.experts.misp.expert
(#1473). - Added tests for
intelmq.lib.exceptions
. - Added tests for
intelmq.lib.bot.OutputBot
andintelmq.lib.bot.OutputBot.export_event
. - Added IPv6 tests for
intelmq.bots.parsers.cymru.parser_full_bogons
. - Added tests for
intelmq.lib.bot.ParserBot
's new methodsparse_json_stream
andrecover_line_json_stream
. intelmq.tests.test_conf
: Set encoding to UTF-8 for reading thefeeds.yaml
file.
Tools
intelmqctl
:upgrade-config
:- Allow setting the state file location with the
--state-file
parameter. - Do not require a second run anymore, if the state file is newly created (#1491).
- New parameter
no_backup
/--no-backup
to skip creation of.bak
files for state and configuration files.
- Allow setting the state file location with the
- Only require
psutil
for theIntelMQProcessManager
, not for process manager independent calls likeupgrade-config
orcheck
. - Add new command
debug
to output some information for debugging. Currently implemented:- paths
- environment variables
IntelMQController
: New argument--no-file-logging
to disable logging to file.- If dropping privileges does not work,
intelmqctl
will now abort (#1489).
intelmqsetup
:- Add argument parsing and an option to skip setting file ownership, possibly not requiring root permissions.
- Call
intelmqctl upgrade-config
and add argument for the state file path (#1491).
intelmq_generate_misp_objects_templates.py
: Tool to create a MISP object template (#1470).intelmqdump
: New parameter-t
or--truncate
to optionally give the maximum length ofraw
data to show, 0 for no truncating.
Contrib
- Added
development-tools
. - ElasticSearch: Dropped version 5 compatibility, added version 7 compatibility (#1513).
- Malware Name Mapping Downloader:
- New parameter
--mwnmp-ignore-adware
. - The parameter
--add-default
supports an optional parameter to define the default value.
- New parameter