Есть много причин Чтобы настроить домашний сервер. Вы можете использовать его как медиа-сервер, файловый сервер или даже локальный сервер резервного копирования. По сути, любые ваши файлы, которые не нужно подключать к Интернету, являются хорошими кандидатами в качестве домашнего сервера. Настроить рабочий домашний сервер относительно просто. Linux , особенно в наши дни. Однако сохранение этого Сервер безопасен Это совсем другая история. Может быть поддерживать безопасность Сложно, как важно.
Вам просто нужно установить именно то, что вам нужно
Один из самых простых способов обеспечить безопасность домашнего сервера - это помнить о безопасности с самого начала. Это начинается с установки. Не уверены, нужно ли вам приложение или сервис? Не устанавливайте это. Вы всегда можете установить его позже.
Если вы установите Linux Несколько раз будет проще. Вместо того, чтобы придерживаться настроек по умолчанию, используйте режимы, которые дают вам максимальный контроль над вашей установкой. Иногда это называют «экспертным режимом» или чем-то подобным.
Тщательное соблюдение параметров установки может сэкономить ваше время при отключении служб по соображениям безопасности в дальнейшем.
sudo تكوين состав
Прежде чем переходить к любым другим шагам, вам необходимо настроить Sudo. Почему? Потому что, как только вы здесь закончите, вы войдете на свой сервер через SSH Вы не сможете войти в систему под учетной записью root. Чтобы внести какие-либо другие изменения в вашу систему, вам нужно будет использовать Sudo.
Сначала проверьте, можете ли вы уже использовать Sudo. В своей учетной записи выполните следующую команду со своим именем пользователя вместо ИМЯ ПОЛЬЗОВАТЕЛЯ:
sudo -lU USERNAME
Если вы видите сообщение о том, что ваше имя пользователя может включать «(ВСЕ) ВСЕ» или что-то подобное, вы готовы продолжить.
Теперь, будучи зарегистрированной учетной записью на вашем сервере, выполните следующую команду, чтобы отредактировать файл «/ и т.д. / sudoers. Если вы предпочитаете другой редактор, используйте его вместо nano.
EDITOR=nano visudo
Отредактируйте файл, включив в него следующее, используя свое имя пользователя вместо ИМЯ ПОЛЬЗОВАТЕЛЯ:
USERNAME ALL=(ALL) ALL
Конфигурация SSH
Возможно, на вашем домашнем сервере уже включен SSH. Вероятно, вы должны это сделать, потому что именно так вы взаимодействуете с сервером.
Сначала убедитесь, что установлен OpenSSH. Если вы используете другой дистрибутив, он будет другим, но имя пакета должно быть достаточно согласованным. В Ubuntu сделайте следующее:
sudo apt install openssh-server
Использование аутентификации на основе ключей более безопасно, чем аутентификация по паролю, поэтому мы настроим SSH для работы таким образом. Для этого убедитесь, что вы работаете на клиентском компьютере, который вы планируете подключать к серверу, а не на самом сервере. Во-первых, вы хотите убедиться, что на самом деле у вас нет ключей SSH:
ls ~/.ssh/
Если ты видишь "id_rsa"И"id_rsa.пабСреди перечисленных имен файлов у вас уже есть ключи SSH. Пропустите следующий шаг.
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Теперь вы скопируете 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
Держите сервер в актуальном состоянии
О серверах можно легко забыть, если они просто запущены и работают, но это может быть опасно. Убедитесь, что у вас установлена последняя версия программного обеспечения. Вы можете использовать автоматические обновления, но они могут быть непредсказуемыми. Самый безопасный способ - запланировать регулярное обслуживание сервера еженедельно или ежемесячно, чтобы убедиться, что все в порядке.
Куда мне идти отсюда
Теперь у вас есть хорошее начало для защиты вашего сервера от внешних угроз. А что, если вам нужно получить доступ к серверу из дома? Злоумышленник, скорее всего, будет использовать каждый открытый вами порт, и каждый открытый порт увеличивает вашу уязвимость.
Один из самых простых способов получить доступ к вашей домашней сети из-за границы - использовать VPN, что выходит за рамки этой статьи, но не волнуйтесь, у нас это есть. Взгляни на Наш список лучших доступных безопасных VPN-сервисов для вашей идеи вариантов.