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_systems
Anche 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.System
che è 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_systems
Anche 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.System
che è 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.