В этой статье рассказывается о настройках “auditd” на сервере Linux. Первая часть статьи посвящена базовым (стартовым) настройкам аудита. Во второй части статьи речь пойдет об организации дополнительного мониторинга сервера. Например, web-сервера, находящегося в “открытом” интернет пространстве.
Author: testsoft
CVE-2021-44228. Мониторинг и обнаружение уязвимости Log4j.
На странице содержится информация об уязвимости компонента Log4j, Apache. Ниже представлены примеры атак на web-сервера testsoft по обнаружению CVE-2021-44228 и попытках эксплуатации уязвимости.
Патерны logstash для syslog и *beat в elasticsearch. Двойная конфигурация приема логов windows/linux.
На этой странице показаны настройки logstash и патерны для парсинга логов, которые использованы в этом проекте. Конфигурация обновляется, если вы заметили ошибки в парсере, пожалуйста, напишите в комментариях. Для передачи логов linux систем, используется syslog, конечно, для настройки парсинга syslog в elasticseach нужно некоторое время, но такая конфигурация кажется мне более правильной. Использование syslog позволяет…
Пример мониторинга атак на web-серверы. Статистика по странам.
На карте отмечено географическое расположение серверов и число попыток эксплуатаций уязвимостей на серверах testsoft за месяц (февраль 2021). Статистика представлена по серверам на площадках: Aws, Google, Digital Ocean, Yandex Cloud, Aruba, Ovh, Fozzy, Azure, Oracle
CHAPTER 2. Filebeat Install and config remote log shiping
CHAPTER 2. REMOTE SERVER CONFIG FOR LOG SHIPING (FILEBEAT) Part 2.1. Filebeat install and config build-in modules for remote log shipping Part 2.2. Filebeat setup for custom file read and log shipping
CHAPTER 1. Elasticsearch, logstash, kibana install and config on linux server
CHAPTER 1. INSTALL AND CONFIG ELASTICSEARCH, LOGSTASH, KIBANA Part 1.1. Install elastic search Part 1.2. Install kibana and nginx proxy Part 1.3. Install logstash on local ELK server Part 1.4. Install filebeat for local ELK loging Part 1.5. Create index for filebeat
Multiple logstash input. Syslog and beats log receive
Simple example to receive log files from syslog and beats in elasticsearch using logstash vi /etc/logstash/conf.d/multisample.conf input { beats { port => 5044 tags => “beats” ssl => false } udp { port => 5055 tags => “syslog” type => “syslog” } } filter { if [type] == “syslog” { grok { match => {…
Arcsight flexConnector for Fail2Ban
#fail2ban 2020-12-01 05:01:08,966 fail2ban.filter [893]: INFO [sshd] Found 1.1.1.1 – 2020-12-01 05:01:08 regex=(fail2ban)\\s+(.*) token.count=2 token[0].name=type token[0].type=String token[1].name=body token[1].type=String event.deviceVendor=__stringConstant(“fail2ban”) event.deviceProduct=__stringConstant(“fail2ban”) event.sourceUserPrivileges=__stringConstant(“fail2ban”) event.deviceProcessName=__stringConstant(“fail2ban”) event.flexString2=body event.flexString2Label=__stringConstant(“raw”) event.name=type event.message=body submessage.messageid.token=type submessage.token=body submessage.count=1 submessage[0].messageid=fail2ban submessage[0].pattern.count=1 #2020-12-01 06:23:17,883 fail2ban.filter [893]: INFO [sshd] Found 1.1.1.1 – 2020-12-01 06:23:17 submessage[0].pattern[0].regex=(\\d+\\-\\d+\\-\\d+\\s+\\d+\\:\\d+\\:\\d+\\,\\d+)\\s+([^\\s]+)\\s+\\[(\\d+)\\]\\:\\s+(\\w+)\\s+\\[([^]]+)\\]\\s+((Found|Ban|Unban)?\\s+(\\d+.\\d+.\\d+.\\d+)?.*) submessage[0].pattern[0].mappings=$1|$2|$3|$4|$5|$6|$7|$8 submessage[0].pattern[0].fields=event.deviceCustomString1,event.name,event.deviceCustomString4,event.deviceSeverity,event.targetProcessName,event.message,event.deviceAction,event.attackerAddress submessage[0].pattern[0].extramappings=event.name\=__concatenate($2,” “,$5)|event.deviceSeverity=__toLowerCase($4)|event.deviceCustomString1Label=__stringConstant(“time_local”)|event.deviceCustomString4Label=__stringConstant(“pid”) #$1 – event.deviceCustomString1 – time_local #$2 – event.name…
Arcsight flexConnector for openVPN
regex=(openvpn)\\[.*\\]:\\s(.*) token.count=2 token[0].name=type token[0].type=String token[1].name=body token[1].type=String event.deviceVendor=__stringConstant(“openvpn”) event.deviceProduct=__stringConstant(“openvpn”) event.sourceUserPrivileges=__stringConstant(“openvpn”) event.deviceProcessName=__stringConstant(“openvpn”) event.flexString2=body event.name=type event.message=body submessage.messageid.token=type submessage.token=body submessage.count=1 submessage[0].messageid=openvpn submessage[0].pattern.count=3 submessage[0].pattern[0].regex=([^\\/]+)\\/(\\d+.\\d+.\\d+.\\d+):(\\d+)\\s+(.*) submessage[0].pattern[0].mappings=$1|$2|$3|$4 submessage[0].pattern[0].fields=event.targetUserName,event.attackerAddress,event.attackerPort,event.message submessage[0].pattern[1].regex=(\\d+.\\d+.\\d+.\\d+):(\\d+)\\s+(.*) submessage[0].pattern[1].mappings=$1|$2|$3 submessage[0].pattern[1].fields=event.attackerAddress,event.attackerPort,event.message submessage[1].pattern.count=1 submessage[1].pattern[0].regex=(.*) submessage[1].pattern[0].fields=event.message submessage[1].pattern[0].extramappings=event.reason=__stringConstant(“unparsed”)
Arcsight flexConnector for WordPress
##################### # ### TESTSOFT.NET ### # ############################ ### ArcSight Parser For WordPress Stock Logformat v1.0 ### #wordpress(testsoft.net)[3673]: Authentication attempt for unknown user admin from 1.1.1.1 regex=(wordpress)(.*) token.count=2 token[0].name=type token[0].type=String token[1].name=body token[1].type=String event.deviceVendor=__stringConstant(“wordpress”) event.deviceProduct=__stringConstant(“applog”) event.sourceUserPrivileges=__stringConstant(“wordpress”) event.deviceProcessName=__stringConstant(“wordpress”) event.flexString2=body event.flexString2Label=__stringConstant(“raw”) event.name=type event.message=body submessage.messageid.token=type submessage.token=body submessage.count=1 submessage[0].messageid=wordpress submessage[0].pattern.count=4 #(testsoft.net)[3673]: Authentication failure for testsoft from 1.1.1.1 submessage[0].pattern[0].regex=\\(([^)]+)\\)\\[([^]]+)\\]\\:\\s+(.*failure\\s+for\\s+([^\\s+]+)\\s+from\\s+(\\d+.\\d+.\\d+.\\d+).*) submessage[0].pattern[0].mappings=$1|$2|$3|$4|$5 submessage[0].pattern[0].fields=event.name,event.deviceCustomString4,event.message,event.targetUserName,event.attackerAddress submessage[0].pattern[0].extramappings=event.deviceCustomString4Label=__stringConstant(“pid”)|event.deviceSeverity=__stringConstant(“warning”)…