У меня есть проект для защиты Ubuntu Server, насколько я могу. Сервер - это сервер веб-хостинга. На сервере будут запущены LAMP, Mail и DNS.
У меня есть проект для защиты Ubuntu Server, насколько я могу. Сервер - это сервер веб-хостинга. На сервере будут запущены LAMP, Mail и DNS.
Вот список вещей, которые я делаю для защиты моего сервера.
sudo ufw enable
), а затем разрешите только порты, которые фактически используются. ( sudo ufw allow 80
) Еще несколько вещей, которые нужно учитывать. Большинство людей забывают о физическом доступе. Все конфигурации программного обеспечения в мире ничего не значат, если я могу физически ходить с LiveCD и украсть ваши данные. Остерегайтесь социальной инженерии. Задайте вопросы, чтобы проверить, кто находится на телефоне, и убедитесь, что у них есть разрешение сделать запрос, который они делают.
Поскольку я все еще «новый» пользователь, я не могу опубликовать более двух ссылок. Вы можете узнать больше об этой теме здесь: Ссылка и уделять особое внимание Ссылка
/ 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
Отредактируйте файл 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 = [email protected]
SMTP_HOST = localhost
SMTP_PORT = 25
#SMTP_USERNAME=foo
#SMTP_PASSWORD=bar
SMTP_FROM = DenyHosts [email protected]
#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 на * enabled = true *
Например, если вы хотите включить SSH-мониторинг и запретить тюрьму, найдите приведенную ниже строку и измените ее с false на true . Вот оно.
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
Если вы хотите получать сообщения электронной почты из Fail2Ban , если хосты запрещены, измените следующую строку на свой адрес электронной почты.
destemail = [email protected]
и измените следующую строку:
action = %(action_)s
в
action = %(action_mwl)s
Вы также можете создать фильтры правил для различных служб, которые вы хотели бы отслеживать, чтобы 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 со следующим:
sudo nmap -v -sS localhost
Logwatch - настраиваемая система анализа журналов. Logwatch анализирует журналы вашей системы и создает отчет, анализирующий области, которые вы укажете. Logwatch прост в использовании и будет работать прямо из пакета на большинстве систем.
Откройте терминал и введите следующее:
sudo apt-get install logwatch libdate-manip-perl
Для просмотра вывода журнала используйте меньше:
sudo logwatch | less
Чтобы отправить отчет по журналу за последние 7 дней на адрес электронной почты, введите следующее и замените [email protected] на требуемое электронное письмо.
sudo logwatch --mailto [email protected] --output mail --format html --range 'between -7 days and today'
Tiger - это инструмент безопасности, который можно использовать как в качестве системы аудита безопасности, так и для системы обнаружения вторжений.
Откройте терминал и введите следующее:
sudo apt-get install tiger
Чтобы запустить тигр, введите:
sudo tiger
Все выходные данные Tiger можно найти в каталоге / var / log / tiger
Чтобы просмотреть отчеты о безопасности тигра, откройте терминал и введите следующее:
sudo less /var/log/tiger/security.report.*
Поскольку вы сказали, что это веб-хостинг-сервер ... Я хотел бы поделиться своими лучшими практиками и опытом 5 долгих лет на веб-хостинге . р>
Из моего прошлого опыта, а не сразу в настройку ада, вы должны сначала собрать низкий висячий виноград безопасности, как указано в данной статье. Р>
Так как у вас есть LAMP, значит, вы должны быть очень осторожны с PHP и его настройками php.ini. Это хорошая ссылка для обеспечения безопасности PHP. PHP имеет супер-полномочия, которые могут стать петлями безопасности, если они не настроены должным образом.
Вы можете использовать cron job , чтобы проверить, когда ваши файлы были изменены без вашего разрешения и, возможно, взломали; используя это задание 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.**
Используйте проект Bastille Linux.
Он предоставляет интерактивный инструмент для выполнения дополнительных мер по упрощению безопасности для повышения общей безопасности и снижения подверженности компрометации для вашей системы Ubuntu (от Bastille Linux ).
Он предлагает функцию оценки и отчетности, чтобы он мог рассказать вам, какие части системы не заблокированы. Он анализирует систему в режиме «только для чтения», сообщая о статусе каждого из своих упрочняющих элементов. Например, Bastille может проверить, заблокирован ли DNS-сервер в тюрьме chroot, отключен ли telnet или даже если пароли необходимы для хорошей длины. Вы можете посмотреть демонстрацию этого веб-сайта по этой ссылке (подробнее информация ).
Вы можете просмотреть демонстрацию веб-сайта (только) здесь .
Используйте nmap
для всех интерфейсов на машине, чтобы вы знали, какие службы вы запускаете на своем компьютере. Это важный инструмент обеспечения безопасности.
Удалите все службы, которые вам не нужны на внешних интерфейсах. Вы можете настроить MySQL только для прослушивания на определенных интерфейсах, таких как localhost.
Используйте ufw для защиты своего SSH-сервиса (и возможных других), чтобы он не позволял слишком много (неудачных) подключений в минуту с одной машины. Это сделает атаки грубой силы более жесткими. Изменить номер порта не так уж и полезно, просто безвестность, отсутствие безопасности.
Ограничьте количество учетных записей на вашем компьютере. Также не устанавливайте больше пакетов / программ, чем вы на самом деле используете. Установите только X11-клиенты, а не X11-сервер.
Разрешить ssh-login для машины с цифровыми сертификатами, no . Это также сделает атаки грубой силы тяжелыми / невозможными.
Я также проконсультирую Документы CIS Debian Benchmarks и он имеет значительное количество процедур и процессов для упрощения операционной системы, которые будут применяться к Ubuntu, поскольку он является производным от Debian. Я также проконсультируюсь: