PDA

Просмотр полной версии : ssh брутфорс


InS7
30.09.2008, 18:12
обнаружил в логах:
Sep 27 23:01:44 3k304-02 sshd[8720]: Invalid user mysql from 206.253.146.5
Sep 27 23:01:44 3k304-02 sshd[8720]: pam_unix(sshd:auth): check pass; user unknown
Sep 27 23:01:44 3k304-02 sshd[8720]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=amickdsw.amickfarms.com
Sep 27 23:01:46 3k304-02 sshd[8720]: Failed password for invalid user mysql from 206.253.146.5 port 60848 ssh2
Sep 27 23:01:47 3k304-02 sshd[8722]: Invalid user mysql from 206.253.146.5
Sep 27 23:01:47 3k304-02 sshd[8722]: pam_unix(sshd:auth): check pass; user unknown
Sep 27 23:01:47 3k304-02 sshd[8722]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=amickdsw.amickfarms.com
Sep 27 23:01:49 3k304-02 sshd[8722]: Failed password for invalid user mysql from 206.253.146.5 port 60988 ssh2
-------
Sep 23 07:14:13 3k304-02 sshd[25650]: Failed password for root from 89.97.55.57 port 58641 ssh2
Sep 23 07:14:13 3k304-02 sshd[25652]: Invalid user murray from 89.97.55.57
Sep 23 07:14:13 3k304-02 sshd[25652]: pam_unix(sshd:auth): check pass; user unknown
Sep 23 07:14:13 3k304-02 sshd[25652]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=89-97-55-57.ip16.fastwebnet.it
Sep 23 07:14:15 3k304-02 sshd[25652]: Failed password for invalid user murray from 89.97.55.57 port 58712 ssh2
Sep 23 07:14:16 3k304-02 sshd[25654]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=89-97-55-57.ip16.fastwebnet.it + user=root

Посоветуйте какие адекватные меры можно предпринять
банить руками всех (iptables) по ип замучаешься.....

rmn
30.09.2008, 19:28
InS7, в правильно вопросе есть половина ответа. :) Банить руками незачем, есть утилиты, которые автоматом банят через тот же iptables хосты и даже целые подсети.
например, см., fail2ban
http://opensource.com.ua/forum/showthread.php?t=235

и до кучи на выбор еще несколько решений :)
http://en.wikipedia.org/wiki/Category:Brute_force_blocking_software

InS7
30.09.2008, 21:54
мм, fail2ban понравился

еще нашел в логах апача вот что:
- - - [29/Sep/2008:20:21:07 +0400] "GET /user/soapCaller.bs HTTP/1.1" 404 186 "-" "Morfeus Fucking Scanner"
- - - [29/Sep/2008:20:21:11 +0400] "GET /user/soapCaller.bs HTTP/1.1" 404 186 "-" "Morfeus Fucking Scanner"
как написано тут (http://ekle.us/index.php/2007/05/update_on_morfeus_fucking_scanner)

scanner that looks for vulnerabilities in PHP based web sites (as this one is)

сделал .htaccess
а теперь вопрос, куда в access логе делись ip кто обращался?

Добавлено через 6 минут
кто то на webdav ломился, хотя у меня модуля даже нет mod_dav

- - - [28/Sep/2008:13:20:26 +0400] "OPTIONS / HTTP/1.1" 200 - "-" "Microsoft-WebDAV-MiniRedir/5.1.2600"
- - - [28/Sep/2008:13:20:26 +0400] "PROPFIND /SysVol HTTP/1.1" 405 232 "-" "Microsoft-WebDAV-MiniRedir/5.1.2600"
- - - [28/Sep/2008:15:28:56 +0400] " " 501 212 "-" "-"
- - - [28/Sep/2008:15:44:00 +0400] "GET /user/soapCaller.bs HTTP/1.1" 404 186 "-" "Morfeus Fucking Scanner"
а ипов все равно нет

rmn
30.09.2008, 22:02
InS7, это уже не брутфорс ;) и офтопик.
лог попортился после того, как добавил директив апачу?
посмотри лог ошибок апача.

InS7
30.09.2008, 22:09
и офтопик
не хотел просто плодить топиков на пару предложений
лог попортился после того, как добавил директив апачу?
нет так был

в логе ошибок ничего нет

3k304-02:~# cat /var/log/apache2/error.log
[Sun Sep 28 06:25:02 2008] [notice] Apache/2.2.* (Debian) PHP/5.2.6-3 with Suhosin-Patch configured -- resuming normal operations
[Sun Sep 28 15:28:56 2008] [error] [client 70.38.11.119] Invalid method in request
[Sun Sep 28 15:44:00 2008] [error] [client 74.208.44.185] File does not exist: /httpdocs/user
[Mon Sep 29 13:46:02 2008] [error] [client 172.20.*.*] user ins7: authentication failure for "/dir": Password Mismatch
[Mon Sep 29 13:46:09 2008] [error] [client 172.20.*.*] File does not exist: /httpdocs/squid-reports, referer: http://172.20.*.*/dir/
[Mon Sep 29 13:46:09 2008] [error] [client 172.20.*.*] File does not exist: /httpdocs/favicon.ico
[Mon Sep 29 13:46:13 2008] [error] [client 172.20.*.*] File does not exist:/httpdocs/favicon.ico
[Mon Sep 29 19:25:18 2008] [error] [client 62.80.172.199] File does not exist: /httpdocs/squid.grep.conf, referer: http://www.linux.org.ru/view-message.jsp?msgid=3078939
[Mon Sep 29 19:25:18 2008] [error] [client 62.80.172.199] File does not exist: /httpdocs/favicon.ico
[Mon Sep 29 19:25:21 2008] [error] [client 62.80.172.199] File does not exist: /httpdocs/favicon.ico
[Mon Sep 29 20:21:07 2008] [error] [client 190.196.9.138] File does not exist: /httpdocs/user
[Mon Sep 29 20:21:11 2008] [error] [client 190.196.9.138] File does not exist: /httpdocs/user
в sites-enabled/
CustomLog /var/log/apache2/access.log combined

rmn
30.09.2008, 22:29
всегда так было? :)
Проверь директиву LogFormat
grep -ri LogFormat /etc/apache2/conf/ , ну или где конфиги апача лежат.

InS7
30.09.2008, 23:07
3k304-02:~# grep -ri LogFormat /etc/apache2/apache2.conf
LogFormat "%{X-Real-IP}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
не понимаю в чем дело :(

rmn
30.09.2008, 23:23
InS7, %{X-Real-IP}i осознанно вписано? По умолчанию там ведь %h

InS7
30.09.2008, 23:38
InS7, %{X-Real-IP}i осознанно вписано? По умолчанию там ведь %h
нет, было, вообщем разобрался, всё, спасиб rmn

tmp0000
01.10.2008, 12:56
злые хацкиры ломятся с мира
Это скорее инфицированные машины под управлением сами-знаете-чего ;)

rmn
01.10.2008, 18:27
причем преимущественно китайцы ;)
в принципе, можно забанить всю Азию - жить станет легче. :D
Один благородный японец регулярно обновляет список вражьих сетей. Пользуйтесь. :)
http://www.hakusan.tsg.ne.jp/tjkawa/lib/krfilter/index-e.jsp

InS7
01.10.2008, 20:28
точно китайцы, посмотрел один из забаненых ip

2:~# whois 218.22.27.132
% [whois.apnic.net node-2]
% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html

inetnum: 218.22.0.0 - 218.23.255.255
netname: CHINANET-AH
country: CN
descr: CHINANET Anhui province network
descr: Data Communication Division
descr: China Telecom
admin-c: CH93-AP
tech-c: AT318-AP
status: ALLOCATED PORTABLE
mnt-by: APNIC-HM
mnt-lower: MAINT-CHINANET-AH
changed: hm-changed@apnic.net 20060322
source: APNIC

зы. японец нереально крут, собрал 2251 подсетей :blink:

Добавлено через 13 минут
зыы.в принципе я согласен что всю азию нужно забанить, в ближайщее время из Китая админить не собираюсь, та что... :)

Добавлено через 34 минуты
хотел спросить у rmn
возможен ли такой вариант:

iptables -N ASIA //создадим цепочку ASIA
iptables -A ASIA -j RETURN // что не подошло вернем в основные "INPUT"
iptables -I INPUT 1 -d [мой мировой ip] -p tcp -m state --state NEW -j ASIA //все новые входящие tcp проверим на вшивость

iptables -I ASIA -s 58.2.0.0/16 -j DROP
//и так далее

у него слишком уж мудрённо

rmn
01.10.2008, 20:42
InS7, сначала должны в цепочке идти все дропы, а затем RETURN. ;)

InS7
01.10.2008, 20:55
так я же параметр I использую, все дропы вверх

Добавлено через 34 секунды
всеж правильно
iptables -I ASIA -s 58.2.0.0/16 -j DROP

rmn
01.10.2008, 21:40
InS7, :) если тебе не влом переделывать готовые команды, флаг в руки, барабан на шею. Я лишь написал про минимальные правки того, что предложил японец.

InS7
01.10.2008, 22:14
переделывание заняло 10 секунд, все таки не ручками же....какой то оффтоп

rmn
01.10.2008, 22:20
InS7, ;) это лишний гемор. Списки эти нужно обновлять, проще ведь стянуть их wget и без переделки скормить готовому скрипту японца, заменив одну строчку. А тебе еще пришлось че-то своё писать. С таким же успехом можно было пойти по стопам японца и написать парсер APNIC баз. ;)

InS7
01.10.2008, 23:05
дык а если у меня уже были правила в инпуте, то по его схеме если они не с тех сетей, то пройдут дальше, даже не проходя правила инпут вниз

3k304-02:~# iptables -L KRFILTER -nv --line-number
2251 0 0 KRFILTERED all -- * * 222.248.0.0/14 0.0.0.0/0
2252 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0

вот как видно 2252 правило пропускает все пакеты на все порты, то есть если не с тех сетей, то можно ломиться куда хочешь, в обход правил INPUT
Я думаю надо заменить на return, чтобы оно вернулось в INPUT?

Добавлено через 5 минут
если заменить

iptables -A KRFILTER -j ACCEPT
на
iptables -A KRFILTER -j RETURN
а
iptables -A INPUT -p tcp -m state --state NEW -j KRFILTER
на
iptables -I INPUT -p tcp -m state --state NEW -j KRFILTER
тогда можностянуть их wget и без переделки...

rmn
01.10.2008, 23:07
InS7, о чем и речь! ;) там, вообще говоря, косяк. Или наоборот, типа сам дурак, если выполнил все команды, не понимая, что они делают. :)

Добавлено через 1 минуту
дык а если у меня уже были правила в инпуте, то по его схеме если они не с тех сетей, то пройдут дальше, даже не проходя правила инпут вниз

3k304-02:~# iptables -L KRFILTER -nv --line-number
2251 0 0 KRFILTERED all -- * * 222.248.0.0/14 0.0.0.0/0
2252 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0

вот как видно 2252 правило пропускает все пакеты на все порты, то есть если не с тех сетей, то можно ломиться куда хочешь, в обход правил INPUT
Я думаю надо заменить на return, чтобы оно вернулось в INPUT?[I]
я про это. :) ACCEPT должен быть заменён на RETURN