5

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

1 ответ1

5

Во-первых, вы, вероятно, знаете об этом, но если у вас динамический 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 и -D в man ssh .
Я бы не стал устанавливать phpmyadmin для прослушивания публичного IP, так как это открывает вашу базу данных для всего мира. Если вам нужно, я могу поставить пример сценария для туннеля здесь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .