Как защитить домашний сервер Linux

Защищенный домашний сервер Linux

Есть множество причин для установки домашнего сервера. Вы можете использовать его как медиа-сервер, файловый сервер или даже локальный сервер резервного копирования. По сути, любые ваши файлы, которые не должны находиться в сети, являются хорошими кандидатами на домашний сервер. Настроить домашний сервер на базе Linux относительно просто, особенно в наши дни. Тем не менее, обеспечение безопасности этого сервера - это совсем другая история. Безопасность может быть настолько же сложной, насколько и важной.

Устанавливайте только то, что вам абсолютно необходимо

Один из самых простых способов обеспечить безопасность домашнего сервера - это помнить о безопасности с самого начала. Это начинается с установки. Вы не уверены, нужно ли вам приложение или услугу? Не устанавливайте это. Вы всегда можете установить его позже.

Если вы установили Linux несколько раз, это будет еще проще. Вместо того, чтобы придерживаться настроек по умолчанию, используйте режимы, которые дают вам максимальный контроль над установкой. Иногда их называют "экспертным режимом" или чем-то подобным.

Тщательное отслеживание параметров установки поможет вам сэкономить время, отключая службы по соображениям безопасности позже.

Настроить sudo

Прежде чем переходить к другим шагам, необходимо настроить sudo. Почему? Потому что, как только мы здесь закончим, вы войдете на свой сервер через SSH и не сможете войти в систему с учетной записью root. Чтобы внести какие-либо изменения в вашу систему, вам нужно будет использовать sudo.

Сначала проверьте, можете ли вы уже использовать sudo. В учетной записи пользователя запустите следующее со своим именем пользователя вместо ИМЯ ПОЛЬЗОВАТЕЛЯ:

Если вы видите сообщение о том, что ваше имя пользователя может запускать "(ВСЕ) ВСЕ" или что-то подобное, вы готовы двигаться дальше.

Теперь в качестве учетной записи root на вашем сервере запустите следующую команду, чтобы отредактировать файл "/ etc / sudoers". Если вы предпочитаете другой редактор, используйте его вместо nano.

Отредактируйте файл, включив в него следующее, указав свое имя пользователя вместо ИМЯ ПОЛЬЗОВАТЕЛЯ:

Настроить SSH

Безопасный домашний сервер Linux Openssh

Возможно, на вашем домашнем сервере уже включен SSH. Скорее всего, вы действительно это делаете, поскольку обычно именно так вы взаимодействуете с сервером.

Сначала убедитесь, что OpenSSH установлен. Если вы используете другой дистрибутив, ваша команда будет отличаться, но имя пакета должно быть достаточно согласованным. В Ubuntu запустите следующее:

Использование аутентификации на основе ключей намного безопаснее, чем аутентификация по паролю, поэтому мы настроим SSH для работы таким образом. Для этого убедитесь, что вы работаете с клиентом, с которым планируете подключиться к серверу, а не с самим сервером. Во-первых, вы хотите убедиться, что у вас еще нет ключей SSH:

Если вы видите "id_rsa" и "id_rsa.pub" среди перечисленных имен файлов, у вас уже есть ключи SSH. Пропустите следующий шаг.

Теперь вы скопируете SSH-ключ на свой сервер:

Для домашнего сервера вы, скорее всего, используете IP-адрес вашего сервера вместо имени. Если вы не знаете имя своего сервера, используйте свой IP-адрес вместо СЕРВЕРА, указанного выше.

Теперь мы изменим ваши настройки SSH, чтобы обезопасить их. Войдите на свой сервер с клиента, на котором вы создали ключи. Это позволит вам снова войти в систему после этого шага. Выполните следующее, заменив nano любым редактором по вашему выбору.

Отредактируйте файл со следующими настройками. Они будут расположены в разных местах файла. Убедитесь, что нет дубликатов, так как будет использоваться только первый экземпляр параметра.

Теперь вам нужно перезапустить SSH-сервер с помощью одной из следующих команд.

В Ubuntu запустите:

Настроить брандмауэр

В зависимости от того, какие службы вы используете и насколько ваш сервер подключен к Интернету, вам может потребоваться запустить брандмауэр. Для этого есть несколько вариантов, но самый надежный метод в Linux - iptables.

Настройка iptables выходит за рамки этой статьи, но не волнуйтесь. У нас есть полное руководство по настройке iptables на вашем компьютере.

Еще один более простой способ настроить брандмауэр - использовать ufw. Вы можете установить его командой:

По умолчанию он блокирует все порты. Чтобы включить онлайн-доступ и доступ по ssh, выполните следующие команды ufw, чтобы открыть порты 80, 443 и 22:

И наконец, включите сервис ufw:

Будьте в курсе

Безопасная установка домашнего сервера Linux

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

Куда пойти отсюда

Теперь у вас есть хорошее начало для защиты вашего сервера от внешних угроз. А что, если вам нужно получить доступ к серверу из дома? Каждая открытая вами дверь потенциально может быть использована злоумышленником, а каждый открытый порт увеличивает вашу уязвимость.

Один из самых простых способов получить доступ к вашей домашней сети извне - использовать VPN, что выходит за рамки этой статьи, но не волнуйтесь, мы вам поможем. Взгляните на наш список лучших доступных безопасных VPN-сервисов, чтобы понять, какие у вас есть варианты.