Невидимый защитник или поговорим о хакерах.

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

У каждого человека при слове хакер возникают ассоциации с людьми, жизнь которых овеяна ореолом романтики. Сразу всплывают образы молодых людей, которые посвятили свою жизнь изучению безопасности компьютерных систем и методов ее обхода. Для тех, кто смотрел фильмы “Хакеры”, “Военные игры”, “Опасная правда” и т.д. всплывают ассоциации с неким компьютерным андеграундом. Сегодня мы попытаемся разобраться, насколько реальность соответствует фильмам, и дадим несколько рекомендаций пользователям об элементарных правилах безопасности при работе в интернете.

На самом деле, сегодняшняя хакерская деятельность больше напоминает рутину, мало чем отличающуюся от любой другой работы. Для написания этой статьи мы подняли пару серверов на разных адресах в сети интернет, и понаблюдали за сетевой активностью на внешних интерфейсах. Мы использовали межсетевой экран iptables с функцией логирования пакетов. Буквально спустя 2 минуты после загрузки системы к нам на оба сервера пытались подключится по SSH (Сервис удаленного управления в системах UNIX) по несколько запросов в час.

июл 29 19:12:27 server1 kernel: IPTABLES BLOCK SSH!!! IN=enp6s0f0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx 
SRC=91.224.160.184 DST=ххх.ххх.ххх.ххх LEN=60 TOS=0x10 PREC=0x00 TTL=55 ID=2827 DF PROTO=TCP SPT=41344 DPT=22 
WINDOW=29200 RES=0x00 SYN URGP=0
июл 29 19:14:11 server1 kernel: IPTABLES BLOCK SSH!!! IN=enp6s0f0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx 
SRC=178.137.28.21 DST=ххх.ххх.ххх.ххх LEN=52 TOS=0x08 PREC=0x60 TTL=115 ID=1837 DF PROTO=TCP SPT=50478 DPT=22 
WINDOW=8192 RES=0x00 SYN URGP=0
июл 29 19:15:51 server1 kernel: IPTABLES BLOCK SSH!!! IN=enp6s0f0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx 
SRC=190.95.172.202 DST=ххх.ххх.ххх.ххх LEN=60 TOS=0x08 PREC=0x60 TTL=41 ID=2148 DF PROTO=TCP SPT=57740 DPT=22 
WINDOW=5840 RES=0x00 SYN URGP=0
июл 29 19:40:59 server1 kernel: IPTABLES BLOCK SSH!!! IN=enp6s0f0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx 
RC=91.224.160.10 DST=ххх.ххх.ххх.ххх LEN=60 TOS=0x10 PREC=0x00 TTL=55 ID=15348 DF PROTO=TCP SPT=57249 DPT=22 
WINDOW=29200 RES=0x00 SYN URGP=0
июл 29 20:01:29 server1 kernel: IPTABLES BLOCK SSH!!! IN=enp6s0f0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx 
SRC=195.154.56.56 DST=ххх.ххх.ххх.ххх LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=51508 DF PROTO=TCP SPT=49970 DPT=22 
WINDOW=512 RES=0x00 SYN URGP=0
июл 29 20:23:47 server1 kernel: IPTABLES BLOCK SSH!!! IN=enp6s0f0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx 
SRC=178.137.28.21 DST=ххх.ххх.ххх.ххх LEN=52 TOS=0x08 PREC=0x60 TTL=115 ID=1417 DF PROTO=TCP SPT=59617 DPT=22 
WINDOW=8192 RES=0x00 SYN URGP=0
июл 29 20:24:19 server1 kernel: IPTABLES BLOCK SSH!!! IN=enp6s0f0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx 
SRC=195.154.59.197 DST=ххх.ххх.ххх.ххх LEN=40 TOS=0x00 PREC=0x00 TTL=245 ID=6271 DF PROTO=TCP SPT=49970 DPT=22 
WINDOW=512 RES=0x00 SYN URGP=0
июл 29 20:25:31 server1 kernel: IPTABLES BLOCK SSH!!! IN=enp6s0f0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx 
SRC=58.18.186.131 DST=ххх.ххх.ххх.ххх LEN=60 TOS=0x08 PREC=0x60 TTL=235 ID=27861 DF PROTO=TCP SPT=57215 DPT=22
WINDOW=5840 RES=0x00 SYN URGP=0
июл 29 20:40:06 server1 kernel: IPTABLES BLOCK SSH!!! IN=enp6s0f0 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx 
SRC=42.81.45.234 DST=ххх.ххх.ххх.ххх LEN=48 TOS=0x00 PREC=0x00 TTL=106 ID=33828 PROTO=TCP SPT=25856 DPT=22 
WINDOW=65535 RES=0x00 SYN URGP=0

По сервису определения географии ip-адресов мы выяснили, что их география обхватывает почти весь мир, мы наблюдали попытки подключения с Киева, Амстердама, Парижа, Пекина и т.д. Правда, в данном случае по географии мало чего можно сказать, т.к. эти ip-адреса вполне могут быть поддельными, либо являться анонимными прокси-серверами.

Поскольку эти попытки не прекращались, мы открыли 22 порт ssh для подключения, и понаблюдали за дальнейшими действиями. Поскольку предварительно был выбран достаточно надежный пароль, и система находилась под наблюдением и в случае взлома ничего бы не пострадало, мы были уверены в безопасности эксперимента. Эксперимент показал, что после открытия порта для удаленного управления атакующий просто запустил, так называемую, брутфорс атаку, т.е. атаку простым перебором паролей. Причем атакующих было несколько, если судить по ip-адресам. Атака продолжалась безостановочно 12 дней, после чего атакующие были вновь заблокированы межсетевым экраном.

июл 16 20:16:17 server2 sshd[532]: pam_unix(sshd:auth): authentication failure; tty=ssh ruser= rhost=116.31.116.41  user=root
июл 16 20:16:20 server2 sshd[532]: Failed password for root from 116.31.116.41 port 26377 ssh2
июл 16 20:16:25 server2 sshd[532]: Received disconnect from 116.31.116.41 port 26377:11:  [preauth]
июл 16 20:16:25 server2 sshd[532]: Disconnected from 116.31.116.41 port 26377 [preauth]
июл 16 20:16:25 server2 sshd[532]: PAM 2 more authentication failures; tty=ssh ruser= rhost=116.31.116.41  user=root
июл 16 20:16:31 server2 sshd[534]: pam_unix(sshd:auth): authentication failure; tty=ssh ruser= rhost=116.31.116.41  user=root
июл 16 20:16:33 server2 sshd[534]: Failed password for root from 116.31.116.41 port 11617 ssh2
июл 16 20:16:39 server2 sshd[534]: Received disconnect from 116.31.116.41 port 11617:11:  [preauth]
июл 16 20:16:39 server2 sshd[534]: Disconnected from 116.31.116.41 port 11617 [preauth]
июл 16 20:16:39 server2 sshd[534]: PAM 2 more authentication failures; tty=ssh ruser= rhost=116.31.116.41  user=root
июл 16 20:16:42 server2 sshd[536]: pam_unix(sshd:auth): authentication failure; tty=ssh ruser= rhost=116.31.116.41  user=root
июл 16 20:16:44 server2 sshd[536]: Failed password for root from 116.31.116.41 port 55585 ssh2
июл 16 20:16:50 server2 sshd[536]: Received disconnect from 116.31.116.41 port 55585:11:  [preauth]
июл 16 20:16:50 server2 sshd[536]: Disconnected from 116.31.116.41 port 55585 [preauth]
июл 16 20:16:50 server2 sshd[536]: PAM 2 more authentication failures; tty=ssh ruser= rhost=116.31.116.41  user=root
июл 16 20:16:53 server2 sshd[538]: pam_unix(sshd:auth): authentication failure; tty=ssh ruser= rhost=116.31.116.41  user=root
июл 16 20:16:55 server2 sshd[538]: Failed password for root from 116.31.116.41 port 37441 ssh2
июл 16 20:17:00 server2 sshd[538]: Received disconnect from 116.31.116.41 port 37441:11:  [preauth]
июл 16 20:17:00 server2 sshd[538]: Disconnected from 116.31.116.41 port 37441 [preauth]
июл 16 20:17:00 server2 sshd[538]: PAM 2 more authentication failures; tty=ssh ruser= rhost=116.31.116.41  user=root
июл 16 20:17:03 server2 sshd[540]: pam_unix(sshd:auth): authentication failure; tty=ssh ruser= rhost=116.31.116.41  user=root
июл 16 20:17:04 server2 sshd[540]: Failed password for root from 116.31.116.41 port 17715 ssh2
июл 16 20:17:10 server2 sshd[540]: Received disconnect from 116.31.116.41 port 17715:11:  [preauth]
июл 16 20:17:10 server2 sshd[540]: Disconnected from 116.31.116.41 port 17715 [preauth]
июл 16 20:17:10 server2 sshd[540]: PAM 2 more authentication failures; tty=ssh ruser= rhost=116.31.116.41  user=root
июл 16 20:17:13 server2 sshd[543]: pam_unix(sshd:auth): authentication failure; tty=ssh ruser= rhost=116.31.116.41  user=root
июл 16 20:17:15 server2 sshd[543]: Failed password for root from 116.31.116.41 port 48325 ssh2
июл 16 20:17:21 server2 sshd[543]: Received disconnect from 116.31.116.41 port 48325:11:  [preauth]
июл 16 20:17:21 server2 sshd[543]: Disconnected from 116.31.116.41 port 48325 [preauth]
.....
июл 28 17:51:57 server2 sshd[18913]: PAM 4 more authentication failures; tty=ssh ruser= rhost=91.224.160.131
июл 28 17:51:57 server2 sshd[18913]: PAM service(sshd) ignoring max retries; 5 > 3
июл 28 17:51:57 server2 sshd[18915]: Invalid user manager from 91.224.160.131
июл 28 17:51:57 server2 sshd[18915]: input_userauth_request: invalid user manager [preauth]
июл 28 17:51:57 server2 sshd[18915]: pam_tally(sshd:auth): pam_get_uid; no such user
июл 28 17:51:57 server2 sshd[18915]: pam_unix(sshd:auth): check pass; user unknown
июл 28 17:51:57 server2 sshd[18915]: pam_unix(sshd:auth): authentication failure; tty=ssh ruser= rhost=91.224.160.131
июл 28 17:51:59 server2 sshd[18915]: Failed password for invalid user manager from 91.224.160.131 port 40967 ssh2
июл 28 17:52:01 server2 sshd[18915]: Received disconnect from 91.224.160.131 port 40967:11:  [preauth]
июл 28 17:52:01 server2 sshd[18915]: Disconnected from 91.224.160.131 port 40967 [preauth]
июл 28 17:52:02 server2 sshd[18917]: Invalid user ubnt from 91.224.160.131
июл 28 17:52:02 server2 sshd[18917]: input_userauth_request: invalid user ubnt [preauth]
июл 28 17:52:02 server2 sshd[18917]: pam_tally(sshd:auth): pam_get_uid; no such user
июл 28 17:52:02 server2 sshd[18917]: pam_unix(sshd:auth): check pass; user unknown
июл 28 17:52:02 server2 sshd[18917]: pam_unix(sshd:auth): authentication failure; tty=ssh ruser= rhost=91.224.160.131
июл 28 17:52:04 server2 sshd[18917]: Failed password for invalid user ubnt from 91.224.160.131 port 32791 ssh2
июл 28 17:52:06 server2 sshd[18917]: Received disconnect from 91.224.160.131 port 32791:11:  [preauth]
июл 28 17:52:06 server2 sshd[18917]: Disconnected from 91.224.160.131 port 32791 [preauth]
июл 28 17:52:07 server2 sshd[18919]: Invalid user test from 91.224.160.131
июл 28 17:52:07 server2 sshd[18919]: input_userauth_request: invalid user test [preauth]
июл 28 17:52:07 server2 sshd[18919]: pam_tally(sshd:auth): pam_get_uid; no such user
июл 28 17:52:07 server2 sshd[18919]: pam_unix(sshd:auth): check pass; user unknown
июл 28 17:52:07 server2 sshd[18919]: pam_unix(sshd:auth): authentication failure; tty=ssh ruser= rhost=91.224.160.131
июл 28 17:52:09 server2 sshd[18919]: Failed password for invalid user test from 91.224.160.131 port 54325 ssh2
июл 28 17:52:09 server2 sshd[18919]: Connection reset by 91.224.160.131 port 54325 [preauth]
июл 28 18:04:49 server2 sshd[18930]: Received disconnect from 121.18.238.22 port 40117:11:  [preauth]
июл 28 18:04:49 server2 sshd[18930]: Disconnected from 121.18.238.22 port 40117 [preauth]
июл 28 18:30:28 server2 sshd[18945]: Received disconnect from 64.95.100.88 port 42360:11: Bye Bye [preauth]
июл 28 18:30:28 server2 sshd[18945]: Disconnected from 64.95.100.88 port 42360 [preauth]
июл 28 19:08:44 server2 sshd[18963]: Did not receive identification string from 103.207.36.219
июл 28 19:08:46 server2 sshd[18964]: Invalid user support from 103.207.36.219
июл 28 19:08:46 server2 sshd[18964]: input_userauth_request: invalid user support [preauth]
июл 28 19:08:47 server2 sshd[18964]: pam_tally(sshd:auth): pam_get_uid; no such user
июл 28 19:08:47 server2 sshd[18964]: pam_unix(sshd:auth): check pass; user unknown
июл 28 19:08:47 server2 sshd[18964]: pam_unix(sshd:auth): authentication failure; tty=ssh ruser= rhost=103.207.36.219
июл 28 19:08:49 server2 sshd[18964]: Failed password for invalid user support from 103.207.36.219 port 63900 ssh2
июл 28 19:08:49 server2 sshd[18964]: Received disconnect from 103.207.36.219 port 63900:11: Closed due to user request. [preauth]
июл 28 19:08:49 server2 sshd[18964]: Disconnected from 103.207.36.219 port 63900 [preauth]

Данный эксперимент показывает насколько интернет обитаем, и что в интернете присутствуют люди, которые постоянно следят за вновь появляющимися компьютерами в сети и пытаются получить к ним доступ. Кроме того, не надо думать, что ssh является единственным из атакуемых сервисов. Так или иначе, уязвимостям подвержены большинство из существующих сервисов. И только, если вы не используете OpenBSD, сам слоган этой операционной системы гласит “Всего 2 удаленных уязвимости, за бог знает сколько лет существования системы”, да и та не защищена от использования простых паролей, то знайте Вы находитесь под угрозой.

У рядовых пользователей возникнет естественный вопрос: “А зачем?” мы перечислим лишь некоторые из причин данной деятельности:

  • Организация спам-рассылки;
  • Организация DDoS атаки;
  • Превращение компьютера в анонимный прокси—сервер для дальнейших противоправных действий, например, атаки банка или другого защищенного учреждения, для обеспечения собственной анонимности;
  • Запуск на компьютере различного рода программ-шифраторов-вымогателей;
  • И т.д.

Это мы использовали функцию записи подобных пакетов, однако в большинстве систем данная функция отключена по умолчанию, и конечный пользователь даже не подозревает о том, что на его систему покушаются посторонние лица. Все это происходит благодаря межсетевому экрану, он же брандмауэр (нем. Brandmauer, от Brand — пожар и Mauer — стена), он же файерволл (англ. Firewall, от Fire – огонь и wall – стена). Межсетевой экран является неотъемлемой частью роутеров (в том числе и Wi-Fi), которые стоят в большинстве квартир, домов и компаний. Их основной целью, конечно, является разделение одного канала доступа в интернет на несколько компьютеров и других сетевых устройств (планшеты, сотовые телефоны, телевизоры и т.д.). Однако, помимо своих основных функций, они так же несут функции защиты конечных пользователей от вышеупомянутых деятелей, скрывая их за системой трансляции адресов (NAT), который, в большинстве систем, является неотъемлемой частью межсетевых экранов, а также защищая доступ к системе собственной конфигурации.

Правильная настройка межсетевых экранов в состоянии защитить Вас от 80% удаленных сетевых угроз при работе в интернете. Если вы заботитесь о своей безопасности в сети интернет, то хотя бы только ради этой функции стоит поставить дома роутер. Кроме того, большинство наших клиентов в качестве домашней, да и рабочей операционной системы, используют систему Microsoft Windows, которая, при всем своем великолепии, известна множеством уязвимостей, которые компания Microsoft закрывает обновлениями, которые выходят десятками каждый месяц. На большинство уязвимостей в операционных системах уже написан свой, так называемый, эксплоит (англ. exploit — эксплуатировать) – программа, позволяющая получить доступ к компьютеру посредством вышеуказанных уязвимостей. Роутеры защищают Ваши компьютеры от использования подобных программ.

Основываясь на всем вышеизложенном дадим еще пару советов конечным пользователям:

  • Меняйте стандартные пароли по умолчанию на роутерах. Этот пароль должны знать только Вы;
  • Если Ваш роутер поддерживает систему WPS (аутентификация по кнопке). Отключите ее, либо поменяйте стандартный пароль, т.к. эти пароли по умолчанию характерны для конкретных моделей роутеров и доступны в интернете;
  • Отключите, если включена, функцию доступа в панели управления роутером с интернета. Вам это в 99% случаев не надо, а хакеры смогут длительным перебором паролей все-таки подобрать пароль к панели управления и с роутера уже атаковать Ваш компьютер в домашней сети;
  • Разумеется, программное обеспечение роутеров, так же подвержено уязвимостям, поэтому обновляйте его. Обновления доступны на сайтах производителя роутера;
  • Обновляйте операционную систему на Вашем компьютере, несмотря на то, что она находится за роутером. Ведь Вы можете, например, с ноутбуком оказаться в незащищенной сети Wi-Fi, например, в кафе, где Ваш ноутбук может быть атакован хакером за соседним столиком. Или зайти на сайт, содержащий вредоносное программное обеспечение;
  • Используйте на своем компьютере антивирусное программное обеспечение. А также периодически проверяйте систему на наличие рекламного и вредоносного ПО.