Вот список того, что я делаю для защиты своего сервера.
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
Используйте nmap
на всех интерфейсах на машине, чтобы вы знали, какие сервисы вы используете на своей машине. Это важный инструмент для безопасности.
Удалите все службы, которые вам не нужны, на внешних интерфейсах. Вы можете настроить MySQL так, чтобы он прослушивал только определенные интерфейсы, например localhost.
Используйте ufw для защиты вашей службы SSH (и, возможно, других), чтобы она не допускала слишком много (неудачных) соединений в минуту с одной и той же машины. Это усложнит атаки методом грубой силы. Изменить номер порта не так уж и полезно, просто неизвестность, нет безопасности.
Будьте ограничены количеством учетных записей на вашем компьютере. Также не устанавливайте больше пакетов / программ, чем вы на самом деле используете. Устанавливайте только X11-клиенты, но не X11-сервер.
Разрешить ssh-вход в систему только с цифровыми сертификатами, пароль отсутствует . Это также сделает атаки грубой силы трудными / невозможными.
Я недавно сделал сообщение об этом, как обезопасить Ubuntu 16.04-18.04. Эти шаги включают в себя:
Замена пароля для входа в систему авторизованными ключами Установите брандмауэр на вашем сервере Linux
и некоторые другие. https://hostup.org/blog/how-to-secure-a-ubuntu-linux-server-in-3-simple-steps/
Безопасность всегда идет с ценой. Установка реалистичных границ поможет вам в достижении ваших целей. Я хотел бы рассмотреть следующие аспекты:
Проверяя все ссылки, которые размещены здесь, я думаю, что эта должна быть добавлена. Здесь подробно рассказывается не только о настройке программного обеспечения, но и о плане безопасности. Как плюс, каждая команда, которую нужно выполнить, объясняется с источником к ней.
Используйте проект Bastille Linux.
Он предоставляет интерактивный инструмент для выполнения дополнительных мер по усилению безопасности для повышения общей безопасности и снижения уязвимости компрометации для вашей системы Ubuntu (из Bastille Linux ).
Он предлагает функции оценки и отчетности, так что он может сказать вам, какие части системы не заблокированы. Он проверяет систему только для чтения, сообщая о состоянии каждого из ее элементов защиты. Например, Бастилия может проверить, заблокирован ли DNS-сервер в тюрьме chroot, отключен ли telnet, или даже если пароли должны быть большой длины. Вы можете посмотреть демо-версию этого веб-сайта по этой ссылке (подробнее info ).
Предварительный просмотр демо (только) в Интернете можно получить здесь здесь .
/ dev / shm может использоваться для атаки на работающий сервис, такой как httpd. Измените / etc / fstab, чтобы сделать его более безопасным.
Откройте окно терминала и введите следующее:
sudo vi /etc/fstab
Добавьте следующую строку и сохраните. Вам нужно будет перезагрузиться, чтобы настройки вступили в силу:
tmpfs /dev/shm tmpfs defaults,noexec,nosuid 0 0
Файл /etc/sysctl.conf содержит все sysctl настройки. Для предотвращения маршрутизации исходящих входящих пакетов и регистрации неверных IP-адресов введите в окне терминала следующее:
sudo vi /etc/sysctl.conf
Отредактируйте файл /etc/sysctl.conf и откомментируйте или добавьте следующие строки :
# IP Spoofing protection
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# Ignore ICMP broadcast requests
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Disable source packet routing
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv6.conf.default.accept_source_route = 0
# Ignore send redirects
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
# Block SYN attacks
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5
# Log Martians
net.ipv4.conf.all.log_martians = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
# Ignore ICMP redirects
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
# Ignore Directed pings
net.ipv4.icmp_echo_ignore_all = 1
Чтобы перезагрузить sysctl с последними изменениями, введите:
sudo sysctl -p
Открыть терминал и введите следующее:
sudo vi /etc/host.conf
Добавьте или измените следующие строки:
order bind,hosts
nospoof on
[ 11110] Отредактируйте файл php.ini:
sudo vi /etc/php5/apache2/php.ini
Добавьте или измените следующие строки:
disable_functions = exec,system,shell_exec,passthru
register_globals = Off
expose_php = Off
magic_quotes_gpc = On
DenyHosts - это программа на python, которая автоматически блокирует атаки SSH, добавляя записи в / etc /hosts.deny. DenyHosts также сообщит администраторам Linux о нарушающих работу хостах, атакованных пользователях и подозрительных входах в систему.
Откройте терминал и введите следующее:
sudo apt-get install denyhosts
После установки отредактируйте файл конфигурации /etc/denyhosts.conf и измените адрес электронной почты, и другие настройки по мере необходимости.
Для редактирования настроек электронной почты администратора откройте окно терминала и введите:
sudo vi /etc/denyhosts.conf
Измените следующие значения, как требуется на вашем сервере:
ADMIN_EMAIL = root@localhost
SMTP_HOST = localhost
SMTP_PORT = 25
#SMTP_USERNAME=foo
#SMTP_PASSWORD=bar
SMTP_FROM = DenyHosts nobody@localhost
#SYSLOG_REPORT=YES
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 на [11119 ] * enabled = true *
Например, если вы хотите включить мониторинг SSH и запретить тюрьму, найдите строку ниже и измените значение с на false [true] [true] , Вот и все.
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
Если вы хотите получать электронные письма от Fail2Ban , если хосты заблокированы, измените следующую строку на свой адрес электронной почты.
destemail = root@localhost
и измените следующую строку с:
action = %(action_)s
на:
action = %(action_mwl)s
Вы также можете [11124 ] создать фильтры правил для различных сервисов, которые вы хотите, чтобы fail2ban отслеживал, которые не поставляются по умолчанию.
sudo vi /etc/fail2ban/jail.local
Хорошие инструкции о том, как настроить fail2ban и создать различные фильтры, можно найти в HowtoForge - , нажмите здесь для примера
По завершении настройки Fail2Ban перезапустите службу с помощью:
sudo /etc/init.d/fail2ban restart
Вы также можете проверить состояние с помощью.
sudo fail2ban-client status
Оба RKHunter и CHKRootkit в основном делают одно и то же - проверяют вашу систему на наличие руткитов. Никакого вреда в использовании обоих.
Откройте терминал и введите следующее:
sudo apt-get install rkhunter chkrootkit
Для запуска chkrootkit откройте окно терминала и введите:
sudo chkrootkit
Чтобы обновить и запустить RKHunter. Откройте Терминал и введите следующее
sudo rkhunter --update
sudo rkhunter --propupd
sudo rkhunter --check
Nmap («Network Mapper») - бесплатная утилита с открытым исходным кодом для обнаружения сети и аудита безопасности .
Откройте Терминал и введите следующее:
sudo apt-get install nmap
Сканирование системы на наличие открытых портов с помощью:
nmap -v -sT localhost
Сканирование SYN с помощью следующего: [ 1193]
sudo nmap -v -sS localhost
Logwatch - это настраиваемая система анализа журналов. Logwatch анализирует журналы вашей системы и создает отчет, анализируя указанные вами области. Logwatch прост в использовании и будет работать сразу же на большинстве систем.
Откройте Терминал и введите следующее:
sudo apt-get install logwatch libdate-manip-perl
Чтобы просмотреть выходные данные журнала, используйте меньше:
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 [11101 ]
Чтобы просмотреть отчеты о безопасности тигра, откройте Терминал и введите следующее:
sudo less /var/log/tiger/security.report.*
Я бы также обратился к документу CIS Debian Benchmarks , в котором содержится значительное количество процедур и процессов для усиления защиты операционной системы, которые будут применяться к Ubuntu, поскольку она является производной от Debian. Я также посоветовался бы:
Поскольку вы сказали, что это веб-хостинг-сервер ... Я хотел бы поделиться своими лучшими практиками и опытом 5 долгих лет в области веб-хостинга. [ 1123]
Исходя из моего прошлого опыта, вместо того, чтобы сразу же попадать в ад конфигурации, вам следует сначала собрать низко висящий виноград безопасности, как указано в данной статье.
Поскольку у вас 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.
В конце дня ... работайте с полной душой, не становитесь эмоциональными с установкой, и применение здравого смысла выводит вас далеко за пределы.
**My heartiest best wishes to you. good luck.**
brute force attacks
и dictionary attacks
.. Случайный длинный пароль является единственным способом защитить себя от таких нападений.
– Chirag
18.01.2020, 01:39
iptables
правила запретить внешний доступ к любому сервису, Вы - not' t собирающийся использовать, если у Вас есть чудная установка, которая требует усовершенствованного rouing и материала все же. – Contango 18.01.2020, 01:34