Для нормальной работы сайта необходимо разрешить JavaScript, включая скрипты с доменов googlesyndication.com и doubleclick.net для отображения системы поиска по сайту и прочих сервисов Google.

immutable bit: атрибут неизменяемости файла в Linux/BSD

terminal-logo Бит (bit) неизменяемости (immutable) файла (ака "immutable bit") может быть назначен файлу, который размещён в расширенной файловой системе (Ext3, Ext4, Extended File System), для его защиты от изменений. "immutable bit" может быть добавлен к атрибутам файла с помощью программы chattr и только супер-пользователем.

Какие последствия установки immutable bit?

После того, как файлу будет назначен атрибут immutable, над этим файлом будет запрещено:

  • Модификация;
  • Переименование;
  • Удаление;
  • Невозможность создавать мягкие (ака soft, symlink, символические) и жесткие (hard) ссылки.

Как установить immutable bit в Linux?

Установка атрибута immutable осуществляется следующим образом chattr +i /path/to/filename. Например мы можем защитить от записи файл /etc/shadow:

$ chattr +i /etc/shadow

После этого войдём с учетной записи обычного пользователя (скажем, пользователя test) и попробуем сменить пароль:

$ passwd
Changing password for user test.
Changing password for test
(current) UNIX password: OLDPASSWD
New password: NEWPASSWD
Retype new password: NEWPASSWD
passwd: all authentication tokens updated successfully.

Как видим в итоге мы получили сообщение о якобы успешной смене пароля, однако если мы выйдем и снова попробуем войти с помощью уч. записи нашего пользователя test, то обнаружим, что NEWPASSWD не принимается и для входа нам нужно будет использовать OLDPASSWD. Проверить, защищен ли файл от изменений с помощью атрибута immutable можно с помощью программы lsattr:


$ lsattr /etc/shadow
----i--------e-- /etc/shadow

Нужно знать, что если файл /etc/shadow имеет атрибут immutable, то даже пользователь root не сможет изменять пароль! Удалить атрибут immutable можно всё той же программы chattr:

$ chattr -i /etc/shadow
$ lsattr /etc/shadow
-------------e-- /etc/shadow

Как установить immutable bit в BSD системах?

В операционный системах BSD типа аттрибут immutable устанавливается с помощью chflags:

$ chflags schg /path/to/filename

Удаление immutable bit выполняется следующим образом:

$ chflags noschg /path/to/filename

Какие файлы защитить с помощью immutable bit?

Например, в секции 10.5 Genius/Paranoia Ideas — what you could do (ака "Гениальные/Параноидальные идеи - что я должен сделать"), предлагается установить immutable bit на файлы каталогов /bin, /sbin, /usr/bin, /usr/sbin, /usr/lib, но делается оговорка о том что, перед обновлением системы с помощью apt-get update immutable bit должен быть снят.

Так справедливо будет рекурсивное добавление immutable bit к таким файлам и директориям:

$ chattr -R +i /etc/passwd /etc/shadow /etc/group /etc/apt /bin /sbin /usr/bin /usr/sbin /usr/lib

Это сможет полностью предотвратить или же как минимум сделать максимально сложным ДДОС атаки или внедрение различных вредоносных программ, которые как правило пишут себя в упомянутые выше директории. Разумеется, что перед обновлением или установкой/компиляцией нового ПО нам потребуется снять immutable bit:

$ chattr -R -i /etc/passwd /etc/shadow /etc/group /etc/apt /bin /sbin /usr/bin /usr/sbin /usr/lib

При использовании chattr и lsattr к символьным ссылкам мы можем получить предупреждения:

chattr: Неподдерживаемая операция while reading flags on /bin/lsmod
lsattr: Неподдерживаемая операция While reading flags on /bin/lsmod
lsattr: Неприменимый к данному устройству ioctl While reading flags on /run

Но, о них не стоит беспокоиться, их можно просто игнорировать ибо chattr и lsattr применимы только к файлам.

В общем immutable bit может быть установлен на любые файлы, безопасность которых администратор посчитает критически важным условием, - это также могут быть файлы резервных копий каталога /etc, файлы конфигурации РНР или веб-сервера:

$ chattr -R +i /etc/apache2 /etc/php5 /etc/mysql /etc/phpmyadmin

bill-maher-immutable-bit

Рекомендуемый контент


Об авторе
АдМинь БагоИскатель
АдМинь БагоИскатель ярый борец за безглючную работу любых механизмов и организмов во всей вселенной и потому пребывает в вечном поиске всяческих багов, а тот кто ищет как известно всегда находит. Когда что-то или кого-то вылечить не в состоянии, то со словами "Я в аду, а вы все черти" уходит в запой выйдя из которого снова берётся лечить неизлечимое.
Ещё статьи автора

Комментарии   

АдМинь БагоИскатель
0 #2 АдМинь БагоИскатель 31.12.2015 20:21
Цитирую dorvik:
Насчет «Но, о них не стоит беспокоиться, их можно просто игнорировать ибо chattr и lsattr применимы только к файлам». А у меня как раз получается, у файлов, в отношении которых сделано это предупреждение, неизменяемость в самом деле не устанавливается. То есть они поддаются редактированию. А там где это предупреждение не появляется, файлы оказываются защищенными от редактирования.

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

Цитирую dorvik:
Так что предупреждение появляется по делу. И остается вопрос, как в этом случае добавить бит неизменяемости.

Не вопрос! Нельзя установить атрибут на символьную ссылку "/bin/lsmod" ибо будет выдано "chattr: Неподдерживаемая операция". То что это не файл, а символьная ссылка можно убедится выполнив "ls -la /bin/lsmod" и результатом будет "/bin/lsmod -> kmod" - в этом случае атрибут неизменяемости следует устанавливать на файл "chattr +i /bin/kmod".

Первая буква с троке вывода команды "ls -la /bin/lsmod" расшифровывается как:
Цитата:
d (directory)
c (character device)
l (symlink)
p (named pipe)
s (socket)
b (block device)
D (door, not common on Linux systems, but has been ported)
Цитировать
dorvik
0 #1 dorvik 31.12.2015 17:51
Насчет «Но, о них не стоит беспокоиться, их можно просто игнорировать ибо chattr и lsattr применимы только к файлам». А у меня как раз получается, у файлов, в отношении которых сделано это предупреждение, неизменяемость в самом деле не устанавливается . То есть они поддаются редактированию. А там где это предупреждение не появляется, файлы оказываются защищенными от редактирования. Так что предупреждение появляется по делу. И остается вопрос, как в этом случае добавить бит неизменяемости.
Цитировать

Добавить комментарий

АХТУНГ! Все комменты модерасятся модерастом. Мессаги исключительно рекламного или оскорбительного содержания не публикуются, а поэтому злостным спамерам, пранкерам и прочей сетевой нечисти рекомендуем напрасно не тратить своего времени и удовлетворять свои больные фантазии на специализированных Интернет ресурсах! Разумная же критика, замечания, дополнения и хвалебные оды приветствуются, также допускается легкий флуд или троллинг :)


Защитный код
Обновить

Рейтинг@Mail.ru 2 megabytes