У меня есть проект по обеспечению безопасности Ubuntu Server, насколько я могу. Сервер является сервером веб-хостинга. На сервере будут работать LAMP, Mail и DNS.
Я сделал Шпаргалку по Ubuntu Server, и я хотел бы поделиться ею с вами. Первые несколько страниц - это общие команды linux, затем конкретные серверные пакеты, а последняя страница - контрольный список безопасности сервера. Контрольный список объединяет советы и рекомендации со многих веб-сайтов. Я надеюсь, что это поможет вам! Лицензировано по лицензии WTFPL . Вы можете просмотреть / скачать / любой контрольный список здесь . Я обновляю это время от времени.
Ной
Ответы:
43
Вот список того, что я делаю для защиты своего сервера.
Включите UFW ( sudo ufw enable) и разрешите только те порты, которые действительно используются. ( sudo ufw allow 80)
Убедитесь, что MySQL разрешает соединения только с localhost.
Включить TLS на почтовых сервисах. Даже если это самоподписанный сертификат. Вы не хотите, чтобы пароли отправлялись в открытом виде.
Установите блокировщики ssh bruteforce, такие как denyhosts или fail2ban. ( sudo apt-get install denyhosts)
Посмотрите на создание только логинов на основе ключей ssh.
Изучите AppArmor. Если вы используете довольно ванильные конфигурации, то это чрезвычайно просто. Просто убедитесь, что он включен. Это поможет уменьшить эксплойты нулевого дня.
В зависимости от физического доступа к серверу вы можете даже захотеть посмотреть на шифрование данных на жестком диске.
Следуйте другим рекомендациям в этой ссылке. РЕДАКТИРОВАТЬ: я забыл отредактировать это, когда у меня не было достаточно репутации, чтобы добавить больше ссылок. Ссылка, указанная здесь, является последней ссылкой ниже.
Никогда не доверяйте своим пользователям. Если у вас есть несколько пользователей с доступом к системе, заблокируйте их. Если вам нужно предоставить им доступ к sudo, дайте им только то, что им нужно.
Используй здравый смысл. Подумайте очень серьезно о том, как вы попали бы, если бы вы были когда-либо заблокированы. Затем закройте эти отверстия.
Еще несколько вещей, чтобы рассмотреть. Большинство людей забывают о физическом доступе. Все конфигурации программного обеспечения в мире ничего не значат, если я смогу физически войти с LiveCD и украсть ваши данные. Остерегайтесь социальной инженерии. Задайте вопросы, чтобы проверить, кто разговаривает по телефону, и убедитесь, что у них есть разрешение на выполнение запроса, который они делают.
Альтернативой использованию UFW (хотя в Ubuntu по-прежнему используются встроенные встроенные брандмауэры) является блокировка вашей системы с очень специфическими iptablesправилами, чтобы запретить внешний доступ к любой службе, которую вы не собираетесь использовать, если у вас Настройка мяча, которая требует продвинутых маршрутов и прочее.
Томас Уорд
2
@LordofTime Согласен. На самом деле я сам использую iptables, но ufw подходит для большинства основных установок. Кроме того, UFW в любом случае является более или менее просто оболочкой для наиболее распространенных конфигураций iptables. Базовая система все та же.
Патрик Риган
2
+1 для ufw, вы не новый пользователь, вы являетесь участником в течение 1 года: p
Tachyons
1
В самом деле, я просто хотел указать, что в некоторых случаях iptables будет лучше использоваться по сравнению с UFW в некоторых случаях
Томас Уорд
1
Рассмотрим BastilleLinux, это также хороший набор мер безопасности.
pl1nk
13
Безопасная общая память
/ dev / shm может использоваться для атаки на работающий сервис, такой как httpd. Измените / etc / fstab, чтобы сделать его более безопасным.
Откройте окно терминала и введите следующее:
sudo vi /etc/fstab
Добавьте следующую строку и сохраните. Вам нужно будет перезагрузиться, чтобы настройки вступили в силу:
tmpfs /dev/shm tmpfs defaults,noexec,nosuid 0 0
Harden сеть с настройками sysctl
Файл /etc/sysctl.conf содержит все настройки sysctl. Для предотвращения маршрутизации исходящих входящих пакетов и регистрации неверных IP-адресов введите следующее в окне терминала
sudo vi /etc/sysctl.conf
Отредактируйте файл /etc/sysctl.conf и откомментируйте или добавьте следующие строки:
Сканирование журналов и бан подозрительных хостов - DenyHosts и Fail2Ban
@DenyHosts
DenyHosts - это программа на python, которая автоматически блокирует атаки SSH, добавляя записи в /etc/hosts.deny. DenyHosts также проинформирует администраторов Linux о нарушающих работу хостах, атакованных пользователях и подозрительных входах в систему.
Откройте Терминал и введите следующее:
sudo apt-get install denyhosts
После установки отредактируйте файл конфигурации /etc/denyhosts.conf и измените адрес электронной почты и другие параметры, если это необходимо.
Чтобы изменить настройки электронной почты администратора, откройте окно терминала и введите:
sudo vi /etc/denyhosts.conf
Измените следующие значения, как требуется на вашем сервере:
Fail2ban более продвинут, чем DenyHosts, так как он расширяет мониторинг журналов для других служб, включая SSH, Apache, Courier, FTP и многие другие.
Fail2ban сканирует файлы журналов и блокирует IP-адреса, которые показывают вредоносные признаки - слишком много сбоев паролей, поиск эксплойтов и т. Д.
Обычно Fail2Ban затем используется для обновления правил брандмауэра, чтобы отклонять IP-адреса в течение заданного промежутка времени, хотя любое другое произвольное действие также может быть настроено. Из коробки Fail2Ban поставляется с фильтрами для различных сервисов (apache, courier, ftp, ssh и т. Д.).
Откройте Терминал и введите следующее:
sudo apt-get install fail2ban
После установки отредактируйте файл конфигурации /etc/fail2ban/jail.local и при необходимости создайте правила фильтрации.
Для редактирования настроек откройте окно терминала и введите:
sudo vi /etc/fail2ban/jail.conf
Активируйте все службы, которые вы хотите, чтобы fail2ban отслеживал, изменив enabled = false на * enabled = true *
Например, если вы хотите включить мониторинг SSH и запретить тюрьму, найдите строку ниже и измените значение с false на true . Это оно.
Nmap («Network Mapper») - бесплатная утилита с открытым исходным кодом для обнаружения сети и аудита безопасности.
Откройте Терминал и введите следующее:
sudo apt-get install nmap
Сканирование вашей системы на наличие открытых портов с помощью:
nmap -v -sT localhost
SYN сканирование со следующим:
sudo nmap -v -sS localhost
Анализ файлов системного журнала - LogWatch
Logwatch - это настраиваемая система анализа журналов. Logwatch анализирует журналы вашей системы и создает отчет, анализируя указанные вами области. Logwatch прост в использовании и будет работать сразу же на большинстве систем.
Откройте Терминал и введите следующее:
sudo apt-get install logwatch libdate-manip-perl
Для просмотра вывода logwatch используйте less:
sudo logwatch | less
Чтобы отправить отчет по журналу за последние 7 дней на адрес электронной почты, введите следующее и замените mail@domain.com требуемым адресом электронной почты. :
sudo logwatch --mailto mail@domain.com --output mail --format html --range 'between -7 days and today'
Аудит вашей системы безопасности - Тигр.
Tiger - это инструмент безопасности, который можно использовать как для аудита безопасности, так и для обнаружения вторжений.
Откройте Терминал и введите следующее:
sudo apt-get install tiger
Для запуска тигра введите:
sudo tiger
Весь вывод Tiger можно найти в / var / log / tiger
Чтобы просмотреть отчеты о безопасности тигра, откройте Терминал и введите следующее:
Так как вы сказали, что это веб-хостинг-сервер ... Я хотел бы поделиться своим лучшим опытом и 5-летним опытом работы в сфере веб-хостинга.
Исходя из моего прошлого опыта, вместо того, чтобы сразу переходить в ад конфигурации, вы должны сначала собрать низко висящий виноград безопасности, как указано в данной статье.
Поскольку у вас есть LAMP, вы должны быть очень осторожны с PHP и его настройками php.ini. Это хорошая ссылка для защиты PHP. PHP обладает сверхспособностями, которые могут стать петлей безопасности, если не настроены должным образом.
Вы можете использовать задание cron для проверки того, когда ваши файлы были изменены без вашего разрешения и, возможно, взломаны; используя эту работу cron . Я предпочитаю Notepad ++ для сравнения результатов cron (непосредственно загрузите электронную почту cron с вашего веб-сервера и откройте в Notepad ++).
Если вы хотите установить SEM, то лучше всего выбрать cPanel (однако платный). Webmin и zpanel - очень хорошие бесплатные альтернативы. Webmin лучше для этого, по крайней мере, использует самозаверяющие сертификаты и добавляет безопасность.
Если вы хотите, чтобы что-то работало прямо из коробки, тогда вы можете перейти на Linux под ключ. Он основан на Ubuntu, чрезвычайно прост в реализации и гибок в соответствии с вашими потребностями. С очень небольшим усилием вы получаете безопасность из коробки. Это их стек LAMP . Я лично использую и предпочитаю только это.
Если вы начинаете с нуля, вы также можете установить ISPconfig3. Инструкция здесь .
Вы можете проверить свою безопасность, пытаясь проникнуть в нее с помощью Back-Track-Linux .
хранить сложные длинные и случайные пароли. Не храните их на ПК. Запишите их. Используйте live CD для доступа к этим логинам.
получить программное обеспечение для защиты от перебора, как fail2ban.
Не запускайте тех демонов, которые вам не нужны.
Заблокируйте все ненужные порты . Будьте предельно осторожны с портом SSH (22).
Получите статический IP-адрес в системе, через которую вы будете управлять сервером. Сделайте большую часть IP-блока и разрешите только вашему конкретному IP-адресу доступ к таким местам конфигурации, как порт 22.
В конце дня ... работайте с полной отдачей, не теряйте эмоций при установке, а здравый смысл выводит вас далеко за пределы.
PHP также может быть опасным, когда доверяете вводу пользователя (например, инъекция SQL).
NoBugs
@ NoBugs Я абсолютно согласен с этим пунктом. Невозможно сжать все в одном ответе. Мой ответ содержит много гиперссылок, и эти сайты, содержащие эти страницы, действительно очень полезны. Надеюсь, мой ответ и включенные ссылки помогут сообществу :)
Bhavesh Diwan
2
# 9: Нет, ramdom passowrds плохие, ключ в длине , т.е. «D0g .....................» сильнее, чем «PrXyc.N (n4k77 # L! EVdAfp9». Объяснение на объяснение xkcd.com/2011/08/10 /
Надежность
2
@papukaija Я предлагаю вам погуглить brute force attacksи dictionary attacks.. Случайный длинный пароль - единственный способ обезопасить себя от таких атак.
Бхавеш Диван
6
Воспользуйтесь проектом Bastille Linux.
Он предоставляет интерактивный инструмент для выполнения дополнительных мер по усилению безопасности, чтобы повысить общую безопасность и уменьшить вероятность компрометации вашей системы Ubuntu (от Bastille Linux ).
Он предлагает функции оценки и отчетности, так что он может сказать вам, какие части системы не заблокированы. Он проверяет систему только для чтения, сообщая о состоянии каждого из ее элементов защиты. Например, Бастилия может проверить, заблокирован ли DNS-сервер в тюрьме chroot, отключен ли telnet, или даже если пароли должны быть большой длины. Вы можете посмотреть на веб-только демо это через эту ссылку (более можете информацию ).
Предварительный просмотр демо-версии в Интернете можно получить здесь .
Я могу поддержать эту рекомендацию. Для запуска незащищенных хостов (например, веб-серверов) Bastille имеет большое значение для защиты системы.
Флойд
Это похоже на систему SELinux, которую вы найдете в CentOS / Redhat, но я уверен, что SELinux более современный.
Джангофан
3
Используйте nmapна всех интерфейсах на машине, чтобы вы знали, какие сервисы вы используете на своей машине. Это важный инструмент для безопасности.
Удалите все службы, которые вам не нужны, на внешних интерфейсах. Вы можете настроить MySQL для прослушивания только на определенных интерфейсах, таких как localhost.
Используйте ufw для защиты вашей службы SSH (и, возможно, других), чтобы она не допускала слишком много (неудачных) соединений в минуту с одной и той же машины. Это усложнит атаки методом грубой силы. Менять номер порта не так уж и полезно, просто неизвестность, нет безопасности.
Будьте ограничены с количеством учетных записей на вашем компьютере. Также не устанавливайте больше пакетов / программ, чем вы на самом деле используете. Устанавливайте только X11-клиенты, но не X11-сервер.
Разрешить ssh-вход в систему только с цифровыми сертификатами, без пароля. Это также сделает атаки грубой силы трудными / невозможными.
Я также обратился бы к документу Debian Benchmarks, в котором содержится значительное количество процедур и процессов для усиления защиты операционной системы, которые будут применяться к Ubuntu, поскольку он является производным от Debian. Я бы также проконсультировался:
Безопасность всегда идет с ценой. Установка реалистичных границ поможет вам в достижении ваших целей. Я хотел бы рассмотреть следующие аспекты:
От чего ты себя защищаешь (какой злодей, какой у него бюджет)?
Каковы ваши векторы атаки?
Проверяя все ссылки, которые размещены здесь, я думаю, что эта должна быть добавлена. Здесь подробно рассказывается не только о настройке программного обеспечения, но и о плане безопасности. Как плюс, каждая команда для выполнения объясняется с источником к нему.
Ответы:
Вот список того, что я делаю для защиты своего сервера.
sudo ufw enable
) и разрешите только те порты, которые действительно используются. (sudo ufw allow 80
)sudo apt-get install denyhosts
)Еще несколько вещей, чтобы рассмотреть. Большинство людей забывают о физическом доступе. Все конфигурации программного обеспечения в мире ничего не значат, если я смогу физически войти с LiveCD и украсть ваши данные. Остерегайтесь социальной инженерии. Задайте вопросы, чтобы проверить, кто разговаривает по телефону, и убедитесь, что у них есть разрешение на выполнение запроса, который они делают.
Поскольку я все еще «новый» пользователь, я не могу опубликовать более 2 ссылок. Вы можете прочитать больше об этой теме здесь: https://help.ubuntu.com/12.04/serverguide/index.html и обратить особое внимание на https://help.ubuntu.com/12.04/serverguide/security.html.
источник
iptables
правилами, чтобы запретить внешний доступ к любой службе, которую вы не собираетесь использовать, если у вас Настройка мяча, которая требует продвинутых маршрутов и прочее.Безопасная общая память
/ dev / shm может использоваться для атаки на работающий сервис, такой как httpd. Измените / etc / fstab, чтобы сделать его более безопасным.
Откройте окно терминала и введите следующее:
Добавьте следующую строку и сохраните. Вам нужно будет перезагрузиться, чтобы настройки вступили в силу:
Harden сеть с настройками sysctl
Файл /etc/sysctl.conf содержит все настройки sysctl. Для предотвращения маршрутизации исходящих входящих пакетов и регистрации неверных IP-адресов введите следующее в окне терминала
Отредактируйте файл /etc/sysctl.conf и откомментируйте или добавьте следующие строки:
Чтобы перезагрузить sysctl с последними изменениями, введите:
Предотвратить IP-спуфинг
Откройте Терминал и введите следующее:
Добавьте или отредактируйте следующие строки:
Harden PHP для безопасности
Отредактируйте файл php.ini:
Добавьте или отредактируйте следующие строки:
Брандмауэр веб-приложений - ModSecurity
http://www.thefanclub.co.za/how-to/how-install-apache2-modsecurity-and-modevasive-ubuntu-1204-lts-server
Защита от DDOS-атак (отказ в обслуживании) - ModEvasive
http://www.thefanclub.co.za/how-to/how-install-apache2-modsecurity-and-modevasive-ubuntu-1204-lts-server
Сканирование журналов и бан подозрительных хостов - DenyHosts и Fail2Ban
@DenyHosts
DenyHosts - это программа на python, которая автоматически блокирует атаки SSH, добавляя записи в /etc/hosts.deny. DenyHosts также проинформирует администраторов Linux о нарушающих работу хостах, атакованных пользователях и подозрительных входах в систему.
Откройте Терминал и введите следующее:
После установки отредактируйте файл конфигурации /etc/denyhosts.conf и измените адрес электронной почты и другие параметры, если это необходимо.
Чтобы изменить настройки электронной почты администратора, откройте окно терминала и введите:
Измените следующие значения, как требуется на вашем сервере:
@ Fail2Ban
Fail2ban более продвинут, чем DenyHosts, так как он расширяет мониторинг журналов для других служб, включая SSH, Apache, Courier, FTP и многие другие.
Fail2ban сканирует файлы журналов и блокирует IP-адреса, которые показывают вредоносные признаки - слишком много сбоев паролей, поиск эксплойтов и т. Д.
Обычно Fail2Ban затем используется для обновления правил брандмауэра, чтобы отклонять IP-адреса в течение заданного промежутка времени, хотя любое другое произвольное действие также может быть настроено. Из коробки Fail2Ban поставляется с фильтрами для различных сервисов (apache, courier, ftp, ssh и т. Д.).
Откройте Терминал и введите следующее:
После установки отредактируйте файл конфигурации /etc/fail2ban/jail.local и при необходимости создайте правила фильтрации.
Для редактирования настроек откройте окно терминала и введите:
Активируйте все службы, которые вы хотите, чтобы fail2ban отслеживал, изменив enabled = false на * enabled = true *
Например, если вы хотите включить мониторинг SSH и запретить тюрьму, найдите строку ниже и измените значение с false на true . Это оно.
Если вы хотите получать электронные письма от Fail2Ban, если хосты заблокированы, измените следующую строку на свой адрес электронной почты.
и измените следующую строку с:
чтобы:
Вы также можете создать фильтры правил для различных сервисов, которые вы хотите, чтобы fail2ban отслеживал, которые не поставляются по умолчанию.
Хорошие инструкции о том, как настроить fail2ban и создать различные фильтры, можно найти в HowtoForge - нажмите здесь для примера
Когда закончите с настройкой Fail2Ban, перезапустите сервис с:
Вы также можете проверить статус с помощью.
Проверьте наличие руткитов - RKHunter и CHKRootKit.
И RKHunter, и CHKRootkit в основном делают одно и то же - проверяют вашу систему на наличие руткитов. Нет вреда в использовании обоих.
Откройте Терминал и введите следующее:
Для запуска chkrootkit откройте окно терминала и введите:
Для обновления и запуска RKHunter. Откройте Терминал и введите следующее
Сканирование открытых портов - Nmap
Nmap («Network Mapper») - бесплатная утилита с открытым исходным кодом для обнаружения сети и аудита безопасности.
Откройте Терминал и введите следующее:
Сканирование вашей системы на наличие открытых портов с помощью:
SYN сканирование со следующим:
Анализ файлов системного журнала - LogWatch
Logwatch - это настраиваемая система анализа журналов. Logwatch анализирует журналы вашей системы и создает отчет, анализируя указанные вами области. Logwatch прост в использовании и будет работать сразу же на большинстве систем.
Откройте Терминал и введите следующее:
Для просмотра вывода logwatch используйте less:
Чтобы отправить отчет по журналу за последние 7 дней на адрес электронной почты, введите следующее и замените mail@domain.com требуемым адресом электронной почты. :
Аудит вашей системы безопасности - Тигр.
Tiger - это инструмент безопасности, который можно использовать как для аудита безопасности, так и для обнаружения вторжений.
Откройте Терминал и введите следующее:
Для запуска тигра введите:
Весь вывод Tiger можно найти в / var / log / tiger
Чтобы просмотреть отчеты о безопасности тигра, откройте Терминал и введите следующее:
Для получения дополнительной помощи
источник
magic_quotes_gpc = On
. Магические кавычки были объявлены устаревшими, а затем удалены: php.net/manual/en/security.magicquotes.whynot.phpТак как вы сказали, что это веб-хостинг-сервер ... Я хотел бы поделиться своим лучшим опытом и 5-летним опытом работы в сфере веб-хостинга.
Исходя из моего прошлого опыта, вместо того, чтобы сразу переходить в ад конфигурации, вы должны сначала собрать низко висящий виноград безопасности, как указано в данной статье.
Поскольку у вас есть LAMP, вы должны быть очень осторожны с PHP и его настройками php.ini. Это хорошая ссылка для защиты PHP. PHP обладает сверхспособностями, которые могут стать петлей безопасности, если не настроены должным образом.
Вы можете использовать задание cron для проверки того, когда ваши файлы были изменены без вашего разрешения и, возможно, взломаны; используя эту работу cron . Я предпочитаю Notepad ++ для сравнения результатов cron (непосредственно загрузите электронную почту cron с вашего веб-сервера и откройте в Notepad ++).
Если вы хотите установить SEM, то лучше всего выбрать cPanel (однако платный). Webmin и zpanel - очень хорошие бесплатные альтернативы. Webmin лучше для этого, по крайней мере, использует самозаверяющие сертификаты и добавляет безопасность.
Если вы хотите, чтобы что-то работало прямо из коробки, тогда вы можете перейти на Linux под ключ. Он основан на Ubuntu, чрезвычайно прост в реализации и гибок в соответствии с вашими потребностями. С очень небольшим усилием вы получаете безопасность из коробки. Это их стек LAMP . Я лично использую и предпочитаю только это.
Если вы начинаете с нуля, вы также можете установить ISPconfig3. Инструкция здесь .
Вы можете проверить свою безопасность, пытаясь проникнуть в нее с помощью Back-Track-Linux .
хранить сложные длинные и случайные пароли. Не храните их на ПК. Запишите их. Используйте live CD для доступа к этим логинам.
получить программное обеспечение для защиты от перебора, как fail2ban.
Не запускайте тех демонов, которые вам не нужны.
Заблокируйте все ненужные порты . Будьте предельно осторожны с портом SSH (22).
Получите статический IP-адрес в системе, через которую вы будете управлять сервером. Сделайте большую часть IP-блока и разрешите только вашему конкретному IP-адресу доступ к таким местам конфигурации, как порт 22.
В конце дня ... работайте с полной отдачей, не теряйте эмоций при установке, а здравый смысл выводит вас далеко за пределы.
источник
brute force attacks
иdictionary attacks
.. Случайный длинный пароль - единственный способ обезопасить себя от таких атак.Воспользуйтесь проектом Bastille Linux.
Он предоставляет интерактивный инструмент для выполнения дополнительных мер по усилению безопасности, чтобы повысить общую безопасность и уменьшить вероятность компрометации вашей системы Ubuntu (от Bastille Linux ).
Он предлагает функции оценки и отчетности, так что он может сказать вам, какие части системы не заблокированы. Он проверяет систему только для чтения, сообщая о состоянии каждого из ее элементов защиты. Например, Бастилия может проверить, заблокирован ли DNS-сервер в тюрьме chroot, отключен ли telnet, или даже если пароли должны быть большой длины. Вы можете посмотреть на веб-только демо это через эту ссылку (более можете информацию ).
Предварительный просмотр демо-версии в Интернете можно получить здесь .
источник
Используйте
nmap
на всех интерфейсах на машине, чтобы вы знали, какие сервисы вы используете на своей машине. Это важный инструмент для безопасности.Удалите все службы, которые вам не нужны, на внешних интерфейсах. Вы можете настроить MySQL для прослушивания только на определенных интерфейсах, таких как localhost.
Используйте ufw для защиты вашей службы SSH (и, возможно, других), чтобы она не допускала слишком много (неудачных) соединений в минуту с одной и той же машины. Это усложнит атаки методом грубой силы. Менять номер порта не так уж и полезно, просто неизвестность, нет безопасности.
Будьте ограничены с количеством учетных записей на вашем компьютере. Также не устанавливайте больше пакетов / программ, чем вы на самом деле используете. Устанавливайте только X11-клиенты, но не X11-сервер.
Разрешить ssh-вход в систему только с цифровыми сертификатами, без пароля. Это также сделает атаки грубой силы трудными / невозможными.
источник
Я также обратился бы к документу Debian Benchmarks, в котором содержится значительное количество процедур и процессов для усиления защиты операционной системы, которые будут применяться к Ubuntu, поскольку он является производным от Debian. Я бы также проконсультировался:
источник
Безопасность всегда идет с ценой. Установка реалистичных границ поможет вам в достижении ваших целей. Я хотел бы рассмотреть следующие аспекты:
Проверяя все ссылки, которые размещены здесь, я думаю, что эта должна быть добавлена. Здесь подробно рассказывается не только о настройке программного обеспечения, но и о плане безопасности. Как плюс, каждая команда для выполнения объясняется с источником к нему.
Защита веб-сервера Ubuntu на Xenial 16.04
источник
Я недавно сделал пост об этом, как обезопасить Ubuntu 16.04-18.04. Эти шаги включают в себя:
Замените пароль Войти авторизованными ключами Установите брандмауэр на вашем сервере Linux
и еще немного. https://hostup.org/blog/how-to-secure-a-ubuntu-linux-server-in-3-simple-steps/
источник