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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/shoucheng3/spring-cloud__spring-cloud-config_cve-2020-5405_2-1-6-release
Аутентификация и авторизацияИнструменты шифрования/дешифрованияАудит конфигурацииБезопасность облачных средDevSecOpsБезопасность API
GitHubshoucheng3/spring-cloud__spring-cloud-config_cve-2020-5405_2-1-6-release

spring-cloud__spring-cloud-config_CVE-2020-5405_2-1-6-RELEASE

Популярное

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

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

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

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

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

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

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

//// НЕ РЕДАКТИРУЙТЕ ЭТОТ ФАЙЛ. ОН БЫЛ СОЗДАН АВТОМАТИЧЕСКИ. Ручные изменения этого файла будут потеряны при его повторной генерации. Вместо этого редактируйте файлы в каталоге 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 для обновления bean-компонентов с @RefreshScope. ** /restart для перезапуска контекста Spring (отключено по умолчанию). ** /pause и /resume для вызова методов Lifecycle (stop() и start() в ApplicationContext).
  • Контекст начальной загрузки приложения: родительский контекст для основного приложения, который можно настроить на выполнение любых действий (по умолчанию он подключается к 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 org.springframework.cloud:spring-cloud-starter-config. Также существует родительский pom и BOM (spring-cloud-starter-parent) для пользователей Maven и файл управления версиями Spring IO для Gradle и Spring CLI. В следующем примере показана типичная конфигурация 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, но для фазы начальной загрузки контекста приложения), как показано в следующем примере:

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