+ Responder ao Tópico



  1. #19

    Padrão

    o que a pessoa digita no index.php esta sendo enviado via post nas variaveis no arquivo firewall.php e mostra na tela , so nao esta mostrando no sistema os camandos escolhidos .

  2. #20

    Padrão

    Voce tem que dar permissão ao utilizador do apache, para que o codigo do iptables possa ser executado no php, sabendo que no Ubuntu o apachetem:
    User(utilizador do apcache) www-data
    Group(grupo do utilizador do apcache) www-data

    Sabendo que no Ubuntu os comandos do iptables estão em

    "/sbin/iptables"
    "/sbin/iptables-save"
    "/sbin/iptables-restore"

    Não deves editar o ficheiro /etc/sudoers directamente com um editor grafico
    Pq simplesmente NÃO ira funcionar

    Por isso na consola/shell(linha de comando) ou como quiser chamar execute

    visudo (este comando ira abri o ficheiro /etc/sudoers para para ser editado)

    adiciona a seguinte linha(ira dar permissão ao utilizador do apache para executar iptables)
    www-data ALL=NOPASSWD:/sbin/iptables

    Caso pretende dar permissão ao utilizador do apcache(www-data) para executar outros comandos
    basta separar os comando por virgula exemplo
    www-data ALL=NOPASSWD:/sbin/iptables, /sbin/iptables-save, /sbin/iptables-restore


    Explicando a alinha que FOI ADICIONADO
    o utilizador www-data pode executar
    (/sbin/iptables, /sbin/iptables-save, /sbin/iptables-restore), apartir de qq maquina (ALL)
    o ALL podia ser substituido por localhost



  3. #21

    Padrão php + iptables

    ja dei essas permissoes e continua nao inderindo os comando no shell do ubuntu as regras nao aparecem

  4. #22

    Padrão

    Agora estive aqui a ver a copia do teu ficheiro /etc/sudoers e esta uma confusão ali, e aminha pergunta é para que precisas de dar permissão ao jefferson, nobody, apache, precisas mesmo daqueles comandos todos ali para serem executados atravez de um pagina web ??????

    Fizeste alguma copia de segurança do /etc/sudoers, pois é importante se não sabes o que fazes manteres sempre um copia do ficheiro qq problema, podes sempre restaurar o ficheiro original

    se não tiveres um copia de segunça e caso pretende apenas dar a permissão de executar o iptables ao utilizador do apache (www-data): mantem apenas o necessario no ficheiro /etc/sudoers, para evitar complicações

    Não tira o # da linha (%sudo ALL=NOPASSWD: ALL) "NÃO COMPENSA DISTRUIR A ARVORE TODA PARA QUEBRA UM GALHO"


    ====FICHEIRO /etc/sudoers apenas como o essencial para executar iptables pelo (apache/php)===


    # /etc/sudoers
    #
    # This file MUST be edited with the 'visudo' command as root.
    #
    # See the man page for details on how to write a sudoers file.
    #

    Defaults env_reset

    # Host alias specification

    # User alias specification

    # Cmnd alias specification

    # User privilege specification
    root ALL=(ALL) ALL
    www-data ALL=NOPASSWD:/usr/sbin/iptables, /usr/sbin/iptables-save, /usr/sbin/iptables-restore

    # Uncomment to allow members of group sudo to not need a password
    # (Note that later entries override this, so you might need to move
    # it further down)
    # %sudo ALL=NOPASSWD: ALL

    # Members of the admin group may gain root privileges
    %admin ALL=(ALL) ALL



  5. #23

    Padrão

    Conseguese executar na shell com sucesso o que aparece na pagina web ?
    Por exemplo

    sudo /usr/sbin/iptables -t filter -A FORWARD -p udp -s 192.168.0.1 --dport 80 -j REJECT

  6. #24

    Padrão php + iptables

    sim consigo sim na shell executa numa boa..