Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
spring-cloud__spring-cloud-config_CVE-2020-5405_2-1-6-RELEASE — Server di configurazione centralizzato per sistemi distribuiti con API HTTP, crittografia/decrittografia delle proprietà e supporto per backend Git, Vault, JDBC e filesystem locale. | Kitploit
Strumenti/GitHubGitHub/shoucheng3/spring-cloud__spring-cloud-config_cve-2020-5405_2-1-6-release
Autenticazione e AutorizzazioneStrumenti di Crittografia/DecrittografiaAudit di ConfigurazioneSicurezza CloudDevSecOpsSicurezza delle 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

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Server di configurazione centralizzato per sistemi distribuiti con API HTTP, crittografia/decrittografia delle proprietà e supporto per backend Git, Vault, JDBC e filesystem locale.

Vedi Repository
261 anno faNon ancora revisionato

//// NON MODIFICARE QUESTO FILE. È STATO GENERATO. Le modifiche manuali a questo file andranno perse quando verrà generato nuovamente. Modifica invece i file nella directory 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 fornisce supporto lato server e lato client per la configurazione esternalizzata in un sistema distribuito. Con il Config Server si dispone di un punto centrale per gestire le proprietà esterne delle applicazioni in tutti gli ambienti. I concetti sia sul client sia sul server corrispondono in modo identico alle astrazioni Spring Environment e PropertySource, quindi si integrano molto bene con le applicazioni Spring, ma possono essere utilizzati con qualsiasi applicazione eseguita in qualsiasi linguaggio. Quando un'applicazione attraversa la pipeline di distribuzione dallo sviluppo al test e alla produzione, puoi gestire la configurazione tra questi ambienti e avere la certezza che le applicazioni dispongano di tutto ciò di cui hanno bisogno per essere eseguite quando migrano. L'implementazione predefinita del backend di archiviazione del server usa git, quindi supporta facilmente versioni etichettate degli ambienti di configurazione ed è accessibile a un'ampia gamma di strumenti per la gestione del contenuto. È facile aggiungere implementazioni alternative e integrarle tramite la configurazione Spring.

== Funzionalità

=== Spring Cloud Config Server

Spring Cloud Config Server offre i seguenti vantaggi:

  • API basata su risorse HTTP per la configurazione esterna (coppie nome-valore o contenuto YAML equivalente)
  • Cifratura e decifratura dei valori delle proprietà (simmetrica o asimmetrica)
  • Facilmente incorporabile in un'applicazione Spring Boot usando @EnableConfigServer

=== Spring Cloud Config Client

Nello specifico per le applicazioni Spring, Spring Cloud Config Client consente di:

  • Associarsi al Config Server e inizializzare l'Environment Spring con property source remote.
  • Cifrare e decifrare i valori delle proprietà (simmetrica o asimmetrica).
  • Usare @RefreshScope per i @Beans Spring che devono essere re-inizializzati quando la configurazione cambia.
  • Usare endpoint di gestione: ** /env per aggiornare l'Environment e riassociare @ConfigurationProperties e livelli di log. ** /refresh per aggiornare i bean @RefreshScope. ** /restart per riavviare il contesto Spring (disabilitato per impostazione predefinita). ** /pause e /resume per chiamare i metodi Lifecycle (stop() e start() sull'ApplicationContext).
  • Contesto applicativo di bootstrap: un contesto padre per l'applicazione principale che può essere istruito per fare qualsiasi cosa (per impostazione predefinita, si associa al Config Server e decifra i valori delle proprietà).

== Avvio rapido

Questa guida rapida illustra l'utilizzo sia del server sia del client di Spring Cloud Config Server.

Per prima cosa, avvia il server, come segue:


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

Il server è un'applicazione Spring Boot, quindi puoi eseguirlo dal tuo IDE se preferisci (la classe principale è ConfigServerApplication).

Successivamente prova un client, come segue:


$ 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"}} ]}

La strategia predefinita per individuare le property source è clonare un repository git (in spring.cloud.config.server.git.uri) e usarlo per inizializzare una mini SpringApplication. L'Environment della mini-applicazione viene utilizzato per enumerare le property source e pubblicarle su un endpoint JSON.

Il servizio HTTP espone risorse nella forma seguente:


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

dove application viene iniettato come spring.config.name nella SpringApplication (quello che normalmente è application in una normale applicazione Spring Boot), profile è un profilo attivo (o un elenco di proprietà separate da virgole) e label è un'etichetta git opzionale (il valore predefinito è master.)

Spring Cloud Config Server recupera la configurazione per i client remoti da varie fonti. L'esempio seguente recupera la configurazione da un repository git (che deve essere fornito), come mostrato nell'esempio seguente:

[source,yaml]

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

Altre fonti sono qualsiasi database compatibile con JDBC, Subversion, Hashicorp Vault, Credhub e file system locali.

=== Utilizzo lato client

Per utilizzare queste funzionalità in un'applicazione, puoi realizzarla come applicazione Spring Boot che dipende da spring-cloud-config-client (per un esempio, consulta i casi di test per config-client o l'applicazione di esempio). Il modo più comodo per aggiungere la dipendenza è tramite uno starter Spring Boot org.springframework.cloud:spring-cloud-starter-config. Esiste anche un parent pom e una BOM (spring-cloud-starter-parent) per gli utenti Maven e un file di proprietà per la gestione delle versioni Spring IO per gli utenti Gradle e Spring CLI. L'esempio seguente mostra una tipica configurazione 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 -->

Ora puoi creare una standard applicazione Spring Boot, come il seguente server HTTP:


@SpringBootApplication @RestController public class Application {

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

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

}

Scarica lo strumento