Você é Hands On?
Max Gehringer (Colunista Revista EXAME)
Integração de servidor Linux com domínio Windows
A dica é para integração de servidores Linux que rodem serviços que exijam autenticação e estejam sob um domínio Microsoft. Um teste com estações de trabalho foi feito, porém sem muito sucesso, essa solução fica para um post futuro 😉
http://www.vivaolinux.com.br/dica/Configuracao-de-maquina-Linux-no-dominio-Windows-%28AD%29
Otimizando o Ubuntu
Logo cedo encontrei algumas dicas de otimização do Ubuntu, ainda não testei mas com certeza vou testar e adaptar para minha realidade, segue o tutorial:
http://barrasbin.wordpress.com/2011/09/21/otimizando-o-ubuntu-11-04-versao-1
Quando fizer os testes posto os resultados (positivos ou negativos).
See ya
Múltiplas instâncias de Pentaho no mesmo host
Para quem trabalha com Business Inteligence e tem problemas com mútiplas instâncias de Pentaho no mesmo servidor:
Router Mikrotik
Pra quem trabalha com redes e não conhece o Mikrotik segue uma explicação sobre o SO e o Hardware feita pelo Rafael Carlos: http://www.vivaolinux.com.br/artigo/Voce-conhece-o-RouterOS-Mikrotik/?pagina=1.
A solução é excelente e o custo x benefício muito bom. Conheço a pouco tempo e acredito não usar 10% da capacidade dele, mas ele facilita e muito a vida dos administradores de redes, um verdadeiro canivete suiço, acessível e fácil de manusear.
Apache2 com SSL e MOD_JK no Solaris
Bom dia!!!
Sei que a configuração do SSL no Apache não é nenhum “bicho de 7 cabeças” e nem difícil de ser encontrada pela net, mas algumas distros apresentam particularidades quanto à instalação e configuração de serviços, por isso segue um passo a passo para configuração do SSL no Apache utilizando o Solaris.
Transição
Bom dia!!!
Fim de semana de transição. Resolvi aceitar de vez o pinguim na minha vida, depois de anos trabalhando com servidores Linux, agora meu Desktop também está na onda, depois de muito ponderar e pensar formatei meu note e instalei o Ubuntu 11.04, apesar de pouco tempo de uso, gostei bastante. Simplificam bastante as coisas e facilitam o uso. Só uma dica, nesta versão a interface gráfica padrão é o Unity, particularmente não gostei e estou usando o GNOME, mas já estão melhorando isso: http://www.gizmodo.com.br/conteudo/o-que-ha-de-novo-no-beta-do-ubuntu-linux-11-10-%E2%80%9Coneiric-ocelot%E2%80%9D/. Quem sabe pra versão 11.11 não da pra manter o padrão.
A única coisa que senti falta até agora foi do Office….. nisso ‘dependo’ da Microsoft, consegui instalá-lo usando o Wine, mas alguns problemas aparecem….. vamos ver se isso não é resolvido logo, caso contrário vou ter que acostumar com o Open Office.
Por enquanto é isso aí, qualquer novidade posto aqui novamente…. Mas com isso deu pra ver que nenhuma mudança é tão traumática quanto esperamos, o desconhecido pode ser melhor que o ‘padrão’. Uma coisa é certa, a gente só tem que estar preparado pras consequências das nossas escolhas 😉
Trabalhando com LOGS no Iptables
Pesquisando maneiras de trabalhar com log no iptables encontrei estes dois tutoriais do Diego Duarte, com uma solução simples e muito prática para esta finalidade:
http://www.purainfo.com.br/linux/logs-no-iptables-parte-i/ http://www.purainfo.com.br/linux/logs-no-iptables-parte-ii/
Configuração de máquina Linux no Domínio Windows (AD)
As configurações apresentadas foram testadas no CentOS 5.6 e no Ubuntu 8.04.
1 Pacotes necessários
Samba Kerberos Winbind
2 Instalação e configuração dos pacotes
2.1 Samba
Instalação no CentOS:
# yum install samba3x.x86_64Instalação no Ubuntu:
# apt-get install sambaSegue arquivo de configuração do samba apenas para integração ao domínio, neste caso não foi configurado um servidor de arquivos, mas caso seja necessário basta adicionar os compartilhamentos ao final do mesmo. Os parâmetros que precisam ser alterados possuem comentários ao final da linha identificando o que é necessário, os demais recebem as configurações padrão do serviço.
# vim /etc/samba/smb.conf[global] workgroup = teste // nome do grupo de trabalho/domínio server string = Teste de integração com domínio netbios name = linux realm = TESTE.COM.BR // domínio completo log file = /var/log/samba/samba.log os level = 2 preferred master = no max log size = 50 debug level = 1 security = ads encrypt passwords = yes socket options = SO_KEEPALIVE TCP_NODELAY password server = 192.168.1.1 // ip do servidor de autenticação allow trusted domains = yes idmap uid = 10000-20000 idmap gid = 10000-20000 winbind separator = + winbind enum users = yes winbind enum groups = yes winbind use default domain = yes hosts allow = 192.168. // faixa de ips liberados para acesso ao servidor
2.2 Kerberos
Instalação no CentOS
# yum install krb5-clients krb5-usersInstalação no Ubuntu
# apt-get install krb5-clients krb5-usersSegue arquivo de configuração do kerberos. Os parâmetros que precisam ser alterados possuem comentários ao final da linha identificando o que é necessário, os demais recebem as configurações padrão do serviço.
# vim /etc/krb5.conf[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = TESTE.COM.BR // domínio completo dns_lookup_realm = false dns_lookup_kdc = false ticket_lifetime = 24h forwardable = yes [realms] TESTE.COM.BR = { //domínio completo kdc = kerberos.teste.com.br:88 // FQDN do servidor de autenticacao admin_server = kerberos.teste.com.br:749 //FQDN do servidor de autenticação default_domain = teste.com.br //domínio completo } [domain_realm] .teste.com.br = TESTE.COM.BR //domínio completo teste.com.br = TESTE.COM.BR // domínio completo [appdefaults] pam = { debug = false ticket_lifetime = 36000 renew_lifetime = 36000 forwardable = true krb4_convert = false }
2.3 Winbind
Instalação no CentOS
# yum install winbindInstalação no Ubuntu
# apt-get install winbindNo winbind só precisamos alterar as treês linhas seguintes, as demais devem permanecer com os parâmetros originais.
# vim /etc/nsswitch.confpasswd: files winbind group: files winbind shadow: files winbind
Após a configuração do smb.conf, é necessário associar a máquina ao domínio. Dependendo da versão do SO pode ser necessário um comando mais “completo”, segue dois exemplos com a mesma finalidade, em ambos os casos será solicitada a senha do usuário:
# net join -w <domínio> -S<nome_do_servidor_do_AD> -U <usuário >Ex: # net join -w teste -SPDC -U master# net rpc join <domínio> -U <usuario>
Ex: # net rpc join TESTE -U master
2.4 Configurar os serviços para iniciar automaticamente
CentOS
# chkconfig smb on # chkconfig winbind on Ubuntu # update-rc.d samba multiuser # update-rc.d winbind multiuser2.5 Comandos de acesso aos serviços
CentOS
# service smb {start|stop|restart|reload|status|condrestart} # service winbind {start|stop|restart|reload|status|condrestart}Ubuntu
# /etc/init.d/samba {start|stop|reload|restart|force-reload|status} # /etc/init.d/winbind {start|stop|restart|force-reload}Configuração do Squid-Graph no CentOS com controle de acesso por usuários do AD
O Squid-Graph é uma ferramenta desenvolvida em Perl para o Squid, que analisa o volume de tráfego e apresenta as informações através de gráficos com volumes de acesso e transferências realizadas através do Proxy.
1 Ambiente
SO: Centos 5.6 Kernel: 2.6.18-274.el5 Squid: 2.6.STABLE21 Apache: 2.2.3
1.1 Dependências
- Perl GD
1.2 Satisfazendo a dependência
# wget http://pkgs.repoforge.org/perl-GD/perl-GD-2.45-1.el5.rf.x86_64.rpm
# rpm -ivh perl-GD-2.45-1.el5.rf.x86_64.rpm
2 Instalação do programa:
O processo de instalação da ferramenta é bem simples, já que não é necessário compilar nada.
# wget http://ufpr.dl.sourceforge.net/project/squid-graph/squid-graph/3.2/squid-graph-3.2.tar.gz # tar -zxvf squid-graph-3.2.tar.gz # mv squid-graph /usr/local/
Criando diretório de armazenamento dos gráficos
# mkdir /var/www/html/squid-graphs3 Criando os gráficos
3.1 Criando um gráfico padrão
# /usr/local/squid-graph/squid-graph –output-dir=/var/www/html/squid-graphs/ < /var/log/squid/access.log3.2 Criando um gráfico acumulativo:
# /usr/local/squid-graph/squid-graph -c -n -o=/var/www/html/squid-graph/ –title=”Grafico de uso do proxy” < \ /var/log/squid/access.log3.3 Para gerar um gráfico somente de TCP:
/usr/local/squid-graph/squid-graph –tcp-only –output-dir=/var/www/html/squid-graph/ \ –title=”Grafico de uso TCP” < /var/log/squid/access.log3.4 Para gerar um gráfico somente de UDP:
/usr/local/squid-graph/squid-graph –udp-only –output-dir=/var/www/html/squid-graph/ \ –title=”Grafico de uso UDP” < /var/log/squid/access.log3.5 Para gerar um gráfico de uma URL específica:
# cat /var/log/squid/access.log | grep “xxxx” | /usr/local/squid-graph/squid-graph -c -n \ -o=/var/www/html/squid-graph/ –title=”Gráfico de uso do site XXXX”3.6 Para gerar um gráfico de um usuário específico:
# cat /var/log/squid/access.log | grep “usuário/ip” | /usr/local/squid-graph/squid-graph -c -n \ -o=/var/www/html/squid-graph/ –title=”Gráfico do usuario xxx”4 Adicionar um logo ao gráfico
Copiar o logo com o nome logo.png para o diretório dos relatórios /var/www/html/squid-graphs
5 Automatizando a Geração do gráfico
A geração dos gráficos foi dividida em duas partes. Primeiro foi criado um script para gerar os gráficos de acesso a cada 1 hora.
# vim /scripts/squid-graph.sh
#!/bin/bash # Script para geracao de graficos de uso do proxy HOJE=`date '+%d-%m-%Y'` /usr/local/squid-graph/squid-graph -o=/var/www/html/squid-graph/ \ --title="Grafico de uso do proxy do dia $HOJE " < /var/log/squid/access.log exit 0
Um segundo script foi criado para manter um ‘histórico diário’ dos gráficos, uma vez que sempre que o squid-graph é executado os gráficos gerados são sobrescritos.
# vim /scripts/squid-logs.sh
#!/bin/bash # Script de geracao de relatorios de acesso do Squid e manutencao dos logs # Manutencao do diretorio dos graficos de acesso do proxy ONTEM=`(date --date "1 day ago" +%d-%m-%Y)` /scripts/squid-graph.sh cd /var/www/html/squid-graph/ mkdir $ONTEM mv *.* $ONTEM cp /usr/local/squid-graph/logo.png /var/www/html/squid-graph/ /scipts/squid-graph.sh /usr/local/sarg/bin/sarg /usr/local/squid/sbin/squid -k rotate
Entendendo o script:
- As variáveis ONTEM e HOJE, são usadas para receber as datas do dia em que o script está sendo executado e do dia anterior;
- Em seguida são gerados os últimos gráficos do Proxy referentes ao dia corrente;
- No diretório onde são as armazenados os gráficos (/var/www/html/squid-graph) é criado um diretório com rótulo do dia anterior (mkdir $ONTEM) e em seguida todos os arquivos gerados pelo squid-graph são movidos para este diretório (mv *.* $ONTEM)
- O logo exibido nos relatórios é copiado novamente para o diretório dos gráficos (cp /usr/local/squid-graph/logo.png /var/www/html/squid-graph/)
- O gráfico do Squid é gerado novamente;
- O comando /usr/local/sarg/bin/sarg gera o relatório diário de acessos do Squid e comando /usr/local/squid/sbin/squid -k rotate rotaciona os logs do Proxy;
Após criar os dois scripts, é necessário alterar as permissões dos mesmos para que possam ser executados:
# chmod +x /scripts/squid-graph.sh # chmod +x /scripts/squid_logs.shAdicionar as entradas para os scripts no crontab:
# vim /etc/crontab
00 23 * * * root /scripts/squid_log.sh 00 * * * * root /scripts/squid-graph.sh
Desta forma, o script squid_log.sh é executado todos os dias às 23h e o script squid-graph.sh é executado todos os dias de hora em hora.
Os gráficos gerados pela ferramenta podem ser visualizados pelo endereço: http://ipdoservidor/squid-graph/. Para acessar gráficos mais antigos basta adicionar a data desejada ao endereço: http://ipdoservidor/squid-graph/08-09-2011.
6 Controle de acesso
Para limitar o acesso aos relatórios gerados, pode ser usado o recurso do .htaccess do Apache ou a autenticação baseada em grupos/usuários de um domínio. Na segunda opção, o servidor deve estar integrado ao domínio através dos serviços: samba, winbind e kerberos. Esta integração não será abordada neste post, mas pode ser tratada em outra oportunidade. Para esta configuração será utilizada a autenticação no domínio.
Para isso é necessário habilitar o módulo ntlm_winbind_module no Apache:
# vim /etc/httpd/conf/httpd.conf
LoadModule ntlm_winbind_module modules/mod_auth_ntlm_winbind.so
A configuração seguinte também poderia ser inserida no httpd.conf, mas para efeito de organização, vamos criar um arquivo para a autenticação dos gráficos.
# vim /etc/httpd/conf.d/squid-graph.conf
Alias /squid-graph /var/www/html/squid-graph <Directory "/var/www/html/squid-graph"> AuthName "Nome exibido na janela de autenticação" NTLMAuth on NTLMAuthHelper "/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp" NTLMBasicAuthoritative on AuthType NTLM require user (lista dos usuários com permissão de acesso aos gráficos) </Directory>
Entendendo o arquivo:
- Alias: define um nome para o acesso aos relatórios (http://ipdoservidor/squid-graph);
- AuthName: Mensagem exibida no formulário de login;
- NTLMAuth on: habilita a autenticação de usuários;
- NTLMAuthHelper: localização do helper do ntlm;
- AuthType NTLM: tipo de autenticação utilizada;
- require user: usuários que possuem permissão para acessar o diretório;
Ao concluir as configurações é necessário reiniciar o Apache:
# service httpd restartOs gráficos gerados pela ferramenta podem ser visualizados pelo endereço: http://ipdoservidor/squid-graph.
7 Referências
http://www.vivaolinux.com.br/dica/Instalacao-do-SquidGraph-3.2-no-Debian-6.0/
http://pt.scribd.com/doc/50417570/31/Squid-Graph
http://www.squid-cache.org.br/index.php?option=com_content&task=view&id=82&Itemid=27
http://bloke.org/linux/ntlm-authentication-active-directory-on-apache-linux/
http://docs.moodle.org/20/en/NTLM_authentication#Using_the_NTLM_part_of_Samba_for_Apache_on_Linux