Почему Linux часто считают безопасным
Linux имеет надежную модель многопользовательских разрешений, развитый сетевой контроль, прозрачные журналы, подписанные репозитории пакетов, частые обновления безопасности и культуру минимальных привилегий. Это преимущества, а не магические щиты.
Система Linux может быть небезопасной, если она не обновлена, неправильно настроена, запускает ненужные службы, использует слабые учетные данные SSH или устанавливает ненадежное программное обеспечение.
Разрешения как безопасность
Разрешения ограничивают то, что пользователи и службы могут читать, изменять или выполнять. Веб-сервер не должен владеть каждым файлом на компьютере. Обычный пользователь не должен иметь возможности писать системные двоичные файлы. Закрытый ключ SSH не должен быть доступен для чтения всему миру.
sudo и минимальные привилегии
sudo позволяет одобренным пользователям запускать определенные команды с повышенными привилегиями. Наименьшие привилегии подразумевают использование повышенных прав только для действий, которые в них нуждаются, с последующим возвратом к обычным привилегиям пользователя.
Избегайте запуска корневой оболочки для рутинной работы. Одна-единственная ошибочная команда rm, chown или chmod от имени пользователя root может повредить всю систему.
Разделение пользователей и учетные записи служб
Linux разделяет учетные записи пользователей, root и служб. Службы часто работают от имени выделенных пользователей, поэтому скомпрометированная служба имеет ограниченный доступ.
Хороший дизайн сервиса дает приложению право собственности на свой каталог данных, доступ на чтение к необходимой конфигурации и отсутствие широкого доступа на запись где-либо еще.
Доверие к пакетам и обновления
По возможности устанавливайте программное обеспечение из репозиториев дистрибутива. Они подписываются, интегрируются и обновляются с помощью того же механизма, что и остальная часть системы.
Сторонние репозитории, случайные установщики вида curl | sh и непроверенные бинарные файлы расширяют границу доверия. Иногда они нужны, но подключать их стоит осознанно.
Безопасный удаленный доступ и основы брандмауэра
SSH должен использовать надежные пароли или, что предпочтительнее, аутентификацию на основе ключей. Отключите удаленный вход в систему root, если у вас нет конкретной и контролируемой причины. Храните секретные ключи в тайне и защищайте их паролями, когда это необходимо.
Брандмауэр уменьшает открытую поверхность сети. Он не устраняет уязвимые сервисы, но может гарантировать доступность только намеченных портов.
ss -tulpenjournalctl -u ssh --since todayРаспространенные ошибки безопасности
- Использование chmod 777 для устранения всех проблем с разрешениями.
- Передача удаленных сценариев в sudo без их чтения.
- Раскрытие SSH со слабыми паролями.
- Игнорирование обновлений, потому что система вроде работает.
- Запуск служб от имени пользователя root, когда они в этом не нуждаются.
- Совместное использование журналов, содержащих токены, имена хостов, имена пользователей или частные пути.
Безопасные привычки для новичков
- Регулярно обновляйтесь через менеджер пакетов вашего дистрибутива.
- Используйте sudo только для тех команд, которые в этом нуждаются.
- Сохраняйте резервные копии перед изменением дисков, загрузчиков или конфигурации системы.
- Перед подтверждением прочтите сводку транзакций пакета.
- Отдавайте предпочтение официальной документации и репозиториям дистрибутива для изменений, важных для безопасности.