[Усиление безопасности] Распространенные риски уязвимостей несанкционированного доступа и предложения по устранению
[Усиление безопасности] Распространенные риски уязвимостей несанкционированного доступа и предложения по устранению

В процессе миграции предприятия в облако мы обнаружили, что все больше и больше предприятий часто сталкиваются с проблемами неправильной конфигурации при развертывании служб баз данных или приложений для работы с большими данными, что приводит к появлению уязвимостей несанкционированного доступа и риску утечки бизнес-данных.

Несанкционированное определение уязвимости

Уязвимости несанкционированного доступа — очень распространенная проблема на предприятиях. Эта проблема обычно возникает из-за неправильной настройки безопасности, дефектов на странице аутентификации или невозможности настроить аутентификацию в процессе запуска. Когда внешние службы и порты предприятия открыты для общедоступной сети и нет ограничений на доступ пользователей, возможна утечка бизнес-данных или внутренней конфиденциальной информации, а некоторые данные могут в дальнейшем использоваться злоумышленниками для выполнения системных команд и файлов операционной системы. Это может привести к повреждению системы или грозить серьезной утечкой данных.

В этой статье в основном представлены распространенные риски несанкционированной утечки данных и соответствующие предложения по усилению и устранению проблем, а также представлены лучшие практики обеспечения безопасности.

  • Несанкционированный доступ ElasticSearch
  • Несанкционированный доступ к MongoDB
  • Несанкционированный доступ к Hadoop
  • Несанкционированный доступ к Кибане
  • Несанкционированный доступ к CouchDB
  • Слабый пароль MySQL
  • Слабые пароли SQL Server
  • Слабые пароли PostgreSQL
  • Уязвимость несанкционированного доступа Confluence

Распространенные несанкционированные уязвимости

Несанкционированный доступ ElasticSearch

Обзор рисков:

Elasticsearch — это поисковый сервер на основе Lucene. Он предоставляет распределенную многопользовательскую систему полнотекстового поиска на основе веб-интерфейса RESTful. Elasticsearch, разработанная на Java и выпущенная с открытым исходным кодом на условиях лицензии Apache, является популярной поисковой системой корпоративного уровня.

Elasticsearch по умолчанию будет открыт для внешнего мира через порт 9200 или 9300, чтобы обеспечить функцию удаленного управления данными. Любой, кто подключен к порту сервера, может по своему желанию вызвать соответствующий API для добавления, удаления, изменения и проверки данных на сервере.

Метод обнаружения

curl http://публичный IP:9200/_cat/indices/

Если возвращается конфиденциальная информация, такая как имя кластера, существуют соответствующие риски.

Рекомендации по ремонту

1) Порт 9200 не должен быть открыт для внешнего мира. Если его необходимо открыть, рекомендуется ограничить доступ к порту 9200 из группы облачной консоли безопасности только указанными IP-адресами или настроить запрет на брандмауэре хоста. доступ из внешней сети к порту 9200:

Язык кода:javascript
копировать
// 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. Соответствующие параметры конфигурации см. в разделе:

Язык кода:javascript
копировать
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

Обзор рисков:

При запуске службы MongoDB параметры не добавляются. По умолчанию проверка разрешений не осуществляется. Пользователи, входящие в систему, могут выполнять любые операции с базой данных (добавлять, удалять, изменять, проверять действия с высоким уровнем риска) через порт по умолчанию без пароля. доступ к базе данных удаленно.

Основная причина несанкционированного доступа заключается в том, что параметр --auth не был установлен при запуске Mongodb, а пароль учетной записи (пустой пароль по умолчанию) не был добавлен в базу данных. Использование пустого пароля по умолчанию напрямую приведет к тому, что злоумышленники не смогут этого сделать. необходимо выполнить аутентификацию учетной записи. Войдите на сервер данных.

Метод обнаружения

(1) Проверьте, прослушивается ли он только 127.0.0.1.

Язык кода:javascript
копировать
Метод 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) Проверьте, включена ли проверка подлинности

Язык кода:javascript
копировать
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

Обзор рисков:

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#/

Если вы можете войти в систему и войти в интерфейс без учетной записи или пароля, это означает, что вы находитесь в зоне воздействия.

Рекомендации по ремонту

  • Установите политики брандмауэра и ограничьте формулировку IP доступ Служить;
  • Настройте Kibana для отслеживания локального адреса и установите учетную запись и пароль для входа в ElasticSearch;

Шаг 1. Настройте Kibana на прослушивание локального адреса и установите учетную запись и пароль для входа в ElasticSearch:

Язык кода:javascript
копировать
elasticsearch.url: "http://127.0.0.1:9200"
#Введите ElasticSearch из учетной записи и пароля здесь
elasticsearch.username: "user"
elasticsearch.password: "pass"

Шаг 2. Используйте htpasswd для создания учетной записи и пароля для входа в Kibana. Вы можете повторно использовать учетную запись и пароль, созданные ElasticSearch, или создать новую.

Язык кода:javascript
копировать
htpasswd -c /usr/local/service/nginx/conf/htpasswd username
  • Конфигурация nginx Обратный прокси, после завершения Конфигурации перезапустите nginx и кибана, проверка входа через 15601 доступ Кибана
Язык кода:javascript
копировать
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;
         }
     }
     

Несанкционированный доступ к CouchDB

Обзор рисков:

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

Обзор рисков:

Сервер MySQL не устанавливает пароль учетной записи root или для определенной учетной записи используется простой пароль. Это позволяет хакерам удаленно подключаться без использования пароля или легко угадать пароль учетной записи, а затем напрямую войти на сервер данных для получения конфиденциальных данных.

Метод обнаружения

Используйте клиент MySQL для входа с пустым паролем или угадайте его в виде учетной записи/пароля. Если вы можете войти в систему, это означает, что существует уязвимость MySQL с пустым паролем или слабым паролем.

Рекомендации по ремонту

Рекомендуется добавить безопасный пароль к учетной записи в MySQL. Надежный пароль должен содержать три из следующих четырех элементов:

(1) Заглавные буквы

(2) Строчные буквы

(3) Специальные символы

(4) Числа

Слабые пароли SQL Server

Обзор рисков:

SQL Порт 1433 сервера (системы баз данных, разработанной Microsoft) в основном используется для предоставления услуг управления данными извне. Поскольку многие корпоративные пользователи привыкли часто открывать порт 1433 для управления серверами и обновления ресурсов сервера, недобросовестные хакеры пользуются этой возможностью. sa Слабые пароли могут использоваться для взлома портов и проникновения на корпоративные серверы, нанося предприятию непоправимый ущерб.

Метод обнаружения

Используйте клиент SQL Server для входа в систему с пустым паролем или угадайте его в виде учетной записи/пароля. Если вы можете войти в систему, это означает, что существует уязвимость пустого/слабого пароля SQL Server.

Рекомендации по ремонту

Рекомендуется добавить безопасный пароль к учетной записи в SQL Server. Надежный пароль должен содержать три из следующих четырех элементов:

(1) Заглавные буквы

(2) Строчные буквы

(3) Специальные символы

(4) Числа

Слабые пароли PostgreSQL

Обзор рисков:

PostgreSQLэто Функциямощныйиз Открытый исходный кодверносистема реляционных баз данных,Его порт базы данных по умолчанию: 5432, многие компании открыли его в общедоступной сети и установили простой пароль из-за небрежности во время использования. В результате хакеры могут легко угадать пароль учетной записи удаленно и напрямую войти на сервер данных для получения конфиденциальных данных.

Метод обнаружения

Используйте клиент PostgreSQL для входа в систему с пустым паролем или угадайте его в виде учетной записи/пароля. Если вы можете войти в систему, это означает, что существует уязвимость PostgreSQL с пустым паролем или слабым паролем.

Рекомендации по ремонту

Рекомендуется добавить безопасный пароль к учетной записи в PostgreSQL. Надежный пароль должен содержать три из следующих четырех элементов:

(1) Заглавные буквы

(2) Строчные буквы

(3) Специальные символы

(4) Числа

Уязвимость несанкционированного доступа Confluence

Обзор рисков:

Atlassian Confluence — это профессиональная вики-программа, созданная компанией Atlassian. Его можно использовать в качестве инструмента управления знаниями, с помощью которого можно обеспечить сотрудничество и обмен знаниями между членами команды. Этот компонент исторически выявил множество уязвимостей удаленного выполнения кода с высоким уровнем риска. включать:

  • CVE-2019-3396

20 марта 2019 года компания Confluence официально выпустила рекомендации по безопасности. Уязвимость несанкционированного обхода каталога существует в продуктах Confluence Server и Data Center до версии 6.14.2. Благодаря этой уязвимости злоумышленник может читать произвольные файлы или выполнять произвольные команды с использованием шаблона Velocity. инъекция

  • CVE-2021-26084

25 августа 2021 года компания Atlassian официально раскрыла уязвимость высокого риска внедрения OGNI в Confluence. Эта уязвимость позволяет аутентифицированным или, в некоторых случаях, неавторизованным злоумышленникам выполнять произвольный код на экземплярах Confluence Server или Data Center. Затрагивает почти все версии Confluence.

  • CVE-2022-26134

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.

Язык кода:javascript
копировать
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

Этапы ремонта:

Язык кода:javascript
копировать
[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 ./

Перезапустите службу слияния

Язык кода:javascript
копировать
/opt/atlassian/confluence/bin/stop-confluence.sh 
/opt/atlassian/confluence/bin/start-confluence.sh 

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.