Чтение онлайн

на главную - закладки

Жанры

Linux глазами хакера

Флёнов Михаил Евгеньевич

Шрифт:

Жаль, что мы не можем запретить маршрутизацию от источника на компьютере хакера, но мы не должны принимать такие пакеты на своей стороне и тем более на компьютере, который выполняет роль шлюза в Интернет (прокси-сервер или сетевой экран). Для этого необходимо установить 1 в файле /proc/sys/net/ipv4/conf/all/accept_source_route или выполнить команду:

echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route

14.12.3. SNMP

Протокол SNMP (Simple Network Management Protocol, простой протокол сетевого управления)

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

Существует три версии этого протокола. Первая версия была разработана очень давно и, конечно же, осуществляла открытый обмен паролями и данными. Шифрование было добавлено в SNMP, начиная со второй версии. Именно поэтому первую версию не рекомендуется использовать, а лучше даже запретить.

У SNMP есть еще один недостаток — протокол использует в качестве транспорта UDP-протокол, который не поддерживает виртуальное соединение, и передача осуществляется простой отправкой пакетов в сеть без подтверждения доставки и без каких-либо авторизаций, т.е. злоумышленник легко может подделать любые поля пакета.

Я не рекомендую использовать SNMP вообще, потому что для большинства задач можно обойтись без него. Конечно же, шифрование, добавленное во второй версии, значительно повысило безопасность, и его можно стало применять даже в особо важных случаях. Но необходимо сначала убедиться, что вы работаете именно со второй или более старшей версией и шифрование используется.

14.12.4. Полный путь

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

Рассмотрим пример того, как злоумышленник может использовать короткие имена в своих целях на примере команды

ls
:

□ хакер создает в каком-либо каталоге (например, в общедоступном /tmp) файл с таким же именем, как и у атакуемой программы;

□ в этот файл может быть записан сценарий, который выполняет необходимые хакеру действия.

Например, следующий код может быть записан в такой файл:

#!/bin/sh

# Изменяем права доступа к файлам /etc/passwd и /etc/shadow

chmod 777 /etc/passwd > /dev/null

chmod 777 /etc/shadow > /dev/null

# Выполняем программу

ls exec /bin/ls "$@"

В данном примере выполняется всего три команды. Первые две изменяют права доступа к файлам /etc/passwd и /etc/shadow так, чтобы любой пользователь смог их прочитать. При этом все сообщения, которые могут возникнуть во время выполнения команд, направляются на нулевое устройство /dev/null, чтобы они не отображались на экране. После этого выполняется системная команда

ls
из каталога
bin
.

Теперь устанавливаем программе ls права, которые позволят выполнять ее любому пользователю:

chmod 777 /tmp/ls

Ложный

файл готов. Теперь необходимо сделать так, чтобы он выполнялся вместо системной команды
ls
. Для этого достаточно добавить в системную переменную окружения
PATH
в самое начало каталог /tmp. Если теперь кто-либо запустит команду
ls
без указания полного пути, то выполнится наш сценарий, который попытается изменить права доступа на файлы паролей. Если у пользователя, запустившего команду, хватит полномочий для изменения прав, то можно считать, что система взломана.

Следите за содержимым системной переменной окружения

PATH
, чтобы ее никто не изменил.

14.12.5. Доверительные хосты

В файле .rhosts можно прописать адреса хостов, которым вы доверяете. Пользователи этих компьютеров смогут подключаться к серверу без аутентификации с помощью таких программ, как Telnet или FTP.

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

14.12.6 Защита паролей

Для защиты паролей Linux достаточно только охранять файл /etc/shadow. Помимо этого вы должны контролировать сложность паролей, регулярно пытаясь подобрать пароль по популярным словарям, которые легко найти в Интернете (именно их используют хакеры). Если пароли сложные, то даже при получении файла взломщику понадобится слишком много времени, и скорей всего ничего не удастся.

Но не все так просто. Если пароли для доступа к системе защищаются самой ОС и обязательно шифруются, то остальные программы могут не иметь такой возможности. Например, в пользовательских программах для доступа к определенным сервисам, в частности FTP или POP3, может не использоваться шифрование, и в этом случае пароли могут находиться в конфигурационном файле в открытом виде.

Прежде чем устанавливать какую-либо программу, узнайте, где она хранит пароли и как они защищены (используется шифрование или нет). Устанавливайте такие права на файлы, чтобы доступ к ним мог получить только конкретный пользователь и администратор. Желательно, чтобы для группы стояли нулевые права, особенно если в ней может быть несколько пользователей.

Если отдельная группа создается для каждого пользователя, то группе можно выделить некоторые права. И все же, я бы не советовал этого делать, потому что неизвестно, что будет в будущем. Хакер может добавить себя в определенную группу, или вы сами можете случайно или намеренно объединить пользователей.

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

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

Поделиться:
Популярные книги

Столичный доктор. Том III

Вязовский Алексей
3. Столичный доктор
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Столичный доктор. Том III

Отвергнутая невеста генерала драконов

Лунёва Мария
5. Генералы драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Отвергнутая невеста генерала драконов

Огненный князь 4

Машуков Тимур
4. Багряный восход
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Огненный князь 4

Ротмистр Гордеев

Дашко Дмитрий Николаевич
1. Ротмистр Гордеев
Фантастика:
фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Ротмистр Гордеев

В зоне особого внимания

Иванов Дмитрий
12. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
В зоне особого внимания

Виконт. Книга 2. Обретение силы

Юллем Евгений
2. Псевдоним `Испанец`
Фантастика:
боевая фантастика
попаданцы
рпг
7.10
рейтинг книги
Виконт. Книга 2. Обретение силы

Темный Лекарь 2

Токсик Саша
2. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 2

Кротовский, не начинайте

Парсиев Дмитрий
2. РОС: Изнанка Империи
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Кротовский, не начинайте

Огненный князь 2

Машуков Тимур
2. Багряный восход
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Огненный князь 2

Случайная свадьба (+ Бонус)

Тоцка Тала
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Случайная свадьба (+ Бонус)

Комбинация

Ланцов Михаил Алексеевич
2. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Комбинация

Кодекс Охотника. Книга XXV

Винокуров Юрий
25. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
6.25
рейтинг книги
Кодекс Охотника. Книга XXV

Мастер 8

Чащин Валерий
8. Мастер
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Мастер 8

Дурная жена неверного дракона

Ганова Алиса
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Дурная жена неверного дракона