Relatório de sistema via browser (shell script + CGI)

Um bom administrador de redes tem que estar atento aos detalhes provenientes do seu servidor Linux. Uma forma simples e fácil é pelo uso eficaz de relatórios de sistema. Aqui vou mostrar uma forma de fazer um relatório com shell script + CGI, podendo ser visualizado remotamente via internet através de seu servidor web.

[ Hits: 54.536 ]

Por: William França em 06/10/2006


Segurança do CGI e considerações finais



Bom, muito simples não é mesmo? Preste atenção que eu não usei a tag:

echo "Content-type: text/html"

Usei esta aqui:

echo "Content-type: text/plain"

Fiz isso porque não queria enfeitar o relatório com inúmeras tags HTML, mas nada impede que você faça isso, é só programar de forma ordenada e dinâmica.

Agora atenção redobrada na segurança do seu relatório, não se esqueça que ele poderá ser visualizado por qualquer navegador remotamente, então impeça que outras pessoas por ventura descubram este relatório e talvez descubram informações privilegiadas do seu servidor e as usem para fazer delitos e crimes digitais.

Para efetivarmos a segurança nos nossos scripts CGI, vá até o seu httpd.conf e descomente a linha:

AccessFileName .htaccess

Também descomente essas:

<Files ~ "^.ht">
   Order allow,deny
   Deny from all
</Files>

Deixe esta linha igual a esta:

<Directory /diretorio/que/tera/htaccess/>
   AllowOverride AuthConfig
</Directory>

Preste atenção que o default destas linhas acima é "None", então deixe como indicado acima.

Crie no diretório que você quer proteger um arquivo com o nome .htaccess:

# touch .htaccess

Dentro dele adicione as seguintes linhas:

AuthName "Acesso Restrito"
  AuthType Basic
  AuthUserFile /usr/lib/cgi-bin/ .htpasswd
  require valid-user

Crie agora os usuários que terão permissão:

# htpasswd -m -c ./.htpasswd usuário1

Depois que se cria o primeiro usuário, não há mais necessidade de usar o "-c", continue adicionando seus usuários assim:

# htpasswd -m ./.htpasswd usuário2

Bom, já ensinei o suficiente, o que não ensinei aqui você acha no Google, foi lá onde aprendi a fazer isso, pois não tenho professor, bem que eu queria ter, mais é isso ai, adaptem para as suas reais necessidades, faça bom uso destes recursos e Viva o Linux, porque sem ele estaríamos sendo fritados em uma frigideira torrando igual torresmos a mercê do monopolismo.

Ah, e uma pequena propaganda a partir do final de Setembro/2006 meu novo site estará funfando, provavelmente terá o DNS: www.williamcrazy.com

Ficarei imensamente grato pela visita de vocês.

Cordialmente,
William França

Página anterior    

Páginas do artigo
   1. Configuração
   2. Entendendo o CGI e preparando o terreno
   3. Lógica do relatório e dependências
   4. relatorio.cgi
   5. Segurança do CGI e considerações finais
Outros artigos deste autor

Simples sistema de backup com acesso remoto

Leitura recomendada

Desligar servidores quando o nobreak entra na bateria e envio de aviso por e-mail

flock - Gerenciador de lockfiles

Piano Gripe 3 - Caracteres de controle

Gerar músicas aleatórias com YAD (Modo Gráfico)

Yad 0.16 - Eu quero sempre mais de ti

  
Comentários
[1] Comentário enviado por pacman em 06/10/2006 - 18:22h

Fazer CGI-BIN em Bash é muito divertido :)

Sugestão: para evitar 4750834750345 echo "...." pode ser feito algo assim

cat <<EOF
Content-type: text/html

<html> <head> <title> Exemplo de CGI </title> </head>
...
EOF

Abraço

[2] Comentário enviado por coffani em 06/10/2006 - 18:48h

Excelente artigo Wilian, vou usar nos meus servers, tenhos uns mais saum separados pra cada serviço esse ai apesar de simples é bem funcional.. Parabéns.

[3] Comentário enviado por balani em 08/10/2006 - 01:19h

Cara muito bom seu artigo, parabens, sera muito util para mim, vlw

[4] Comentário enviado por williamcrazy em 17/10/2006 - 21:58h

Obrigado, fico feliz em saber que ajudei de alguma forma alguem, pois é muito importante temos o efetivo controle de nossos servidores para manter a casa em ordem, pois o linux é uam excelente plataforma e bem segura, mais o linux só será isso tudo se por de trás tiver um hacker preparado e disposto a aprender cada vez mais, do contrário o linux pode ser uma brecha para dor de cabeça sua e da empresa que você trabalha, e nada melhor do que usar estes tipos de soluções para estar a par do que circula na sua rede.

[5] Comentário enviado por cleitão em 05/12/2006 - 15:23h

Cara bem legal mesmo da pra fazer o cgi funcionar de forma simples e rápida....

Valeu!!!!!!!!!

[6] Comentário enviado por dtux em 28/02/2007 - 23:53h

BOA CARA!!!!!!!!!!!!!!!!

[7] Comentário enviado por coffani em 09/06/2008 - 23:18h

kra... muito bacana seu artigo... muito bem feito, parabens.. vai pro meu favoritos..

[8] Comentário enviado por removido em 12/06/2008 - 03:09h

Parabéns...

[9] Comentário enviado por wagner_guitar em 26/11/2008 - 18:20h

eu instalei o apache , mas nao tem esse arquivo httpd.conf,
sabe o que acontece?????
e ai,o que faco???

desde ja agradeco!!!!!!!

[10] Comentário enviado por williamcrazy em 27/11/2008 - 12:56h

Prezado Wagner Guitar,
o arquivo httpd.conf está presente na pasta que quarda as configurações do seu webserver Apache, dependendo da distro ou da pré-configuração de instalação, podemos encontralo em diferentes lugares.
Na maioria das instalações encontramos ele na pasta /etc/apache ou /etc/apache2 (OBS: Se você está usando o Apache 2, o arquivo que você deve editar é o apache2.conf [ /etc/apache2/apache2.conf], embora exista um httpd.conf, o mesmo serve para outros própositos.) Na dúvida leia o arquivo README, logo no inicio ele indica o arquivo de configuração default (padrão)
Se nada resolver, execulte o seguinte comando: find / -name httpd.conf
E sairá na tela uma gama de resultados com os possiveis diretórios pelos quais seu httpd.conf poderá estar presente, se não resolver tente find / -name apache2.conf

O comando dará um retorno parecido com o seguinte:
/etc/apache/httpd.conf
/etc/apache2/httpd.conf
/var/www/downloads/httpd.conf
/var/www/secreto/confs/httpd.conf

/usr/share/doc/apache/examples/httpd.conf
/usr/share/apache/default-configs/apache-perl/httpd.conf
/usr/share/apache/default-configs/apache-ssl/httpd.conf
/usr/share/apache/default-configs/apache/httpd.conf
/home/www/secreto/httpd.conf

A primeira linha do retorno dá o caminho a ser seguido. Conte conosco!!!

Atenciosamente,
William França (SLACKWARE ATÉ A MORTE)

[11] Comentário enviado por cardelli em 13/04/2010 - 10:54h

Já utilizei cgi.... mas com o apache2 não esta rolando...



como faço para adicionar o modulo do cgi no arquivo apache2.conf?

[12] Comentário enviado por joaopaulobrinate em 11/09/2010 - 09:53h

Cara parabens pelo material viu mto bom mesmo... rapaz talvez vc possa me ajudar!!! veja so o que estou precisando. " TO PRECISANDO CADASTRAR USUARIOS NO PPTPD VIA CGI, E EU NAO SEI NADA DE CGI SE VC PUDER ME DAR UMA FORÇA OBRIGADO VIU" QUAL O SEU MSN?

[13] Comentário enviado por nielsenyuri em 15/02/2011 - 16:50h

material muito bom mesmo,ja estou testando


Contribuir com comentário