Как усилить безопасность Ubuntu
Продолжаем знакомиться с документами, опубликованными британской правительственной комиссией Communications-Electronics Security Group, которая на днях назвала дистрибутив Ubuntu самой безопасной операционной системой для конечного пользователя.
Несмотря на то, что дистрибутив Ubuntu получил очень лестные оценки от специалистов по безопасности, претензий к Ubuntu тоже хватало. Рассмотрим как можно устранить некоторые потенциально опасные места в системе защиты Ubuntu и превратить дистрибутив в неприступную для сетевых негодяев крепость.
Пункт 8 документа «End User Devices Security Guidance: Ubuntu 12.04» называется Policy Recommendations и содержит конкретные советы администраторам компьютеров с Ubuntu.
Отключите командные оболочки (shell) по умолчанию
Уберите доступ к командным интерпретаторам: настройте программы добавления пользователей (например, useradd) таким образом, чтобы в качестве оболочки по умолчанию использовался файл /bin/false. Для этого нужно внести изменения в конфигурационные файлы /etc/default/useradd и /etc/adduser.conf.
Отдельные разделы для /tmp и /home с запретом на запуск файлов
Для директорий /tmp и /home требуется задать отдельные разделы и в конфигурационном файле /etc/fstab запретить для этих разделов запуск любых файлов, разрешив только чтение и запись. Делается это с помощью опций «noexec,nosuid,nodev».
Найдите и закройте все доступные для записи директории вне /home и /tmp
Иногда так получается, что на файловой системе появляются места за пределами директорий /home и /tmp, где непривилегированный пользователь может создавать и запускать файлы. Ищутся такие места довольно просто. Разумеется, команду нужно запускать от имени непривилегированного пользователя:
find / -type d -writable
После обнаружения потенциально опасных директорий, смените группу владельца или права доступа , чтобы предотвратить возможность записи и исполнения.
Ограничьте использование скриптовых языков
Скриптовые языки (такие как Python, например) используются операционной системой для обеспечения нормального функционирования и не могут просто так быть деинсталлированы. Однако, скрипты создают дополнительную опасность, позволяя злоумышленнику загружать и исполнять собственные программы. Выход заключается в соответствующей настройке AppArmor. Необходимо разрешить запуск только системных сценариев (из /bin, /usr/bin и т.п.), а во всех остальных директориях запретить (/home, /tmp и т.д.). На примере Python:
#File: /etc/apparmor.d/usr.bin.python2.7
/usr/bin/python {
#include
/usr/bin/python2.7 mr,
deny /home/** rw,
deny /tmp/** rw,
deny /some/user/writable/directory/** rw,
/** rw,
}
Грамотная настройка файервола в Ubuntu
Файервол должен быть сконфигурирован таким образом, чтобы блокировать все входящие соединения, разрешая только те, которые явно предоставляются внешним пользователям. Следующий пример запрещает через iptables все входящие соединения, кроме доступа к ssh (22 порт):
# разрешаем все исходящие и запрещаем все входящие
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD DROP
/sbin/iptables -P INPUT DROP
# разрешаем входящий ssh
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# разрешаем stateful return traffic
/sbin/iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# разрешаем любой трафик на интерфейсе lo
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
Сохраняем настройки в конфигурационном файле /etc/fw-rules и не забываем закрыть к нему доступ посторонним:
iptables-save > /etc/fw-rules
chmod 400 /etc/fw-rules
Остается заставить систему загружать правила при каждом включении. Для этого создаем файл /etc/init/netfilter.conf со следующим содержанием:
description "netfilter firewall"
start on (starting networking)
pre-start script
iptables-restore < /etc/fw-rules
end script
Готово. Теперь можно расслабить булки.
Комментарии
Чингачгук
16 января, 2014 - 13:07
Зачем? У меня в хомяке, например, TBB распакован. И несколько игрушек из Humble Bundle.
pomodor
18 января, 2014 - 11:04
Затем, что если у юзера нет права создавать исполняемые файлы, то даже в случае дыры в браузере или еще где, злоумышленник не получит возможности закрепить троян в системе и начать атаку на root.
А TBB и игрушки правильно устанавливать в /opt. Эта директория как раз и предназначена для софта, устанавливаемого в обход пакетного менеджера.
Чингачгук
17 января, 2014 - 08:07
Очень смешно, ха ха ха чуть со стула не упал,надеюсь это не прочитают чайники.
pomodor
18 января, 2014 - 11:13
И какой же именно пункт едва не заставил вас ё...ться со стула? По мне, так все советы выглядят вполне логично и юзабельно, если требуется создать дополнительный уровень безопасности. Да, переразбивка на отдельные /home и /tmp потребует времени, да и нужна не всем. А вот грамотной настройкой фаейрвола должен владеть каждый уважающий себя любитель линуксов.
Intercessio
25 января, 2014 - 17:28
Просто, если человек не ламер, то он обычно аргументирует своё несогласие со статьёй, а если нечем крыть, то и появляются такие комменты
Чингачгук
12 апреля, 2014 - 00:03
А ufw? Помойму куда проще чем иптаблс. Да и с ufw мне кажется даже любой самый чайниковский чайник разберётся.
Куда уж проще sudo ufw enable sudo ufw default deny. Ну и так далее там.
Так что насчёт iptables , позволю не согласиться, эта штуковина явно не для простых смертных. Я хоть и пользуюсь Линуксом не один год, но за иптаблс даже и не думаю браться.
Я лично думал всегда что Линукс и Убунта в частности — безопасны максимально изначально, без дополнительных движух.
Наверное сейчас это правило применимо, если использовать именно чистейший дистр, с по возможности минимумом использования сторонних репозиториев допустим. Ну и соответственно никаких прог и программулин в ручную, а ля распаковка или что то подобное, минуя систему пакетов и офф.репозитории.
Но, время то не стоит на месте. Запросы например растут, вместе с запросами и технологии получше становяться и отказывать себе то же не хочеться ведь.
А Убунта конечно всего предоставить от и до не может, это естественно и нормально наверно, приходиться юзать какие то левые репо, ставить плагины для программ, явно не из репо с ЛП.
Линукс, распиарен стал что то сильно, на каждом шагу, чуть ли не всё для пингвина.
Такими темпами наверное , всё с большим вхождением Линукса в массы, мы получим в итоге — вторую Винду (. Так же и вири, и всякие проги не хорошие будут писаться под него. Вопрос наверное всего лишь времени.
Потом если честно, параноэ детектед начинает накатывать временами. Вкупе от всего. Чуть ои не на пустом месте.
Никогда б не подумал, года с три четыре назад, что вот так на ровном месте практически, могу впасть в панику на Убунте. По поводу сабжа. ((((
А статейка хорошая наверное, правда не все её применять будут. В любом случае автору плюс за внимание этой проблеме в Убунте. Файрвол — по любому надо хоть как то, тут как ни крути.
Можно наверное снести ещё что из коробки идёт для удалённого адм. утили, если не пользуешь на вынос.
Телнет вроде, рдесктоп...
Мне допустим претит, вот так ещё ковырять от и до, Убунту, в плане безопасности. Тогда смысл? Элементарные вещи чуть выще я сказал — это да, по любому надо.
Но, дальше вот так извращаться, на обычной домашней мащине, наподобие как с Вендой — ну по мне явный перебор.
Смысл ставить безопасный из коропки Линукс дома тогда? Если до посинения потом его усилять как Венду?
Хотя и накатывает временами, может от того что он используется постоянно как Венда допустим, для всех целей. И имеет у меня равноценную ей замену, если не сказать что Винда вообще и в подмётки не годиться.
Мож просто так у многих, с годами, когда его упорно теребишь, подобные мысли нет нет, да и проскакивают....
Чингачгук
12 апреля, 2014 - 00:33
Вот тут есть ответ на один из мучающих Вас вопросов;))
хытытыпы:// tsya.ru
Чингачгук
12 апреля, 2014 - 01:00
Умник ))
Комментировать