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

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

Linux | Домашний сервер 1 | защищенный домашний сервер Linux, 800x400 мин.

Вам просто нужно установить именно то, что вам нужно

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

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

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

sudo تكوين состав

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

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

sudo -lU USERNAME

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

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

EDITOR=nano visudo

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

USERNAME   ALL=(ALL) ALL

Конфигурация SSH

Linux | Домашний сервер 2 | безопасный домашний сервер Linux openssh мин DzTechs

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

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

sudo apt install openssh-server

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

ls ~/.ssh/

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

ssh-keygen -t rsa -b 4096 -C "youremail@domain.com"

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

ssh-copy-id USERNAME@SERVER

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

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

sudo nano /etc/ssh/sshd_config

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

ChallengeResponseAuthentication no

PasswordAuthentication no

UsePAM no

PermitRootLogin no

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

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

sudo systemctl restart ssh

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

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

более длительная установка Iptables Это выходит за рамки данной статьи, но не волнуйтесь. У нас есть полное руководство по настройке Iptables на вашем устройстве.

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

sudo apt install ufw

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

sudo ufw allow 80

sudo ufw allow 443

sudo ufw allow 22

Наконец, включите службу UFW:

sudo ufw enable

Держите сервер в актуальном состоянии

Linux | Домашний сервер 3 | 1 безопасная установка домашнего сервера Linux минимум DzTechs

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

Куда мне идти отсюда

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

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

ДзТех

Я государственный инженер с большим опытом работы в области программирования, создания веб-сайтов, SEO и технического написания. Я увлечен технологиями и посвящаю себя предоставлению качественной информации общественности. Я могу стать более ценным ресурсом для пользователей, которые ищут точную и достоверную информацию об обзорах продуктов и специализированных приложениях в различных областях. Моя непоколебимая приверженность качеству и точности гарантирует, что предоставляемая информация заслуживает доверия и полезна для аудитории. Постоянное стремление к знаниям заставляет меня идти в ногу с новейшими технологическими разработками, гарантируя, что общие идеи будут передаваться в ясной и доступной форме.
Перейти к верхней кнопке