Skip to content
KitploitKITPLOIT
ИнструментыБлог
Log in
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
spring-cloud__spring-cloud-config_CVE-2020-5410_2-1-8-RELEASE — Централизованный сервер конфигурации для распределённых систем с HTTP API, хранилищем на основе Git, шифрованием/дешифрованием свойств и интеграцией с Vault, JDBC и локальными файловыми системами. | Kitploit
Инструменты/GitHubGitHub/shoucheng3/spring-cloud__spring-cloud-config_cve-2020-5410_2-1-8-release
Аутентификация и авторизацияИнструменты шифрования/дешифрованияАудит конфигурацииБезопасность облачных средDevSecOpsБезопасность API
GitHubshoucheng3/spring-cloud__spring-cloud-config_cve-2020-5410_2-1-8-release

spring-cloud__spring-cloud-config_CVE-2020-5410_2-1-8-RELEASE

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Централизованный сервер конфигурации для распределённых систем с HTTP API, хранилищем на основе Git, шифрованием/дешифрованием свойств и интеграцией с Vault, JDBC и локальными файловыми системами.

Репозиторий
181 год назадЕщё не проверено

//// НЕ РЕДАКТИРУЙТЕ ЭТОТ ФАЙЛ. ОН БЫЛ СГЕНЕРИРОВАН. Ручные изменения этого файла будут потеряны при следующей генерации. Изменяйте файлы в каталоге src/main/asciidoc/. ////

image::https://circleci.com/gh/spring-cloud/spring-cloud-config/tree/master.svg?style=svg["CircleCI", link="https://circleci.com/gh/spring-cloud/spring-cloud-config/tree/master"] image::https://codecov.io/gh/spring-cloud/spring-cloud-config/branch/master/graph/badge.svg["Codecov", link="https://codecov.io/gh/spring-cloud/spring-cloud-config/branch/master"] image::https://api.codacy.com/project/badge/Grade/f064024a072c477e97dca6ed5a70fccd?branch=master["Codacy code quality", link="https://www.codacy.com/app/Spring-Cloud/spring-cloud-config?branch=master&utm_source=github.com&utm_medium=referral&utm_content=spring-cloud/spring-cloud-config&utm_campaign=Badge_Grade"]

Spring Cloud Config обеспечивает поддержку внешней конфигурации в распределённой системе как на стороне сервера, так и на стороне клиента. Благодаря Config Server у вас есть централизованное место для управления внешними свойствами приложений во всех средах. Концепции на стороне клиента и сервера одинаково соотносятся с абстракциями Spring Environment и PropertySource, поэтому они отлично подходят для приложений Spring, но могут использоваться в любых приложениях, работающих на любом языке. Когда приложение проходит конвейер развёртывания от разработки к тестированию и затем к продакшену, вы можете управлять конфигурацией между этими средами и быть уверенными, что приложения будут иметь всё необходимое для запуска при миграции. Реализация серверного хранилища по умолчанию использует git, поэтому она легко поддерживает помеченные версии конфигураций сред, а также доступна для широкого спектра инструментов управления содержимым. Легко добавить альтернативные реализации и подключить их через конфигурацию Spring.

== Возможности

=== Spring Cloud Config Server

Spring Cloud Config Server предоставляет следующие преимущества:

  • HTTP-ориентированный API на основе ресурсов для внешней конфигурации (пары «имя-значение» или эквивалентное YAML-содержимое)
  • Шифрование и дешифрование значений свойств (симметричное или асимметричное)
  • Лёгкая встраиваемость в приложение Spring Boot с помощью @EnableConfigServer

=== Spring Cloud Config Client

Для приложений Spring в частности Spring Cloud Config Client позволяет:

  • Подключаться к Config Server и инициализировать Spring Environment удалёнными источниками свойств.
  • Шифровать и дешифровать значения свойств (симметрично или асимметрично).
  • Использовать @RefreshScope для Spring @Beans, которые должны быть повторно инициализированы при изменении конфигурации.
  • Использовать конечные точки управления: ** /env для обновления Environment и повторной привязки @ConfigurationProperties и уровней журналирования. ** /refresh для обновления beans с @RefreshScope. ** /restart для перезапуска контекста Spring (по умолчанию отключён). ** /pause и /resume для вызова методов Lifecycle (stop() и start() на ApplicationContext).
  • Bootstrap-контекст приложения: родительский контекст для основного приложения, который можно настроить для любых действий (по умолчанию он подключается к Config Server и расшифровывает значения свойств).

== Быстрый старт

В этом разделе быстрого старта рассматривается использование как сервера, так и клиента Spring Cloud Config Server.

Сначала запустите сервер следующим образом:


$ cd spring-cloud-config-server $ ../mvnw spring-boot:run

Сервер — это приложение Spring Boot, поэтому при желании вы можете запустить его из своей IDE (главный класс — ConfigServerApplication).

Затем опробуйте клиент следующим образом:


$ curl localhost:8888/foo/development {"name":"foo","label":"master","propertySources":[ {"name":"https://github.com/scratches/config-repo/foo-development.properties","source":{"bar":"spam"}}, {"name":"https://github.com/scratches/config-repo/foo.properties","source":{"foo":"bar"}} ]}

Стратегия поиска источников свойств по умолчанию заключается в клонировании git-репозитория (по адресу spring.cloud.config.server.git.uri) и использовании его для инициализации мини-SpringApplication. Environment мини-приложения используется для перечисления источников свойств и публикации их в JSON-конечной точке.

HTTP-сервис предоставляет ресурсы следующего вида:


/{application}/{profile}[/{label}] /{application}-{profile}.yml /{label}/{application}-{profile}.yml /{application}-{profile}.properties /{label}/{application}-{profile}.properties

где application внедряется как spring.config.name в SpringApplication (обычно это application в стандартном приложении Spring Boot), profile — активный профиль (или список свойств, разделённых запятыми), а label — необязательная git-метка (по умолчанию master).

Spring Cloud Config Server получает конфигурацию для удалённых клиентов из различных источников. В следующем примере конфигурация берётся из git-репозитория (который должен быть предоставлен), как показано ниже:

[source,yaml]

spring: cloud: config: server: git: uri: https://github.com/spring-cloud-samples/config-repo

Другие источники — это любая совместимая с JDBC база данных, Subversion, Hashicorp Vault, Credhub и локальные файловые системы.

=== Использование на стороне клиента

Чтобы использовать эти возможности в приложении, вы можете создать его как приложение Spring Boot, зависящее от spring-cloud-config-client (пример см. в тестовых случаях для config-client или в примере приложения). Самый удобный способ добавить зависимость — использовать Spring Boot starter org.springframework.cloud:spring-cloud-starter-config. Также есть родительский pom и BOM (spring-cloud-starter-parent) для пользователей Maven, а для пользователей Gradle и Spring CLI — файл свойств управления версиями Spring IO. В следующем примере показана типовая конфигурация Maven:

[source,xml,indent=0] .pom.xml

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>{spring-boot-docs-version}</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-dependencies</artifactId>
			<version>{spring-cloud-version}</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>

<dependencies>
	<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-config</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-test</artifactId>
		<scope>test</scope>
	</dependency>
</dependencies>

<build>
	<plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
	</plugins>
</build>

<!-- repositories also needed for snapshots and milestones -->

Теперь вы можете создать стандартное приложение Spring Boot, например следующий HTTP-сервер:


@SpringBootApplication @RestController public class Application {

@RequestMapping("/")
public String home() {
    return "Hello World!";
}

public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
}

}

Когда этот HTTP-сервер запускается, он получает внешнюю конфигурацию с локального сервера конфигураций по умолчанию (если он запущен) на порту 8888. Чтобы изменить поведение при запуске, вы можете изменить расположение сервера конфигураций с помощью bootstrap.properties (аналогично application.properties, но для фазы bootstrap контекста приложения), как показано в следующем примере:

Скачать инструмент