Флёнов Михаил Евгеньевич
Шрифт:
Метод дает 100% гарантию удачного подбора, но реализация может отнять недели или даже месяцы. Если администратор системы ежемесячно меняет пароли, то пока хакер занимается подбором, результат уже устаревает.
14.10.2. Удаленно или локально
Подбор паролей разделяют на удаленный и локальный. В первом случае хакер пытается подключиться к компьютеру по сети с разными паролями. Это наиболее опасный для него метод, потому что каждая неверная попытка регистрации записывается в журнал безопасности. Если вы хотя бы иногда заглядываете туда, то уже на раннем этапе сможете найти злоумышленника и предотвратить подбор с помощью запрета подключения с IP-адреса хакера. Есть еще одна проблема — подбор осуществляется к определенному сервису, но нет гарантии, что другая программа тоже будет использовать этот пароль. Кроме того, большинство сервисов имеют настройки, лимитирующие попытки входа. И если хакер не уложится в это ограничение, то соединение разрывается, и его приходится восстанавливать. Каждое подключение — это лишние затраты времени, которые увеличивают время подбора даже по словарю.
Для того чтобы подбор оказался долгим занятием, в некоторых сервисах есть возможность при неправильном указании параметров доступа искусственно делать задержку между попытками ввода. Ярким примером является сама ОС. Попробуйте при регистрации в Linux указать неверный пароль или имя пользователя. ОС будет производить проверку намного дольше, чем при указании правильных параметров. Чем больше задержка, тем больше времени необходимо хакеру для подбора пароля.
Но это препятствие довольно просто обойти. Достаточно запустить несколько потоков подбора, которые будут параллельно подключаться к серверу.
Наиболее эффективный метод защиты в этом случае — запрет подключения с IP-адреса к серверу с помощью сетевого экрана. Если вы заметили, что кто-то пытается подобрать пароль, немедленно определите IP-адрес злоумышленника и добавьте запрещающий фильтр в сетевой экран.
Из-за сложности подбора пароля хакеры стремятся получить доступ к файлу /etc/shadow и скачать его на свой компьютер, чтобы работать с ним локально. В этом случае операция происходит намного быстрее по следующим причинам:
□ хакеру становятся известны реальные имена пользователей, которые зарегистрированы на сервере;
□ защита сервера уже не может ничем помочь, потому что вы потеряли контроль над паролями;
□ т.к. пароли хранятся в файле в зашифрованном виде, достаточно один раз зашифровать его и сравнить со всеми кэш-суммами. Чем больше в файле записей, тем больше вероятность, что хотя бы один пароль подойдет;
□ в больших файлах паролей существует вероятность, что хотя бы один пользователь задал в качестве пароля регистрационное имя.
Локальный взлом намного быстрее и безопаснее, единственная проблема заключается в том, как получить файл /etc/shadow. Этот файл доступен для чтения и записи только администратору root, а все остальные пользователи не могут его увидеть.
14.10.3. Защита
Защиты от подбора пароля в принципе нет и не может быть. Если хакер получит доступ к файлу /etc/shadow, то можно считать, что пароль у него в руках. Но если следовать следующим правилам, то можно избежать взлома:
□ меняйте пароли каждый месяц. Если хакер взламывает систему удаленно, то это может сделать подбор невыполнимым. Если взлом происходит локально, то пока хакер подберет пароль, он уже изменится;
□ проверяйте свои пароли на стойкость от подбора по словарю. Если найдено несоответствие критерию, заставьте пользователя сменить пароль;
□ устанавливайте сложные и длинные пароли, чтобы подбор по словарю стал невозможным;
□ защищайте файл /etc/shadow. Если файл /etc/passwd нужен для чтения всем пользователям для нормальной работы множества утилит, то /etc/shadow необходимо охранять всеми возможными средствами;
□ следите за журналом безопасности на предмет появления большого количества записей о неверном входе в систему.
Соблюдая эти правила, вы понизите вероятность взлома вашей системы методом перебора паролей.
В разд. 2.6 мы говорили о необходимости создания сложных паролей и рассмотрели некоторые рекомендации по этому вопросу. А сейчас я хочу предложить вам для этого еще один интересный метод:
□ создайте файл pass.txt с текстом, который нужно использовать в качестве пароля, например:
□ шифруем файл с помощью OpenSSL. Для этого выполняем команду:
□ просмотрите содержимое файла pass.txt.s. В нем будет зашифрованный текст, который вы записали в файл pass.txt. Выберите читаемые символы и используйте их в качестве пароля. Такое нарочно не придумаешь, поэтому программы подбора по словарю будут бессильны, останется только полный перебор.