Linux глазами хакера
Шрифт:
Здесь
□
□
□
□
□
□
□
□
□
□
4.3.6. Взлом паролей
Я еще раз хочу напомнить о недопустимости использования простых паролей не только для администратора, но и для всех пользователей системы. Если проследить за уязвимостями, которые находят в Linux-системах, то очень часто можно увидеть сплоиты, которые позволяют повысить права хакера от простого пользователя до root. Если взломщик не сможет получить доступ даже в качестве простого пользователя, то и воспользоваться сплоитом будет невозможно.
Сложные пароли должны быть абсолютно у всех пользователей. Если хакер получит доступ к файлу /etc/shadow с 1000 записями, то подбор паролей весьма упрощается. Вспомните, как хранятся пароли. Они зашифрованы необратимым образом. Это значит, что при простом переборе каждый возможный вариант тоже шифруется, а потом сравнивается с результатом из файла /etc/shadow. За счет того, что кодирование отнимает достаточно много процессорного времени, сопоставление становится
Подбирать сложно, если вы сравниваете только с одной записью. А если в системе 1000 пользователей, то достаточно один раз зашифровать возможный вариант пароля и потом соотнести его с 1000 записями в файле паролей. Вероятность попадания увеличивается в несколько раз и подбор упрощается.
Когда хакеры получают файл /etc/shadow, то первым делом запускается проверка всех записей, в которых имя пользователя и пароль одинаковы. Вы не поверите, но такое встречается очень часто, и если файл паролей большой, то с вероятностью 0,9 можно сказать, что хакер найдет такую запись.
Если это не помогло, то в ход идет перебор всех часто используемых слов. Вот тут уже вероятность попадания близка к 100%, потому что из десяти пользователей один обязательно будет новичком и установит простой пароль. Вы должны проводить обучение каждого нового пользователя (в частности, по вопросу указания пароля) и самостоятельно запускать программу сопоставления паролей с часто используемыми словами. Если вам удалось подобрать, то хакер тем более сделает это.
4.4. Типичные ошибки распределения прав
Строгое распределение прав может значительно обезопасить систему. При правильной регламентации доступа большинство взломов могут оказаться неэффективными. Например, однажды в Интернете появилось сообщение, что один из сервисов ОС Linux содержит ошибку. Благодаря хорошему распределению прав мой сервер оказался защищенным от проникновения через эту дыру. Злоумышленник мог пробраться на сервер, но ничего изменить или удалить нельзя, потому что внешним пользователям этого сервиса все файлы открыты только для чтения.
Итак, если у вас хорошо настроены права доступа, то это может оказаться непреодолимой преградой для злоумышленника.
Давайте рассмотрим классический пример с файлами и каталогами. Допустим, что у вас на каталог поставлены максимальные права
Чтобы этого не произошло, вы должны ограничивать доступ не только к файлам, но и каталогам.
Бывают случаи, когда директория должна иметь все права. Это открытые папки, через которые пользователи могут обмениваться файлами. Но при этом нужно защититься таким образом, чтобы только администратор или владелец файла могли его удалять. Все остальные пользователи не должны иметь прав на уничтожение уже существующих чужих файлов. Как же решить эту проблему, когда директорию необходимо сделать доступной всем, а ее содержимым должны управлять только хозяева?