Passa al contenuto principale

Paul Green ed io stavamo discutendo di un nuovo comando a cui sta lavorando, chiamato check_module_security. È venuto fuori l'argomento dei comandi non necessari disponibili al prompt di login. Jon Schmidt di Transaction Design raccomanda in un articolo su Locking the Barn Door.

Comandi interni:

display_current_module (prelogin)
list_modules (prelogin) display_date_time (prelogin)
list_systems (prelogin)
display_line (prelogin)
login (prelogin)
If there are other commands shown, remove them.

Ho iniziato a pensare a comandi come list_modules e list_systemsAnche se vi siete presi la briga di mettere in sicurezza il vostro modulo o sistema, questi comandi potrebbero dare a un hacker un indizio su altri moduli/sistemi che potrebbero non essere così sicuri e potrebbero essere sfruttati con login -module. Quindi ci siamo chiesti come evitare il loro utilizzo in fase di prelogin. Ecco un modo che ho trovato:

Creare un file con un nome univoco da utilizzare come nome della lista di accesso. In questo caso, ho scelto prelogin_no_access da allegare a qualsiasi comando a cui voglio proibire l'accesso ad alcuni utenti. Il contenuto del file non ha alcuna utilità - sono le liste di controllo degli accessi ad esso allegate che contano. Il file va in un posto speciale: (master_disk)>system>acl directory. L'utente che vogliamo limitare è PreLogin.Systemche è l'utente che esegue il prompt di login. Non dimenticare di consentire l'accesso ad altri utenti (dopo il login). Devi essere un utente privilegiato e membro del SysAdmin raggrupparsi nella maggior parte dei siti per eseguire queste operazioni.

change_current_dir (master_disk)>system>acl
create_file prelogin_no_access
give_access null prelogin_no_access -user PreLogin.System
give_access write prelogin_no_access -user *.*

Assicuratevi che i comandi che volete limitare siano configurati in internal_commands.tin per usare quella lista di accesso...

%phx_vos#m14_mas>sistema.14.7>configurazione>comandi_interni.tin 07-10-02 12:14
/ =nome display_modulo_corrente_nome
=accesso_lista_nome_prelogin_non_accesso
=audit 0
/ =elenco nomi_moduli
=accesso_lista_nome_prelogin_non_accesso
=audit 0

Se avete dovuto apportare una modifica, allora dovete applicare le modifiche.

create_table internal_commands.ti
broadcast_file internal_commands.table (master_disk)>system
configure_commands

Ora, si può provare ad usare un comando proibito al login

VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:19
help
Internal Commands:
change_password (prelogin)              help (prelogin)
display_current_module (prelogin)       list_modules (prelogin)
display_date_time (prelogin)            list_systems (prelogin)
display_line (prelogin)                 login (prelogin)
VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:23
list_modules
command_processor: Not enough access to perform operation. list_modules.

Non ho limitato TUTTI i comandi interni; quindi quelli che non sono interessati possono comunque essere utilizzati.

VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:29
list_systems
phx_osn  . . . . . . online (local)
phx_test . . . . . . online (local)
phx_vos  . . . . . . online (current system)

Quindi ricordatevi di limitare quelli che ritenete importanti.

VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:39
display_current_module
command_processor: Not enough access to perform operation.
display_current_module.
VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:53

C'è un bonus: se si dispone di un log di sicurezza abilitato, viene fatta una voce di log di sicurezza per segnalare che qualcuno ha cercato di usare uno dei comandi.

1:  07-10-02 12:16:20 mst PreLogin.System %phx_vos#tli_log.m15_65
Target: list_modules
Text: Not enough access to perform operation. Validating object access.

Abbiamo preso tutto? Neanche lontanamente. Ecco un piccolo elenco dei difetti di questo rapido tutorial:
- Il banner di login dà ancora il nome del modulo, anche se i comandi list_modules e display_current_module sono disabilitati.
- Il banner di login dà ancora l'indizio che questo è un sistema VOS quando visualizza il nome della release.
- Il comando list_systems è ancora operativo (deliberato per questo esempio, ma dovrebbe essere proibito).

I bonus puntano a chi sa cos'altro si può fare. Suggerimento: le funzioni di comando funzionano ancora.

-Dan Danz, consulente tecnico dei servizi VOS

Paul Green ed io stavamo discutendo di un nuovo comando a cui sta lavorando, chiamato check_module_security. È venuto fuori l'argomento dei comandi non necessari disponibili al prompt di login. Jon Schmidt di Transaction Design raccomanda in un articolo su Locking the Barn Door.

Comandi interni:

display_current_module (prelogin)
list_modules (prelogin) display_date_time (prelogin)
list_systems (prelogin)
display_line (prelogin)
login (prelogin)
If there are other commands shown, remove them.

Ho iniziato a pensare a comandi come list_modules e list_systemsAnche se vi siete presi la briga di mettere in sicurezza il vostro modulo o sistema, questi comandi potrebbero dare a un hacker un indizio su altri moduli/sistemi che potrebbero non essere così sicuri e potrebbero essere sfruttati con login -module. Quindi ci siamo chiesti come evitare il loro utilizzo in fase di prelogin. Ecco un modo che ho trovato:

Creare un file con un nome univoco da utilizzare come nome della lista di accesso. In questo caso, ho scelto prelogin_no_access da allegare a qualsiasi comando a cui voglio proibire l'accesso ad alcuni utenti. Il contenuto del file non ha alcuna utilità - sono le liste di controllo degli accessi ad esso allegate che contano. Il file va in un posto speciale: (master_disk)>system>acl directory. L'utente che vogliamo limitare è PreLogin.Systemche è l'utente che esegue il prompt di login. Non dimenticare di consentire l'accesso ad altri utenti (dopo il login). Devi essere un utente privilegiato e membro del SysAdmin raggrupparsi nella maggior parte dei siti per eseguire queste operazioni.

change_current_dir (master_disk)>system>acl
create_file prelogin_no_access
give_access null prelogin_no_access -user PreLogin.System
give_access write prelogin_no_access -user *.*

Assicuratevi che i comandi che volete limitare siano configurati in internal_commands.tin per usare quella lista di accesso...

%phx_vos#m14_mas>sistema.14.7>configurazione>comandi_interni.tin 07-10-02 12:14
/ =nome display_modulo_corrente_nome
=accesso_lista_nome_prelogin_non_accesso
=audit 0
/ =elenco nomi_moduli
=accesso_lista_nome_prelogin_non_accesso
=audit 0

Se avete dovuto apportare una modifica, allora dovete applicare le modifiche.

create_table internal_commands.ti
broadcast_file internal_commands.table (master_disk)>system
configure_commands

Ora, si può provare ad usare un comando proibito al login

VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:19
help
Internal Commands:
change_password (prelogin)              help (prelogin)
display_current_module (prelogin)       list_modules (prelogin)
display_date_time (prelogin)            list_systems (prelogin)
display_line (prelogin)                 login (prelogin)
VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:23
list_modules
command_processor: Not enough access to perform operation. list_modules.

Non ho limitato TUTTI i comandi interni; quindi quelli che non sono interessati possono comunque essere utilizzati.

VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:29
list_systems
phx_osn  . . . . . . online (local)
phx_test . . . . . . online (local)
phx_vos  . . . . . . online (current system)

Quindi ricordatevi di limitare quelli che ritenete importanti.

VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:39
display_current_module
command_processor: Not enough access to perform operation.
display_current_module.
VOS Release 15.3.0ai, Module %phx_vos#m15
Please login  12:13:53

C'è un bonus: se si dispone di un log di sicurezza abilitato, viene fatta una voce di log di sicurezza per segnalare che qualcuno ha cercato di usare uno dei comandi.

1:  07-10-02 12:16:20 mst PreLogin.System %phx_vos#tli_log.m15_65
Target: list_modules
Text: Not enough access to perform operation. Validating object access.

Abbiamo preso tutto? Neanche lontanamente. Ecco un piccolo elenco dei difetti di questo rapido tutorial:
- Il banner di login dà ancora il nome del modulo, anche se i comandi list_modules e display_current_module sono disabilitati.
- Il banner di login dà ancora l'indizio che questo è un sistema VOS quando visualizza il nome della release.
- Il comando list_systems è ancora operativo (deliberato per questo esempio, ma dovrebbe essere proibito).

I bonus puntano a chi sa cos'altro si può fare. Suggerimento: le funzioni di comando funzionano ancora.

© 2024 Stratus Technologies.