Privilégios de processos no OpenSolaris

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Privilégios de processos no OpenSolaris - Presentation Transcript

    1. Privilégios Privilégios de processos no OpenSolaris
    2. Objetivo
        • Criar um Dscript que monitore quais privilégios são usados pelo sistema e quando os privilégios são recebidos ou devolvidos.
    3. Privilégios
      • O que é?
        • Habilita um processo a completar alguma tarefa que normalmente iria requerer privilégios administrativos ou de superusuário.
      • Possível divisão:
        • All:
          • Grupo de todos os privilégios possíveis que um processo pode receber.
        • Basic:
          • Grupo de privilégios que são atribuídos normalmente a todos os processos.
    4. Dtrace Providers
    5. Metodologia
        • Provider: sdt
        • Probes:
          • priv-ok: requisição de privilégio com sucesso
          • priv-err: requisição de privilégio sem sucesso
    6. Script D: monitoramento de privilégios #!/usr/sbin/dtrace -s /* Não exibe mensagens de alerta do dtrace */ #pragma D option quiet /* * Mensagem de inicialização */ dtrace:::BEGIN { printf(" Monitorando a utilizacao de privilegios... Ctrl-C pára a execução. "); printf("%15s %15s %25s %15s ", "execname", "probe", "probefunc", "privilégio"); } /* * Detecta quando um processo tentou utilizar algum privilegio. * se a tentativa ocorrer com sucesso, o probename será priv-ok; * se a tentativa falhar, o probename será priv-err. Isto significa * que o processo não tem permissão para utilizar o recurso solicitado. */ sdt:::priv-* { printf("%15s %15s %25s %15d ", execname, probename, probefunc, arg0); }
    7. Script Perl: geração de tabela de privilégios use Sun::Solaris::Privilege qw(:ALL); printf("%4s %20s ", "id", "privilégio"); while ($priv = priv_getbynum($i)) { printf("%4d %20s ", $i, $priv); $i++; }
    8. Tabela de Privilégios 0 contract_event 1 contract_identity 2 contract_observer 3 cpc_cpu 4 dtrace_kernel 5 dtrace_proc 6 dtrace_user 7 file_chown 8 file_chown_self 9 file_dac_execute 10 file_dac_read 11 file_dac_search 12 file_dac_write 13 file_downgrade_sl 14 file_link_any 15 file_owner 16 file_setid 17 file_upgrade_sl 18 file_flag_set 19 graphics_access 20 graphics_map 21 ipc_dac_read 22 ipc_dac_write 23 ipc_owner 24 net_bindmlp 25 net_icmpaccess 26 net_mac_aware 27 net_observability 28 net_privaddr 29 net_rawaccess 30 proc_audit 31 proc_chroot 32 proc_clock_highres 33 proc_exec 34 proc_fork 35 proc_info 36 proc_lock_memory 37 proc_owner 38 proc_priocntl 39 proc_session
    9. Tabela de Privilégios 40 proc_setid 41 proc_taskid 42 proc_zone 43 sys_acct 44 sys_admin 45 sys_audit 46 sys_config 47 sys_devices 48 sys_ipc_config 49 sys_linkdir 50 sys_mount 51 sys_dl_config 52 sys_ip_config 53 sys_net_config 54 sys_nfs 55 sys_res_config 56 sys_resource 57 sys_smb 58 sys_suser_compat 59 sys_time 60 sys_trans_label 61 virt_manage 62 win_colormap 63 win_config 64 win_dac_read 65 win_dac_write 66 win_devices 67 win_dga 68 win_downgrade_sl 69 win_fontpath 70 win_mac_read 71 win_mac_write 72 win_selection 73 win_upgrade_sl 74 xvm_control
    10. Script Python: monitoramento de privilégios #!/usr/bin/python # -*- coding: utf-8 -*- import os from time import sleep privilegiosTxt = open("privilegios.txt") privilegios = {} for linha in privilegiosTxt.readlines(): try: id, priv = linha.split() privilegios[int(id)] = priv except: pass os.system("./privilegios.d > saidaD &") arquivo = open("saidaD") print "Monitorando privilégios de processos" print "%15s %15s %10s %25s" % ("execname", "probe", "id", "privilégio") while True: linha = arquivo.readline() if not linha: sleep(1) continue try: execname, probe, probefunc, id = linha.split() print "%15s %15s %10s %25s" % (execname, probe, id, privilegios[int(id)]) except: pass
    11. Execução – Script D
    12. Execução – Script Python
    13. Execução – Erro de Permissão de Escrita
    14. Execução – Erro de Permissão de Escrita
    15. Obrigado!
      • Filipe Morgado Simões de Campos
      • Rafael Barbolo Lopes
      • Rafael Ivan Garcia

    custom

    103 views, 0 favs, 0 embeds more stats

    Documentos: http://tinyurl.com/m47k53

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 103
      • 103 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 3
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories