Укрепление домашнего сервера

2150
NetStudent

Я думаю о настройке скромного веб-сервера с использованием какого-то старого оборудования и Ubuntu 12.04 или Debian 6. Я осознаю, что, подвергая машину в моей локальной сети внешнему миру, я становлюсь уязвимым для нарушений безопасности и атак. В связи с этим, и поскольку у меня почти нет опыта в защите компьютеров с использованием Linux, я хотел бы попросить дать некоторые рекомендации о том, что мне следует делать для защиты этого веб-сервера, тем более что в моей домашней локальной сети есть другие компьютеры, которые содержат конфиденциальную информацию ( о домашних банковских счетах и ​​прочем). Большое спасибо.

5

1 ответ на вопрос

5
laurent

Во-первых, вы, вероятно, знаете об этом, но если у вас динамический IP, вам понадобится динамический DNS, такой как DynDNS или DNSexit .

Что касается обеспечения безопасности, я думаю, что использование iptables(или графический интерфейс брандмауэра, как Firestarter, если вы предпочитаете) открытия только порта 80 для входящего соединения достаточно для домашнего сервера, если вам не нужно открывать порт ssh (порт 22) или ftp (21). ) и вы не будете устанавливать почтовый сервер.

Если на вашем сайте есть страница входа или вам нужно открыть ssh, ftp или smtp, я бы рекомендовал установить хотя бы что-то вроде fail2ban, чтобы запретить IP, которые пытаются подключиться безуспешно, чтобы они не пытались вечно.

Важно отметить, что вы должны просматривать свои журналы, чтобы следить за их простотой установки logwatch(они должны быть в ваших репозиториях по умолчанию в Debian & Ubuntu) и предупреждать вас по почте ежедневно или еженедельно. Вы быстро научитесь находить, что не так, читая их часто.

Если вам нужно подключиться извне, чтобы администрировать сервер, использовать VPN и в любом случае, постоянно обновляйте ОС!

Обновление: для SSH и sftp, я думаю, что fail2ban + только ssh-ключи (или ключи + пароль, но не только пароль) - это минимум, который вам нужен (и не допускайте root-доступ).

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

Зашифрованный VPN (я использую openvpn ) также помогает защитить ваш доступ.
Посмотрите здесь «быстрое» официальное руководство, через 15-30 минут у вас будет рабочий VPN-сервер для одного клиента - один сервер. Для лучшей настройки с проверкой подлинности сертификата клиента и ЦС (ваш бесплатный ЦС) вам потребуется еще несколько минут: D

Если вашим сайтам требуется MySQL или по какой-либо другой причине вам необходимо администрировать MySQL (или другую базу данных) из Интернета, если вы не используете VPN, используйте туннель ssh, чтобы подключиться к локальному порту на вашей машине, и туннель шифруется. соединение с сервером, поэтому вам не нужно открывать порт базы данных, взгляните на аргументы -Lи . Я бы не стал устанавливать phpmyadmin для прослушивания публичного IP-адреса, поскольку это открывает вашу базу данных для всего мира. Если вам нужно, я могу поставить пример сценария для туннеля здесь.-Dman ssh

Спасибо! Да, я знаю об этом и думаю, что буду использовать NoIP или DynDN. С другой стороны, мне действительно нужно открыть порты SSH и SFTP ... Что мне делать в этом случае? NetStudent 11 лет назад 0
Ответ отредактирован для SSH и SFTP laurent 11 лет назад 1

Похожие вопросы