|

Безопасность в Линуксе с нуля
Xakep, номер #040, стр. 040-060-2
Безопасность файлов
Сначала поставь ограничения на лимит запускаемых файлов вместо стандартного "без ограничений". Для этого используй файл etc/pam.d/limits.conf, где пошамань немного и поставь, опять-таки по минимуму, право юзерам на процессы. Следующими в списке идут файлы /var/log/wtmp и /var/run/utmp, которые содержат всю необходимую инфу по залогиниваниям пользователей в твоей системе. Поэтому береги их и ни в коем случае не удаляй, ведь часто бывает так, что только по ним можно определить несанкционированный вход в систему. Одна из самых важных задач - уделить должное внимание всем SUID (set-user-id permissions) /SGID (set-group-id permissions) файлам. Например, иногда прокатывает такая фишка, что хацкер использует "рутовскую" SUID программу, оставляя SGID в качестве бекдора, чтобы с их помощью получить всю необходимую инфу. Для начала нужно найти SUID/SGID файлы. Заюзай следующую команду:
root# find / -type f \( -perm -04000 -o -perm -02000 \)
затем ты можешь изменить права доступа к ним либо просто-напросто удалить их, так как они содержат специальные преимущества при своем использовании. Файлы, которые содержат в себе слова, код и т.д., которые могу быть переписаны, тоже несут в себе определенную опасность. Обычно это системные файлы. Чтобы обнаружить файлы, используй команду:
root# find / -perm -2 -print
Так же - по аналогии - поступим с неизвестными файлами, которые умные люди могут использовать :). Команда:
root# find / -nouser -o -nogroup -print
сделает так, что у этих файлов не будет владельца. Я уже неоднократно замечал про важность .rhost файлов, замечу и сейчас, что стоит по наплевательски к ним отнестись, и можно нарваться на большие неприятности. Найди их командой:
root# find /home -name .rhosts -print
Могу еще порекомендовать программу LSOF (ftp://vic.cc.purdue.edu.pub/tools/unix/lsof), которая отслеживает, какие файлы и сетевые сокеты открыты. Можно задать тебе небольшой вопросец? Какие из файлов у нас наиболее важные? Правильно, системные. Поэтому очень важно сделать их такими, чтобы никакой пользователь не мог их исправить, кроме, разумеется, рута. Как ты знаешь, Линукс разделяет контроль доступа к файлам и директориям по 3 категориям: владелец, группа и другие. Поэтому правильно выстави значения доступа READ, WRITE and EXECUTE для конкретных пользователей.
И, заканчивая разговор о локальной безопасности, я бы хотел отметить такую программу, как Tripwire. Это тулза проверяет наиболее важные твои файлы и конфиги. Она сравнивает предыдущие их состояния и конечные и, если найдет какие-либо изменения, немедленно об этом сообщает. Дам тебе несколько советов по ее использованию. Во-первых, установи ее не на комп, а на флоппи, который к тому же сделай незаписываемым. Все это делается только для того, чтобы никто не смог подправить базы отчета этой проги. И каждый раз при выполнении своих ежедневных хацкорских делишек сделай своей привычкой запускать Tripwire для того, чтобы удостовериться, что ничего не было изменено, пока ты с радостным видом скачивал порнуху :). И поговорим немного о лошадях ака троянах. Говорить очевидные вещи, что каждый файл, особенно скачанный с Инета, нужно проверять, я не буду. Если у тебя уставлена Красная Шапочка, то тут даже все проще: у нее есть MD5, PGP проверки на подлинность файла. Скажу лишь о том, что НИКОГДА не запускай какие-либо вызывающие подозрения проги в статусе рута. Думаю, зачем, объяснять не нужно...
Назад на стр. 040-060-1 Содержание Вперед на стр. 040-060-3
|