Здравствуйте.
Подскажите пожалуйста кто как защищается от SIP Dictionary and Bruteforcing Attacks, средствами самого CommunigatePro,
и средствами OS.
В SMTP, HTTP и других есть запретить после Х на ХХ, а для SIP не нашли.
А вот недавний случай.
Лог :Установки-Real-Time-SIP-(Передача-Приём)-Уровень Журнала:СБОИ
IP Адрес сервера 192.100.ХХХ.ХХХ
Размер лог файла более 200мб, все записи такого типа.
04:05:29.714 1 ROUTER SYSTEM: '100@192.100.ХХХ.ХХХ' rejected. Error Code=unknown user account
Пользователя или псевдонима 100 на сервере нет, и очень странно что там еще и собственный адрес сервера.
Несколько дней спустя, уровень лога увеличен:
05:09:03.995 2 SIPDATA-050484 out: rsp [0.0.0.0]:5060 -> udp[95.142.165.203]:5078 404-REGISTER(315 bytes) 05:09:03.998 1 SIPDATA-050485 inp: err udp[95.142.165.203]:5078 packet(374 bytes). illegal opCode in cSeq 05:09:03.998 3 SIPDATA-050485 err: ACK sip:100@192.100.ХХХ.ХХХ SIP/2.0 05:09:03.998 3 SIPDATA-050485 err: Via: SIP/2.0/UDP 95.142.165.203:5078;branch=z9hG4bK-3460301728;rport 05:09:03.998 3 SIPDATA-050485 err: Content-Length: 0 05:09:03.998 3 SIPDATA-050485 err: From: "100"<sip:100@192.100.ХХХ.ХХХ>; tag=3130300131373839383937353131 05:09:03.998 3 SIPDATA-050485 err: Accept: application/sdp 05:09:03.998 3 SIPDATA-050485 err: User-Agent: friendly-scanner 05:09:03.998 3 SIPDATA-050485 err: To: "100"<sip:100@192.100.ХХХ.ХХХ> 05:09:03.998 3 SIPDATA-050485 err: Contact: sip:100@192.100.ХХХ.ХХХ 05:09:03.998 3 SIPDATA-050485 err: CSeq: 1 REGISTER ACK 05:09:03.998 3 SIPDATA-050485 err: Call-ID: 3074664473 05:09:03.998 3 SIPDATA-050485 err: Max-Forwards: 70 05:09:03.998 3 SIPDATA-050485 err: 05:09:03.999 2 SIPDATA-050486 inp: req [0.0.0.0]:5060 <- udp[95.142.165.203]:5083 REGISTER(359 bytes) sip:4@192.100.ХХХ.ХХХ 05:09:03.999 2 SIPDATA-050486 created SIPS-046480 05:09:03.999 1 ROUTER SYSTEM: '4@192.100.ХХХ.ХХХ' rejected. Error Code=unknown user account 05:09:03.999 1 SIGNAL-048016 failed to route the 'From' address '4@192.100.ХХХ.ХХХ'. Error Code=unknown user account 05:09:04.000 2 SIPDATA-050487 out: rsp [0.0.0.0]:5060 -> udp[95.142.165.203]:5083 404-REGISTER(304 bytes) 05:09:04.011 2 SIPDATA-050488 inp: req [0.0.0.0]:5060 <- udp[95.142.165.203]:5083 REGISTER(359 bytes) sip:5@192.100.ХХХ.ХХХ 05:09:04.011 2 SIPDATA-050488 created SIPS-046482 05:09:04.011 1 ROUTER SYSTEM: '5@192.100.ХХХ.ХХХ' rejected. Error Code=unknown user account 05:09:04.011 1 SIGNAL-048018 failed to route the 'From' address '5@192.100.ХХХ.ХХХ'. Error Code=unknown user account 05:09:04.011 2 SIPDATA-050489 out: rsp [0.0.0.0]:5060 -> udp[95.142.165.203]:5083 404-REGISTER(304 bytes) 05:09:04.912 1 SIPDATA-050490 inp: err udp[95.142.165.203]:5078 packet(374 bytes). illegal opCode in cSeq 05:09:04.912 3 SIPDATA-050490 err: ACK sip:101@192.100.ХХХ.ХХХ SIP/2.0 05:09:04.912 3 SIPDATA-050490 err: Via: SIP/2.0/UDP 95.142.165.203:5078;branch=z9hG4bK-2075177942;rport 05:09:04.912 3 SIPDATA-050490 err: Content-Length: 0 05:09:04.912 3 SIPDATA-050490 err: From: "101"<sip:101@192.100.ХХХ.ХХХ>; tag=3130310132323737323833343234 05:09:04.912 3 SIPDATA-050490 err: Accept: application/sdp 05:09:04.912 3 SIPDATA-050490 err: User-Agent: friendly-scanner 05:09:04.912 3 SIPDATA-050490 err: To: "101"<sip:101@192.100.ХХХ.ХХХ> 05:09:04.912 3 SIPDATA-050490 err: Contact: sip:101@192.100.ХХХ.ХХХ 05:09:04.912 3 SIPDATA-050490 err: CSeq: 1 REGISTER ACK 05:09:04.912 3 SIPDATA-050490 err: Call-ID: 3890601971 05:09:04.912 3 SIPDATA-050490 err: Max-Forwards: 70 05:09:04.912 3 SIPDATA-050490 err: 05:09:04.913 2 SIPDATA-050491 inp: req [0.0.0.0]:5060 <- udp[95.142.165.203]:5083 REGISTER(356 bytes) sip:6@192.100.ХХХ.ХХХ 05:09:04.913 1 ROUTER SYSTEM: '6@192.100.ХХХ.ХХХ' rejected. Error Code=unknown user account 05:09:04.913 1 SIGNAL-048020 failed to route the 'From' address '6@192.100.ХХХ.ХХХ'. Error Code=unknown user account 05:09:04.913 2 SIPDATA-050491 created SIPS-046484 05:09:04.913 2 SIPDATA-050492 out: rsp [0.0.0.0]:5060 -> udp[95.142.165.203]:5083 404-REGISTER(301 bytes) 05:09:04.924 1 SIPDATA-050493 inp: err udp[95.142.165.203]:5083 packet(358 bytes). illegal opCode in cSeq 05:09:04.924 3 SIPDATA-050493 err: ACK sip:1@192.100.ХХХ.ХХХ SIP/2.0 05:09:04.924 3 SIPDATA-050493 err: Via: SIP/2.0/UDP 95.142.165.203:5083;branch=z9hG4bK-4052544163;rport 05:09:04.924 3 SIPDATA-050493 err: Content-Length: 0 05:09:04.924 3 SIPDATA-050493 err: From: "1"<sip:1@192.100.ХХХ.ХХХ>; tag=310133333937353639343331 05:09:04.924 3 SIPDATA-050493 err: Accept: application/sdp 05:09:04.924 3 SIPDATA-050493 err: User-Agent: friendly-scanner 05:09:04.924 3 SIPDATA-050493 err: To: "1"<sip:1@192.100.ХХХ.ХХХ> 05:09:04.924 3 SIPDATA-050493 err: Contact: sip:1@192.100.ХХХ.ХХХ 05:09:04.924 3 SIPDATA-050493 err: CSeq: 1 REGISTER ACK 05:09:04.924 3 SIPDATA-050493 err: Call-ID: 1822939846 05:09:04.924 3 SIPDATA-050493 err: Max-Forwards: 70 05:09:04.924 3 SIPDATA-050493 err: ----------------------------------------------------------------------------------На данный момент отлов такого типа атак идет с помощью триггер-sms, и добавления в список запрещенных IP. Питались с помощью IPTABLES ограничить INVITE и REGISTER, работало, но криво. Попытались прикрутить fail2ban for Asterisk, но попытка закончилась при рассмотрении логов, и стало ясно что если и удастся прикрутить то останется только возможность блокировать самого себя. Подскажите кто либо прикручивал такую вещь,и как подкрутить само логирование сервера чтоб скрипт мог брать оттуда данные,сам скрипт ниже. Всем спасибо.
# Fail2Ban configuration file # # # $Revision: 250 $ #
[INCLUDES]
# Read common prefixes. If any customizations available -- read them from # common.local #before = common.conf
[Definition]
#_daemon = asterisk
# Option: failregex # Notes.: regex to match the password failures messages in the logfile. The # host must be matched by a group named "host". The tag "<HOST>" can # be used for standard IP/hostname matching and is only an alias for # (?:::f{4,6}:)?(?P<host>\S+) # Values: TEXT # failregex = NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Wrong password NOTICE.* .*: Registration from '.*' failed for '<HOST>' - No matching peer found NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Username/auth name mismatch NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Device does not match ACL NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Peer is not supposed to register NOTICE.* <HOST> failed to authenticate as '.*'$ NOTICE.* .*: No registration for peer '.*' \(from <HOST>\) NOTICE.* .*: Host <HOST> failed MD5 authentication for '.*' (.*) NOTICE.* .*: Failed to authenticate user .*@<HOST>.* # Option: ignoreregex # Notes.: regex to ignore. If this regex matches, the line is ignored.# Values: TEXT
Этот архив был сгенерирован hypermail 2.1.8 : Fri 24 Apr 2015 - 16:17:08 MSK