Следующим пунктом рассматриваемым в безопасности вашей системы является
защита от атак со стороны локальных пользователей. Сказали ли мы
локальные
пользователи? Вы не ослышались - ДА.
Получение доступа как локальный пользователь - это один из первых шагов, которые попытается сделать взломщик на пути к получению счета администратора. При небрежной локальной безопасности он - взломщик - может затем "перерегистрировать" свой счет с рядового пользователя на администратора используя различные ошибки (bugs) и неправильно настроенные локальные сервисы. Если вы обеспечите достаточный уровень вашей локальной безопасности, то взломщик будет иметь еще один барьер для проникновения.
Локальные пользователи также могут причинить достаточно вреда в вашей системе даже (особенно) если они и являются теми, за кого себя выдают. Предоставлять счета людям, которых вы не знаете или о которых не имеете контактной информации, является очень плохой идеей.
Вы должны быть уверены, что предоставляете пользователям счета с минимальными допусками, необходимыми для выполняемых ими задач. Если вы даете счет вашему сыну (возраста 10 лет), то вы можете позволить ему доступ к текстовому процессору или графической программе, но не к удалению данных, которые ему не принадлежат.
Существует несколько неписанных правил, которых необходимо придерживаться при предоставлении законного доступа к вашей Linux машине:
Большинство счетов локальных пользователей, которые используются для прорыва системы безопасности, являются счетами, которые не использовались месяцы, а то и годы. Поскольку никто их не использует, они являются идеальным атакующим транспортом.
Наиболее искомым счетом на вашей машине является счет суперпользователя - администратора (root). Этот счет имеет доступ ко всем ресурсам машины, который также может включать доступ к другим машинам в сети. Помните, что вы должны использовать счет администратора только для очень ограниченного набора определенных задач, а в большинстве случаев должны регистрироваться как обычный пользователь. Работать все время как администратор является ОЧЕНЬ ОЧЕНЬ ОЧЕНЬ ПЛОХОЙ ИДЕЕЙ.
Несколько приемов, чтобы избежать последствий из-за путаницы в счетах, с которыми вы работаете:
Если вам абсолютно положительно необходимо разрешить кому-либо (обычно очень доверенному) иметь доступ как администратор к вашей машине, существует несколько инструментов, которые могут помочь. Sudo позволяет пользователям использовать их пароли для получения доступа к ограниченному набору команд администратора. Это позволит вам, например, разрешить пользователям менять и монтировать сменные диски в вашей системе, но не даст других привилегий. Sudo также ведет журнал всех удачных и неудачных запусков, позволяя вам отслеживать кто и для чего использовал эту команду. Поэтому sudo работает хорошо даже в тех местах, где несколько человек имеют права администратора, - используя возможности sudo, вы можете отследить, какие были сделаны изменения.
Хотя sudo может использоваться для предоставления определенным пользователям определенных привилегий для специфических задач, эта утилита имеет несколько недостатков. Она должна использоваться только для ограниченного набора задач, подобных перезагрузке сервера, или добавления новых пользователей. Любая программа, которая предоставляет возможность выхода из shell, дает пользователю права администратора. Например, это свойственно многим редакторам. Также такие безобидные программы как /bin/cat могут использоваться для перезаписи файлов, которые могут позволить эксплуатировать счет администратора. Рассматривайте sudo как средство учета, и не ожидайте, что заменив им суперпользователя, вы будете в безопасности.