В процессе миграции предприятия в облако мы обнаружили, что все больше и больше предприятий часто сталкиваются с проблемами неправильной конфигурации при развертывании служб баз данных или приложений для работы с большими данными, что приводит к появлению уязвимостей несанкционированного доступа и риску утечки бизнес-данных.
Уязвимости несанкционированного доступа — очень распространенная проблема на предприятиях. Эта проблема обычно возникает из-за неправильной настройки безопасности, дефектов на странице аутентификации или невозможности настроить аутентификацию в процессе запуска. Когда внешние службы и порты предприятия открыты для общедоступной сети и нет ограничений на доступ пользователей, возможна утечка бизнес-данных или внутренней конфиденциальной информации, а некоторые данные могут в дальнейшем использоваться злоумышленниками для выполнения системных команд и файлов операционной системы. Это может привести к повреждению системы или грозить серьезной утечкой данных.
В этой статье в основном представлены распространенные риски несанкционированной утечки данных и соответствующие предложения по усилению и устранению проблем, а также представлены лучшие практики обеспечения безопасности.
Elasticsearch — это поисковый сервер на основе Lucene. Он предоставляет распределенную многопользовательскую систему полнотекстового поиска на основе веб-интерфейса RESTful. Elasticsearch, разработанная на Java и выпущенная с открытым исходным кодом на условиях лицензии Apache, является популярной поисковой системой корпоративного уровня.
Elasticsearch по умолчанию будет открыт для внешнего мира через порт 9200 или 9300, чтобы обеспечить функцию удаленного управления данными. Любой, кто подключен к порту сервера, может по своему желанию вызвать соответствующий API для добавления, удаления, изменения и проверки данных на сервере.
Метод обнаружения:
curl http://публичный IP:9200/_cat/indices/
Если возвращается конфиденциальная информация, такая как имя кластера, существуют соответствующие риски.
Рекомендации по ремонту:
1) Порт 9200 не должен быть открыт для внешнего мира. Если его необходимо открыть, рекомендуется ограничить доступ к порту 9200 из группы облачной консоли безопасности только указанными IP-адресами или настроить запрет на брандмауэре хоста. доступ из внешней сети к порту 9200:
// accept
## iptables -A INPUT -p tcp -s 127.0.0.1 --dport 9200 -j ACCEPT
## iptables -A INPUT -p udp -s 127.0.0.1 --dport 9200 -j ACCEPT
// drop
## iptables -I INPUT -p tcp --dport 9200 -j DROP
## iptables -I INPUT -p udp --dport 9200 -j DROP
// Сохранить правила и перезапустить
## service iptables save
## service iptables restart
2) Установите аутентификацию для порта 9200 в config/elasticsearch.yml. Соответствующие параметры конфигурации см. в разделе:
http.basic.enabled true #Начать сертификацию, включение которой возьмет на себя все HTTP-соединения.
http.basic.user "admin" #Конфигурация Сертификация аккаунта
http.basic.password "admin_pwxxxxx" #Конфигурация Пароль Комплексной Сертификации, рекомендуется содержать три типа цифр: заглавные буквы, строчные буквы и специальные символы.
http.basic.ipwhitelist ["localhost", "127.0.0.1"]
3) Используйте Nginx для создания обратного прокси-сервера и настройте Nginx для аутентификации Elasticsearch;
Обзор рисков:
При запуске службы MongoDB параметры не добавляются. По умолчанию проверка разрешений не осуществляется. Пользователи, входящие в систему, могут выполнять любые операции с базой данных (добавлять, удалять, изменять, проверять действия с высоким уровнем риска) через порт по умолчанию без пароля. доступ к базе данных удаленно.
Основная причина несанкционированного доступа заключается в том, что параметр --auth не был установлен при запуске Mongodb, а пароль учетной записи (пустой пароль по умолчанию) не был добавлен в базу данных. Использование пустого пароля по умолчанию напрямую приведет к тому, что злоумышленники не смогут этого сделать. необходимо выполнить аутентификацию учетной записи. Войдите на сервер данных.
Метод обнаружения:
(1) Проверьте, прослушивается ли он только 127.0.0.1.
Метод 1:
ps -ef|grep mongodb //Проверяем, привязана ли командная строка к локальному адресу, то есть --bind_ip 127.0.0.1
Метод 2:
vim /etc/mongodb.conf //Проверяем, является ли полеbin_ip значениемbind_ip = 127.0.0.1
(2) Проверьте, включена ли проверка подлинности
mongod --auth //Проверяем, требуется ли пароль сертификации
vim /etc/mongodb.conf //Проверяем, является ли поле аутентификации true
auth = true
Рекомендации по ремонту:
1) Добавьте аутентификацию для MongoDB: добавьте параметр –auth при запуске MongoDB и добавьте аутентификацию пользователя для MongoDB;
2) Сама MongoDB имеет службу HTTP и поддерживает интерфейс REST. После версии 2.6 эти интерфейсы по умолчанию закрыты. MongoDB будет использовать порт по умолчанию для прослушивания веб-служб. Как правило, удаленное управление через Интернет не требуется, и его рекомендуется отключить. Вы можете изменить параметр файла конфигурации nohttpinterface=false.
Или выберите параметр --nohttpinterface при запуске.
3) Используйте брандмауэр группы безопасности облачной консоли или брандмауэр локальной системы для управления IP-адресом источника доступа. Если вы предоставляете услуги только серверу интрасети, не рекомендуется публиковать службу MongoDB в Интернете.
4) Добавьте параметр --bind_ip 127.0.0.1 при запуске или добавьте в файл /etc/mongodb.conf следующее содержимое:bind_ip = 127.0.0.1, разрешая только локальный доступ.
Обзор рисков:
Hadoop — это инфраструктура распределенной системы, созданная Apache Foundation. Она выполняет распределенную обработку с помощью знаменитого алгоритма MapReduce. Yarn — это система управления ресурсами кластера Hadoop.
Поскольку некоторые пользовательские серверы напрямую открывают веб-порт 50070 и некоторые сервисные порты HDFS компьютера Hadoop по умолчанию во время процесса бизнес-развертывания, хакеры могут управлять данными в нескольких каталогах через командную строку, например удалять, загружать, просматривать каталоги и даже выполнять команды. Такие операции могут нанести большой вред.
модуль | узел | Порт по умолчанию |
---|---|---|
HDFS | NameNode | 50070 |
HDFS | SecondNameNode | 50090 |
HDFS | DataNode | 50075 |
HDFS | Backup/Checkpoint node | 50105 |
WebUI | Hadoop YARN ResourceManager WebUI | 8088 |
MapReduce | JobTracker | 50030 |
MapReduce | TaskTracker | 50060 |
путем доступа NameNode WebUI интерфейс управления 50070 Порт, вы можете скачать любой файл, если DataNode из Порт по умолчанию 50075 Открыто, злоумышленник может пройти HDSF предоставил restful API верно HDFS Если после запуска среды не настроена аутентификация, злоумышленники могут получить доступ к Hadoop без авторизации. YARN ResourceManager Страница WebUI для выполнения вредоносных команд для управления сервером.
Метод обнаружения:
доступ http://192.168.xx.xx:8088/cluster, проверьте ПРЯЖУ ResourceManager WebUI ливерно Открытая публичная сеть
Проверьте локально Hadoop 50070, 50075 и другие порты, открытые для общедоступной сети.
Рекомендации по ремонту:
Войдите в облачную консоль,настройки «Группа безопасности» политика контроля доступа,Воля Hadoop По умолчанию открыты несколько портов, а все общедоступные сети запрещены или ограничены для доверия. IP Доступный адрес включает в себя 50070 а также WebUI Подождите соответствующие порты
При необходимости закройте страницу веб-управления Hadoop.
давать возможность Kerberos Сертификация Функция,Или разверните систему обратного прокси, например Knox или Nginx.,Защита от неавторизованного доступа пользователей
Если Kibana разрешает доступ к внешним сетям,Нет безопасности при входе в систему,Все данные также будут просматриваться посторонними лицами по желанию.,Вызывает большую утечку внутренних данных.
Метод обнаружения:
прямойдоступ kibana страницы, такие как:
http://192.168.126.130:5601/ https://192.168.126.130/app/kibana# http://192.168.126.130:5601/app/kibana#/
Если вы можете войти в систему и войти в интерфейс без учетной записи или пароля, это означает, что вы находитесь в зоне воздействия.
Рекомендации по ремонту:
Шаг 1. Настройте Kibana на прослушивание локального адреса и установите учетную запись и пароль для входа в ElasticSearch:
elasticsearch.url: "http://127.0.0.1:9200"
#Введите ElasticSearch из учетной записи и пароля здесь
elasticsearch.username: "user"
elasticsearch.password: "pass"
Шаг 2. Используйте htpasswd для создания учетной записи и пароля для входа в Kibana. Вы можете повторно использовать учетную запись и пароль, созданные ElasticSearch, или создать новую.
htpasswd -c /usr/local/service/nginx/conf/htpasswd username
server {
# Сертификация личности через обратный прокси-сервер верокибана
listen 15601;
server_name localhost;
location / {
auth_basic "xxxxx";
auth_basic_user_file /usr/local/service/nginx/conf/htpasswd;
proxy_pass http://127.0.0.1:5601;
}
}
Apache CouchDB Это база данных с открытым исходным кодом, которая по умолчанию открывает интерфейс Restful API на порту 5984. Если вы используете SSL, она будет прослушивать порт 6984 для функций управления базой данных. Это HTTP ServerПри включении по умолчанию проверка не производится.,И он привязан к 0.0.0.0,Все пользователи могут вызвать несанкционированный доступ через API-доступ.
в официальном Конфигурацияв документацииверноHTTP Конфигурация сервера имеет WWW-аутентификацию: установить this option to trigger basic-auth popup on unauthorized запросы, но многие пользователи не настраивают его таким образом, что приводит к уязвимостям.
Метод обнаружения:
curl http://192.168.126.130:5984
curl http://192.168.126.130:5984/_config
Если возвращается конфиденциальная информация, такая как версия или конфигурация CouchDB, существуют соответствующие риски.
Рекомендации по ремонту:
1) Укажите IP, привязанный к CouchDB. (Для вступления в силу CouchDB необходимо перезапустить) :существовать /etc/couchdb/local.ini найден в файле bind_address = 0.0.0.0, ставь 0.0.0.0 Изменить на 127.0.0.1 ,затем сохраните。Примечание:После модификации только эта машина можетдоступCouchDB。
2)настраиватьдоступпароль (Для вступления в силу CouchDB необходимо перезапустить) в файле конфигурации Находится в /etc/couchdb/local.ini. [admins] Пароль конфигурации поля
Сервер MySQL не устанавливает пароль учетной записи root или для определенной учетной записи используется простой пароль. Это позволяет хакерам удаленно подключаться без использования пароля или легко угадать пароль учетной записи, а затем напрямую войти на сервер данных для получения конфиденциальных данных.
Метод обнаружения:
Используйте клиент MySQL для входа с пустым паролем или угадайте его в виде учетной записи/пароля. Если вы можете войти в систему, это означает, что существует уязвимость MySQL с пустым паролем или слабым паролем.
Рекомендации по ремонту:
Рекомендуется добавить безопасный пароль к учетной записи в MySQL. Надежный пароль должен содержать три из следующих четырех элементов:
(1) Заглавные буквы
(2) Строчные буквы
(3) Специальные символы
(4) Числа
SQL Порт 1433 сервера (системы баз данных, разработанной Microsoft) в основном используется для предоставления услуг управления данными извне. Поскольку многие корпоративные пользователи привыкли часто открывать порт 1433 для управления серверами и обновления ресурсов сервера, недобросовестные хакеры пользуются этой возможностью. sa Слабые пароли могут использоваться для взлома портов и проникновения на корпоративные серверы, нанося предприятию непоправимый ущерб.
Метод обнаружения:
Используйте клиент SQL Server для входа в систему с пустым паролем или угадайте его в виде учетной записи/пароля. Если вы можете войти в систему, это означает, что существует уязвимость пустого/слабого пароля SQL Server.
Рекомендации по ремонту:
Рекомендуется добавить безопасный пароль к учетной записи в SQL Server. Надежный пароль должен содержать три из следующих четырех элементов:
(1) Заглавные буквы
(2) Строчные буквы
(3) Специальные символы
(4) Числа
PostgreSQLэто Функциямощныйиз Открытый исходный кодверносистема реляционных баз данных,Его порт базы данных по умолчанию: 5432, многие компании открыли его в общедоступной сети и установили простой пароль из-за небрежности во время использования. В результате хакеры могут легко угадать пароль учетной записи удаленно и напрямую войти на сервер данных для получения конфиденциальных данных.
Метод обнаружения:
Используйте клиент PostgreSQL для входа в систему с пустым паролем или угадайте его в виде учетной записи/пароля. Если вы можете войти в систему, это означает, что существует уязвимость PostgreSQL с пустым паролем или слабым паролем.
Рекомендации по ремонту:
Рекомендуется добавить безопасный пароль к учетной записи в PostgreSQL. Надежный пароль должен содержать три из следующих четырех элементов:
(1) Заглавные буквы
(2) Строчные буквы
(3) Специальные символы
(4) Числа
Atlassian Confluence — это профессиональная вики-программа, созданная компанией Atlassian. Его можно использовать в качестве инструмента управления знаниями, с помощью которого можно обеспечить сотрудничество и обмен знаниями между членами команды. Этот компонент исторически выявил множество уязвимостей удаленного выполнения кода с высоким уровнем риска. включать:
20 марта 2019 года компания Confluence официально выпустила рекомендации по безопасности. Уязвимость несанкционированного обхода каталога существует в продуктах Confluence Server и Data Center до версии 6.14.2. Благодаря этой уязвимости злоумышленник может читать произвольные файлы или выполнять произвольные команды с использованием шаблона Velocity. инъекция
25 августа 2021 года компания Atlassian официально раскрыла уязвимость высокого риска внедрения OGNI в Confluence. Эта уязвимость позволяет аутентифицированным или, в некоторых случаях, неавторизованным злоумышленникам выполнять произвольный код на экземплярах Confluence Server или Data Center. Затрагивает почти все версии Confluence.
3 июня 2022 года компания Atlassian официально опубликовала официальное заявление, в котором сообщила, что Confluence Server и Data Center имеют уязвимость для удаленного внедрения OGNL. Злоумышленники могут создавать выражения OGNL для внедрения без аутентификации, что может быть реализовано в Confluence Server или Data Center Execute произвольно. код в Центре с оценкой CVSS 10.
Соответствующие сведения об уязвимостях и PoC были публично раскрыты, а внешние злоумышленники использовали их в своих целях.
Метод обнаружения:
Пользователи могут проверить, находится ли текущая версия Confluence в уязвимом диапазоне и подвержен ли текущий сервис этой уязвимости.
Как показано ниже,Выберите «О Confluence».,Вы можете просмотреть текущую версию.
Рекомендации по ремонту(рекомендовать):
Чиновники рекомендуют пользователям обновиться до последней версии, чтобы обеспечить безопасность и стабильность сервиса.
Ссылка для скачивания: https://www.atlassian.com/software/confluence/download-archives.
Справочник по решению временного ремонта:
Ниже в качестве примера взята версия 7.4.1 и использованы временные меры защиты для ее восстановления (возможна нестабильность)
Сначала загрузите следующие три файла и загрузите их на сервер Confluence.
https://packages.atlassian.com/maven-internal/opensymphony/xwork/1.0.3-atlassian-10/xwork-1.0.3-atlassian-10.jar
https://packages.atlassian.com/maven-internal/opensymphony/webwork/2.1.5-atlassian-4/webwork-2.1.5-atlassian-4.jar
https://confluence.atlassian.com/doc/files/1130377146/1137639562/3/1654274890463/CachedConfigurationProvider.class
Этапы ремонта:
[root@centos ~]# cd /opt/CVE-2022-26134_repair/
[root@centos CVE-2022-26134_repair]# ll
total 524
-rw-r--r--. 1 root root 7186 Jun 5 10:55 CachedConfigurationProvider.class
-rw-r--r--. 1 root root 352630 Oct 14 2021 webwork-2.1.5-atlassian-4.jar
-rw-r--r--. 1 root root 170369 Jun 2 16:39 xwork-1.0.3-atlassian-10.jar
[root@centos CVE-2022-26134_repair]# cd /opt/atlassian/confluence/
[root@centos confluence]# ll
total 1340
-rw-r--r--. 1 root root 975517 Jun 5 10:33 atlassian-agent.jar
drwxr-xr-x. 3 root root 4096 Jun 5 10:35 bin
-rw-r--r--. 1 root root 19540 Jun 11 2020 BUILDING.txt
drwxr-xr-x. 3 root root 4096 Jun 5 10:31 conf
drwxr-xr-x. 27 root root 4096 Jun 5 10:31 confluence
-rw-r--r--. 1 root root 5545 Jun 11 2020 CONTRIBUTING.md
-rw-r--r--. 1 root root 128417 Jun 5 10:31 install.reg
drwxr-xr-x. 7 root root 4096 Jun 5 10:31 jre
drwxr-xr-x. 2 root root 4096 Jun 5 10:31 lib
-rw-r--r--. 1 root root 58153 Jun 11 2020 LICENSE
drwxr-xr-x. 2 root root 69632 Jun 5 10:31 licenses
drwx------. 2 confluence root 4096 Jun 5 10:35 logs
-rw-r--r--. 1 root root 2401 Jun 11 2020 NOTICE
-rw-r--r--. 1 root root 2291 Jun 11 2020 README.html
-rw-r--r--. 1 root root 3334 Jun 11 2020 README.md
-rw-r--r--. 1 root root 1202 Jun 11 2020 README.txt
-rw-r--r--. 1 root root 7072 Jun 11 2020 RELEASE-NOTES
-rw-r--r--. 1 root root 16738 Jun 11 2020 RUNNING.txt
drwxr-xr-x. 4 root root 4096 Jun 5 10:31 synchrony-proxy
drwx------. 3 confluence root 4096 Jun 5 10:39 temp
-rwx------. 1 root root 13586 Jun 11 2020 uninstall
drwxr-xr-x. 2 root root 4096 Jun 11 2020 webapps
drwx------. 3 confluence root 4096 Jun 5 10:35 work
[root@centos confluence]# cd confluence/WEB-INF/lib/
[root@centos lib]# mkdir /opt/old_backup
[root@centos lib]# mv xwork-1.0.3.6.jar /opt/old_backup/
[root@centos lib]# mv webwork-2.1.5-atlassian-3.jar /opt/old_backup/
[root@centos lib]# cp /opt/CVE-2022-26134_repair/xwork-1.0.3-atlassian-10.jar /opt/atlassian/confluence/confluence/WEB-INF/lib/
[root@centos lib]# cp /opt/CVE-2022-26134_repair/webwork-2.1.5-atlassian-4.jar /opt/atlassian/confluence/confluence/WEB-INF/lib/
[root@centos lib]# cd /opt/atlassian/confluence/confluence/WEB-INF/classes/com/atlassian/confluence/setup/
[root@centos setup]# ll
total 732
-rw-r--r--. 1 root root 280 Jun 11 2020 atlassian-bundled-plugins.zip
-rw-r--r--. 1 root root 737335 Jun 11 2020 demo-site.zip
-rw-r--r--. 1 root root 15 Jun 11 2020 hsqldb-server.acl
[root@centos setup]# mkdir webwork
[root@centos setup]# cd webwork/
[root@centos webwork]# cp /opt/CVE-2022-26134_repair/CachedConfigurationProvider.class ./
Перезапустите службу слияния
/opt/atlassian/confluence/bin/stop-confluence.sh
/opt/atlassian/confluence/bin/start-confluence.sh