4 INFORMAÇÕES PARA ADMINISTRADORES DE REDES

 

 

    4.1 COMPATIBILIDADE
    4.1.1 Requisitos de Acesso
    4.1.2 Requisitos de Disco
    4.2 INSTALAÇÃO
    4.2.1 Descompactando o Código Fonte
    4.2.2 Caminhos Perl
    4.2.3 Ajustando o Diretório de Documentos
    4.2.4 Configurações da Ferramenta
    4.2.5 Atualização
    4.3 SEGURANÇA
    4.3.1 Autenticação
    4.3.1.1 Baseada em Formulário (Segurança Manual)
    4.3.1.2 Baseada em Servidor (Segurança Interna)
    4.3.1.3 Baseada em COOKIE (Autenticação Opcional)
    4.3.2 Controle de Acesso

4.1 COMPATIBILIDADE

    A ferramenta HyperNews funciona com o suporte CGI padrão, fornecido pela maioria dos servidores http Unix. É conhecido, que a ferramenta funciona com os servidores NCSA httpd (1.5, ou 1.5.2, mas não 1.5.1), CERN httpd (não recomendado), Apache, e Netsite.
    É utilizado o mecanismo de segurança interna dos servidores Apache, NCSA, ou CERN httpd. E este mesmo mecanismo não é sempre utilizado por outros servidores http, neste caso algumas alterações deverão ser feitas para que a segurança interna funcione, ou utilizar-se a “segurança manual” (Seção 4.3.1.1).
    Todo o programa é escrito na linguagem Perl, e requer Perl 5 (LALIBERTE, 1995).

4.1.1 Requisitos de Acesso

    Para instalar a ferramenta, é necessário ter-se acesso como root no sistema operacional (Unix), ser um administrador de rede, ou, pelo menos, ter-se o administrador disponível para fazer algumas configurações no servidor http. Estas configurações precisarão ser feitas muitas vezes, até que tudo esteja funcionando da maneira que deseja-se, e depois disto, a maioria das configurações poderão ser feitas via HyperNews pela Internet, ao invés de utilizar-se o shell e arquivos de sistema (LALIBERTE, 1995).
    Se o servidor que deseja-se instalar a ferramenta permite a criação de diretórios CGI bin, ou a utilização de scripts CGI, então isto será suficiente para instalá-la.

4.1.2 Requisitos de Disco

    Para a instalação do código da ferramenta não é necessário mais que 1Mbyte. Mas dependendo da quantidade de fóruns e de mensagens, pode ser necessário muito espaço para armazená-los. Cada mensagem utiliza o espaço próprio (depende do tamanho), mais um arquivo de configuração (urc, aproximadamente 2Kbytes), um diretório, se existirem respostas, uma lista de respostas, e uma lista de endereços de correio-eletrônico dos subscritos. Portanto, deve-se manter um controle sobre as mensagens e fóruns adicionados, para que estes não ultrapassem os limites do disco.

4.2 INSTALAÇÃO

    Após ter-se certeza de se possuir os requisitos de compatibilidade para executar a ferramenta e possuir o código, será necessário instalá-la e configurá-la de acordo com as necessidades. É importante lembrar que as informações de instalação contidas neste trabalho, referem-se a versão 1.9.9 da ferramenta, alguns detalhes podem ser diferentes para outras versões da mesma.

4.2.1 Descompactando o Código Fonte

    O código pode ser descompactado em qualquer diretório que permita programas CGI, já que o código é também o executável (Perl é um interpretador). Recomenda-se que os scripts sejam colocados num diretório próprio, para facilitar a manutenção (Ex.: cgi-bin/HyperNews), mas outros diretórios também poderão ser usados (LALIBERTE, 1995).
    Um exemplo para descompactar, seria:

    cd .../cgi-bin
    gunzip hypernews.tar.gz
    tar xf hypernews.tar

    Será criado o diretório “cgi-bin/HyperNews###”, onde “###” é o numero da versão. Todo o código será descompactado no diretório “HyperNews###/.scripts”. É recomendado que troque-se o nome do diretório para apenas “HyperNews”, pois muitas URLs internas terão que ser alteradas quando a ferramenta for atualizada.
    Os scripts estarão todos no subdiretório “HyperNews/.scripts”, o qual estará invisível. Pode-se conferir se a descompactação criou uma ligação simbólica de “HyperNews/.scripts/.scripts” para “/HyperNews/.scripts”.
    Pode-se desejar alterar a maneira que o servidor http está configurado, para evitar que seja necessário mencionar o prefixo “cgi-bin” (ou algum outro prefixo) nas URLs.
    Por exemplo, segundo LALIBERTE (1995), para servidores NCSA (e servidores derivados deste, como o Apache), deve-se adicionar um ScriptAlias ao arquivo “srm.conf”:

    ScriptAlias /HyperNews/   <diretório/utilizado>/HyperNews/

    Pode ser necessário alterar algumas restrições sobre quais scripts são permitidos no diretório HyperNews.     Em versões do servidor Apache (1.1.1) o padrão no arquivo “access.conf” para o diretório “cgi-bin” seria:

    Options None
    AllowOverride None

    Seria necessário inserir uma configuração especial para o diretório HyperNews, tal como:

    <Directory <diretório/utilizado>/HyperNews>
    AllowOverride All
    Options FollowSymLinks (Options +FollowSymLinks, para  Apache 1.3)
    </Directory>

    E, então, reinicializar o servidor http para que este utilize as mudanças de configuração.

4.2.2 Caminhos Perl

    Antes de executar-se scripts no HyperNews, se o binário Perl não for “/usr/bin/perl”, será necessário executar o script “fixPerlPath” (incluído no diretório “.scripts”) nos arquivos do diretório “/HyperNews/.scripts”. Primeiro deve-se editar o script “fixPerlPath” para alterar a primeira linha com o caminho correto do binário Perl. Então executa-se “make fix” ou “./fixPerlPath *”. Isto apenas alterará os arquivos que precisam ser modificados (LALIBERTE, 1995).

4.2.3 Ajustando o Diretório de Documentos

    Será necessário configurar um diretório, chamado, diretório de documentos do HyperNews, (nomeado pela variável “$hndocs” no arquivo de configuração). Recomenda-se que este diretório permaneça em algum local sob o diretório de documentos raiz do servidor (normalmente “.../httpd/htdocs”), embora possa ficar em qualquer lugar. Este diretório irá conter os arquivos e subdiretórios para os cabeçalhos e “corpos” (conteúdo), dos fóruns e das mensagens HyperNews. Também possuirá as informações de segurança para acesso ao HyperNews.
    É importante mencionar que não deve-se nomear o diretório de documentos com o mesmo nome do diretório de scripts do HyperNews, por exemplo “/HyperNews”. Pois isto poderá confundir o servidor e até o próprio administrador. Ao mesmo tempo que, provavelmente não se desejará colocar o diretório de documentos dentro do diretório cgi-bin do HyperNews. Isto não permitirá acessar-se o diretório de documentos através do browser, desde que os documentos “parecerão” para o servidor http, programas cgi-bin a serem executados (LALIBERTE, 1995).
    O diretório de documentos deve ficar sempre aberto para escrita, para o usuário ou grupo (user:group) que executa o HyperNews. Se nada estiver modificado o usuário ou grupo que executa o HyperNews será o mesmo que o do próprio servidor.
    Pode-se desejar restringir o acesso para leitura no diretório de documentos do HyperNews, então o servidor permitirá que apenas membros ou administradores HyperNews possam ler os arquivos diretamente. O processo de configuração da ferramenta fará isto automaticamente, ao optar-se na leitura ser apenas para membros.
    O diretório “Icons” (que contém os ícones) precisa ser acessível via servidor http, e provavelmente não será restrito (não deseja-se que os usuários recebam uma caixa de diálogo para autenticação, para cada ícone acessado), então deve ser colocado em algum local fora do diretório de documentos “$hndocs”, se o diretório de documentos estiver com restrição de leitura.

4.2.4 Configurações da Ferramenta

    O processo de configuração da ferramenta HyperNews criará os diretórios e os links necessários para os scripts, restrições de acesso, ícones, artigos e mensagens. Também, será criado um arquivo chamado “hnrc”, no diretório “HyperNews/Admin”, que ajusta todas as variáveis que controlam como a ferramenta funciona.
    O programa de configuração da ferramenta pode ser executado de duas maneiras. A primeira é através da linha de comando: HyperNews/Admin/setup.pl. A segunda forma, com o browser, será discutida a seguir. É necessário executar-se o script “setup.pl” para que este permita, futuramente, que a ferramenta HyperNews (via servidor http) escreva nos diretórios que foram criados para manterem os fóruns e as mensagens. Antes de executar o script deve-se digitar o comando “su” para o usuário que executa o servidor (LALIBERTE, 1995).
    A primeira vez que executa-se o “setup.pl”, se o arquivo “hnrc” não existir, um novo será criado com os valores padrões. Deve-se editar este arquivo, para ajustar os valores da forma deseja-se e executar o script “setup.pl” novamente. Os comentários no arquivo “hnrc”, provavelmente não serão suficientes para saber-se quais valores devem ser ajustados. Neste caso, a melhor solução é utilizar a segunda maneira para configurar a ferramenta, embora algumas opções de configuração só estejam disponíveis no arquivo “hnrc” (LALIBERTE, 1995).
    A segunda maneira de configurar a ferramenta HyperNews é através do browser, acessando-se o seguinte endereço (substituindo o que for necessário para a instalação adotada):

    http://<nome.do.servidor>/HyperNews/.scripts/setup-form.pl/

    Se aparecer o código, ao invés de um documento HTML com o formulário que deveria ser o resultado da execução do código, será necessário modificar a configuração do servidor para que este código seja executado. Uma alternativa é executar o script “setup-form.cgi”, este apenas contém um link para o “setup-form-pl”, mas pode ser usado se o servidor requer que o script termine com “.cgi”.
    O formulário de configuração (setup-form.pl), é dividido em algumas partes distintas. A primeira parte apenas explica alguns detalhes de preenchimento, e diz que cada vez que o formulário é enviado, será procurado um arquivo “hnrc”, se este não existir um novo será criado, se existir o antigo recebera a extensão “-old” e o novo ficará no seu lugar. Se algum erro ocorrer, basta renomear o arquivo antigo.
    A segunda parte chama-se “HyperNews URLs”, mostra somente um campo, que ajusta o valor da variável “$http”, que será usada, entre outras coisas, para gerar a URL dos documentos e dos scripts, esta conterá o prefixo do servidor, pode ser um valor fixo como, por exemplo: http://saturno.ucpel.tche.br; ou utilizar-se “http://$ENV{SERVER_NAME}” para retornar o nome do servidor.
    Logo a seguir, uma outra parte, chamada “HyperNews Documents Directory”, ajusta o Diretório de Documentos do HyperNews (variável “$hndocs”), existem dois campos nesta parte, um que ajusta o valor da variável, que será o caminho completo para o diretório de documentos (por exemplo, “/home/httpd/htdocs/hndocs”), e o outro ajustará a variável “$hnRootDoc”, e deve ser preenchido com uma URL, que o usuário acessará, quando ele digitar um endereço que não exista mais, ou cometer um erro de digitação.
    Uma terceira parte, chamada “Formatting Options”, oferece algumas Opções de Formatação, existem quatro campos nesta parte, os dois primeiros definem o cabeçalho (variável “$headerText”) e o rodapé (variável “$footerText”), estes campos devem ser preenchidos com texto HTML, também pode-se utilizar uma URL nestes campos, ou um caminho para um arquivo, que será relativo ao diretório de documentos. O cabeçalho e o  rodapé aparecerão em todos os fóruns e mensagens, mas podem ser sobrescritos pelo usuário, na criação do fórum, estes valores serão usados se o usuário não fornecê-los. O terceiro campo define um rótulo “<BODY>” (HTML) global, qual será usado nos fóruns, em que o usuário não definir um rótulo na criação. E o último campo desta parte define o padrão de “profundidade” (quantidade de níveis que serão visualizados) para a árvore de mensagens (os valores podem ser: 1, 2, 3 ou -1 para todos os níveis), este padrão, também, somente será usado no caso do usuário não fornecê-lo na criação do fórum.
    A próxima parte do formulário, chamada “Icons”, trata dos Ícones da ferramenta, mostra dois campos e uma opção. O primeiro campo ajusta o caminho do diretório de ícones do HyperNews (variável “$hnicons”), um exemplo seria: $hndocs/Icons, onde “$hndocs”, é a variável (ajustada anteriormente) que indica o caminho do diretório de documentos. O outro campo deve fornecer a URL completa para o mesmo diretório de ícones (por exemplo: $http/hndocs/Icons, onde “$http”, é a variável que contém o nome do servidor). Abaixo existem duas opções, seleciona-se a primeira (Copy Icons to $hnicons) somente a primeira vez que o script de configuração for executado, para copiar os ícones (instalar) para o diretório informado, e marca-se  a segunda opção (No, não), se os ícones já estiverem instalados. É importante lembrar que, se o diretório de documentos ($hndocs) estiver com restrição de leitura, os ícones devem ser colocados em algum local fora deste diretório de documentos.
    Outra parte, chamada “Directory and File Modes”, trata dos Modos de acesso dos Diretórios e Arquivos, dois campos são mostrados, o primeiro ajusta o modo para criação de diretórios (variável “$hndirmode”, por exemplo: 0775), e o segundo campo ajusta o modo para criação de arquivos (variável “$hnfilemode”, por exemplo: 0664).
    Depois, é mostrada uma parte, chamada “People and Passwords” (Pessoas e Senhas), existem vários campos, no primeiro será definida uma lista de administradores da ferramenta HyperNews (variável “@hnAdmin”), pode ser apenas um, e o primeiro da lista é mais importante, pois será mostrado ao usuário, para tirar dúvidas, caso ocorra algum erro. Os administradores tem acesso a ações que não são permitidas aos membros, como mudar senhas, e também, podem apagar qualquer mensagem, entre outras permissões. Além dos administradores desta lista, com acesso a qualquer dado HyperNews, cada fórum têm seu próprio administrador (no caso o autor do fórum), este tem acesso aquilo que envolve o seu fórum. O próximo campo, ajusta o diretório (variável “$hnPeople”) que possui os arquivos com as informações dos membros, um arquivo para cada membro (incluindo o administrador), o diretório também conterá um subdiretório para cada grupo. Abaixo um outro campo, que contém o caminho completo para o arquivo de senhas (variável “$hnPassword”), por exemplo: $hnpeople/.htpasswd. O campo seguinte, é o campo do nome do grupo (variável “$hnGroup”), este consiste no nome do grupo de membros que tem acesso aos documentos da instalação atual. Cada instalação da ferramenta deve ter um grupo diferente de usuários, mas todos podem compartilhar os mesmos arquivos de informação pessoal e senha. Este campo deve ser  deixado em branco na primeira instalação (chamada raiz). Em caso de ter-se que preencher o campo, este deve ser preenchido com um diretório relativo ao diretório com as informações dos membros.
    A parte seguinte do formulário de configuração, chamada “Security Options”, mostra algumas Opções de Segurança, a ferramenta HyperNews utiliza o mecanismo de autenticação dos servidores NCSA httpd, Apache, e outros. Utilizar este mecanismo de autenticação, permite ao servidor requisitar autenticação automaticamente, e o browser mostrar um caixa de diálogo que pede a identificação de membro e a senha. Tudo isto é realizado, apenas colocando-se os scripts restritos em um diretório que contenha um arquivo de restrição de acesso. No início desta parte aparecem duas opções, a primeira (Use form-based authentication ($manualSecurity))deve ser marcada no caso do mecanismo de autenticação ser diferente dos citados, para utilizar “segurança manual”, baseada em formulário, e a segunda é marcada para utilizar-se o mecanismo de autenticação do servidor (recomendada). Outras partes, que fazem parte das Opções de Segurança, são mostradas:


    Cada uma destas partes, oferece quatro opções (Figura 2), a primeira opção serve para desabilitar a ação correspondente, a segunda define que qualquer usuário poderá efetuar a ação, mesmo que este não seja um membro, a terceira define que somente membros poderão realizar a ação, e a última opção define que somente administradores HyperNews poderão realizar a ação correspondente.


Figura 2 - Opções de Restrição

    Após preencher-se todo o formulário deve-se submetê-lo, pressionando o botão “Proceeed to Setup HyperNews”, alguns detalhes serão checados, se tudo estiver correto, muitas coisas serão criadas ou atualizadas. Por isso, antes de enviar o formulário, deve-se “abrir”, temporariamente, os diretório cgi HyperNews, “.scripts”, e  “Admin”, para o servidor poder escrever nestes, assim o servidor poderá criar os links para os scripts, e adicionar as restrições de acesso aos diretórios.
    Após enviar-se o formulário, pela primeira vez (ou após executar o script “setup.pl” pela segunda vez), serão criados os arquivos de restrição de acesso, então será necessário autenticar-se com um dos administradores para acessar o formulário novamente. As senhas serão fornecidas aleatoriamente aos administradores (enviadas por correio-eletrônico se possível, e mostradas quando envia-se o formulário de configuração ou quando executa-se o script “setup.pl” através da linha de comando). Esta senha deve ser lembrada, ou não será possível acessar o formulário de configuração novamente, neste caso a única solução é apagar os arquivos de restrição de acesso e a senha (encriptada) do arquivo de senhas (.htpasswd) manualmente, e acessar o formulário novamente.

4.2.5 Atualização

    Para utilizar uma nova versão da ferramenta, recomenda-se que a versão antiga seja mantida temporariamente, para ter-se certeza de que a nova versão está funcionando normalmente e da maneira desejada. Para isto deve-se instalar a nova versão em um diretório diferente (por exemplo: .../HyperNews1.9.9, diretório criado quando o arquivo com o código é descompactado), então configurar esta versão para ser executada usando o mesmo diretório de documentos e tudo mais. Pode-se desejar copiar o arquivo de configuração (hnrc) da versão antiga, sob o arquivo da nova versão antes de executar o script de configuração, desta forma todas as configurações da versão antiga aparecerão e pode-se alterar apenas as configurações desejadas para a nova versão (LALIBERTE, 1995).
    Quando tudo estiver funcionando, como o desejado, na nova versão, será necessário apenas trocar os nomes dos diretórios (por exemplo: mv HyperNews HyperNews.old; mv HyperNews1.9.9 HyperNews). Por questão de segurança, isto não deve ser feito a qualquer momento, deve-se ter certeza que nenhum usuário esta utilizando a ferramenta antes de trocar os nomes, ou para ser mais cuidadoso, “tirar o servidor do ar” (shut down) temporariamente.

4.3 SEGURANÇA

4.3.1 Autenticação

    A autenticação assegura que o usuário é alguém que a ferramenta HyperNews conhece alguma informação. A ferramenta só conhecerá informações de membros que tenham sido previamente cadastrados ao site. Existem várias maneiras diferentes que a autenticação pode ser feita, algumas dessas maneiras são suportadas pela ferramenta HyperNews. Geralmente, deve-se checar que cada senha envida por um usuário encontre uma que o servidor associe com o usuário. Nota-se, que isto não é suficiente para considerar o usuário autenticado, pois este pode ter autenticado-se previamente em alguma URL anterior. Então, cada requisição de URL é independente das outras, cada script deve ser autenticado novamente (LALIBERTE, 1995).
    A ferramenta HyperNews não armazena senhas descodificadas de membros, para reduzir o risco de exposição. Ao invés disto, apenas armazena senhas codificadas, e checa uma senha enviada, codificando-a da mesma forma, e comparando com as senhas armazenadas.
    A seguir serão mostradas as maneiras que a ferramenta HyperNews pode realizar a autenticação dos membros.

4.3.1.1 Baseada em Formulário (Segurança Manual)

    Com esta maneira de se realizar a autenticação, o usuário digita uma identificação de usuário (UserID) e uma senha em um formulário que é enviado. A identificação e a senha podem ser “escondidas” em um formulário gerado depois de uma autenticação anterior (para evitar a autenticação, novamente, em todos as requisições), então isto não é particularmente seguro, desde que o documento gerado pode ser armazenado temporariamente em algum local e visualizado ou reutilizado (intencionalmente ou não).

4.3.1.2 Baseada em Servidor (Segurança Interna)

    O servidor precisa estar configurado para “saber” sobre as exigências de autenticação. Isto significa que a ferramenta deve ajustar um arquivo “.htaccess” ou equivalente. Quando um usuário faz o pedido de uma URL para uma área restrita, o servidor responde com um código, o qual significa que o browser deve enviar uma identificação de usuário e uma senha. Se o browser não conhecer a identificação e a senha associadas a esta área, ele, normalmente, exibirá uma caixa de diálogo perguntando ao usuário as informações. Depois disso, o browser continuará mandando a mesma identificação e senha para pedidos da mesma área, até que o usuário “saia” (feche) do browser.
    No servidor, os diretórios são normalmente restritos com um arquivo “.htaccess”. A ferramenta HyperNews cria um único arquivo “.htaccess” armazenado no diretório “$hnPeople” (diretório que contém os arquivos com as informações sobre membros). Uma ligação simbólica é feita para este arquivo, dos diretórios “SECURED”, “Admin”, e “.scripts”, e do diretório de documentos ($hndocs), se todo tipo de leitura for restrito. Na autenticação manual (baseada em formulários), as ligações para o arquivo “.htaccess” são removidas.
    O arquivo “.htaccess” faz referência a um arquivo de senhas, chamado “.htpasswd” armazenado, também, no diretório “$hnpeople”, este arquivo de senhas contém uma lista de identificações de usuários e suas respectivas senhas codificadas.

4.3.1.3 Baseada em COOKIE (Autenticação Opcional)

    Uma vez que o usuários for autenticado através de outro mecanismo, o servidor pode enviar um cookie de volta ao browser, o qual o browser enviará novamente para o servidor, cada vez que fizer um pedido para a mesma área. A ferramenta HyperNews utiliza-se de cookies, se configurada para isto, e se o usuário permitir, para manter uma forma codificada da senha. Estes cookies são configurados para serem eliminados no final da execução do browser.
    A identificação de usuário e a senha fornecidas por um cookie são utilizadas com a prioridade mais baixa, desde que um browser continuará enviando cookies mesmo se outro usuário estiver utilizando-o.

4.3.2 Controle de Acesso

    O controle de acesso é diferente da autenticação, a qual apenas checa que o usuário é alguém que conhece-se alguma informação. Após saber-se quem é o usuário, pode-se impor um controle de acesso que restringe quem pode realizar determinadas ações. Algumas ações podem ser permitidas para todos, e outras apenas para administradores.
    O arquivo “.htaccess” suportado por vários servidores, pode referenciar uma lista de grupos de usuários que têm acesso a operações particulares, mas esta lista de grupos ou a lista de membros nos arquivos de grupo pode ficar grande o suficiente para ultrapassar o limite dos buffers em alguns servidores. Por este motivo, apenas diferencia-se três tipos de usuários, não membros, administradores, e membros que não são administradores.
    A ferramenta identifica vários tipos de ações e para cada ação, um nível diferente de controle de acesso pode ser aplicado. Estas ações são coisas como ler fóruns e mensagens, escrever mensagens, criar ou editar fóruns, etc. Para cada ação, a configuração da ferramenta especifica se esta pode ser realizada por ninguém, apenas por membros, ou apenas por administradores. Os administradores  podem geralmente realizar qualquer ação, mesmo quando a ação for restrita a “ninguém”. A diferença da opção “ninguém”, para a opção “somente administradores”, é que na primeira não existira nenhuma interface visual (botão, link, etc.) para acessar a ação restrita.
    Indiferentemente da configuração, a ferramenta aplica um outro tipo de controle de acesso, baseado na URL usada para acessar um script. Se a URL contém “/SECURED/”, então o usuário deve ser um membro, e se contém “/Admin/” ou “/.scripts/”, o usuário deve ser um administrador. Com esta restrição a ferramenta, as vezes, modifica a interface mostrada ao usuário, para habilitar alguma ação adicional, ou mostrar mais informações.
 

STARMEDIA        CERRAR