Profili di sicurezza - eliguori88/restbrain-server Wiki

Original URL: https://github.com/eliguori88/restbrain-server/wiki/Profili-di-sicurezza

Introduzione

I profili di sicurezza servono a definire i parametri di sicurezza di ogni API. Possono essere definiti più profili e ogni profilo può essere associato a più API anche di server diversi. I profili devono essere definiti prima e all'esterno delle definizioni dei server e deve essere definito almeno un profilo perché alle API deve essere per forza associato un profilo di sicurezza. Ogni profilo è definito dal tag security_profile e tutti i profili vanno messi all'interno del tag security_profiles che va posizionato prima del tag servers.

Ogni profilo possiede un nome che lo identifica, con cui viene poi associato alle API e serve a definire una serie di parametri di sicurezza e comportamenti per l'esecuzione delle API a cui viene associato. Questo ne è un esempio:

<restbrain>
    <security_profiles>
        <security_profile>
            <name>all</name>
            <white_list enabled='0'></white_list>
            <black_list enabled='0'></black_list>
        </security_profile>
    
        <security_profile>
            <name>localnet</name>
            <white_list enabled='0'></white_list>
            <black_list enabled='1'>
                <address>127.0.0.1</address>
                <address>192.168.10.0/24</address>
            </black_list>
        </security_profile>
        
        <security_profile>
            <name>nolocalnet</name>
            <white_list enabled='1'>192.168.10./24</white_list>
            <black_list enabled='0'></black_list>
        </security_profile>
    </security_profiles>

    <servers>
        <server>
[...]

Parametri

I parametri sono:

Blacklist

La black list serve a specificare una serie di IP o reti che non hanno il permesso di richiare le API, quando viene ricevuta una richiesta e l'IP o la rete del client è specificata nella della black list l'elaborazione della richiesta viene interrotta e viene restituito al client il codice HTTP 403 Forbidden. La black list è specificata dal tag black_list all'interno del tag security_profile. L'elaborazione della black list può essere disabilitata o abilitata tramite l'attributo enabled del parametro che può avere i seguenti valori:

Valore Significato
0 Disablitato
1 Abilitato

Whitelist

La white list serve a specifica un serie di ip o reti, che (solo e soltanto loro) possono accedere alle API, qualsiasi altro client non può accedere. Quando viene ricevuta una richiesta da qualsiasi altro client questa viene interrotta e viene restituito al client il codice HTTP 403 Forbidden. La white list è specificata dal tag white_list all'interno del tag security_profile. L'elaborazione della white list può essere disabilitata o abilitata tramite l'attributo enabled del parametro che può avere i seguenti valori:

Valore Significato
0 Disablitato
1 Abilitato