Контекст:
Я планирую путешествовать. Хочу сделать небольшое облако с моим личным сервером. Хотелось бы иметь возможность d/l некоторых моих файлов и в конечном итоге загружать некоторые файлы, которые не будут исполняться, и все это защищено нетривиальным паролем.
Я единственный пользователь-человек.
Netfilter: все порты закрыты, кроме порта 443. Нет скриптов для выполнения. Apache с минимальными возможными привилегиями.
Я отключил все удаленные входы с помощью скрипта, который автоматически выполняется всякий раз, когда пользователь пытается войти в /etc/profile (по сути, он отключает всех, кто пытается подключиться, поскольку я просто хочу иметь возможность физически подключиться к устройству).
Но у меня просто открыт порт 443 с Apache и профилированным AppArmor, чтобы быть уверенным, что Apache не сделает ничего глупого. Никакой базы данных.
Обновлена стабильная версия Debian 64 бит.
Вопрос :
Достаточно ли этого, чтобы обезопасить мой ящик? Я что-то упустил? Есть еще какие-нибудь советы?
Спасибо
решение1
Это очень обширная тема, но вот мои 2 цента:
- Зашифруйте свои диски.
- Не ограничивайте AppArmor только
apache
. - При условии организованной структуры разделов/LVM2 большую часть системы можно смонтировать в режиме «только для чтения».
Монтируйте
nodev,nosuid,noexec
все, что не требует этих разрешенийapt
иaptitude
может потребовать временных разрешений на выполнение/tmp
, вы можете добавить это в свой/etc/apt/apt.conf
или в фрагмент ниже/etc/apt/apt.conf.d
:DPkg::Pre-Invoke {"mount -o remount,exec /tmp";}; DPkg::Post-Invoke {"mount -o remount /tmp";};
sudo
Используйте учетную запись без прав root и предоставляйте ей только необходимые разрешения.- Если это будет опубликовано в Интернете, используйте
fail2ban
илиdenyhosts
. - Регулярно обновляйте систему безопасности.
- Размещайте журналы в отдельном разделе/логическом томе.
- Имейте резервные копии и проверяйте их.
- Планируйте возможный компромисс.