sexta-feira, 25 de setembro de 2009

Entendendo o comando SCP

O scp é um comando muito util para transferencia de arquivos via console de micro para micro, além de útil é muito facil de usar, veja só:

Transferir um arquivo dentro do micro1 para micro2(192.168.1.5), você pode estando dentro do diretorio do arquivo, ou fora do diretório:
1º Dentro do diretório:

# scp arquivo usuario@192.168.1.5:/diretorio/de/destino/no/micro2

2º Fora do diretório:

# scp /home/usuario/arquivo usuario@192.168.1.5:/diretorio/de/destino/no/micro2

Agora como transferir arquivos do arquivo do micro2 para o micro1(192.168.1.4), porem, estando logado no micro1, para se fazer é preciso saber em qual diretório está o arquivo.

1º Copiar para o diretório atual:

# scp usuario@192.168.1.4:/home/usuario/arquivo .

2º Copiar para outro diretório:

# scp usuario@192.168.1.4:/etc/rc.d/rc.firewall /etc/rc.d

Lembrando que será solicitado a senha do usuário do micro remoto, no exemplo eu utizei os ip's dos micros, se você tiver um dns resolvendo nome de rede, pode utilizar os nomes dos micros.

quinta-feira, 24 de setembro de 2009

Impressora Lexmark X342N no Linux

Após algumas hóras de pesquisa fui encontrar no site do fabricante um driver para Linux, instalei e ao tentar usa-lo e não obtive exito então resolvi arriscar e fiz o seguinte, abri o Cups e fiz o processo de instalar uma impressora, na opção de conexão com a impressora escolhi lpd/lpr host or printer, e coloquei o ip da minha impressora, pois esse modelo de impressora vem com servidor de impressão interno, ficando assim lpd://192.168.1.180 e escolhi como driver uma impressora Lexmark Laser Optra E220 Cups+Gutenprint v5.0.2. Abaixo segue os passos que fiz.

** Antes de tentar fazer os passos abaixo, verifique que o serviço do Cups está rodando, senão estiver faça:
Abra o console:
# cd /etc/rc.d
# chmod +x rc.cups
# ./rc.cups start
Feito isso faça os passos abaixo

1º Abra um navegador de sua preferencia e digite na barra de endereços:
http://localhos:631
2º Clique no botão add printer:
Coloque um nome onde possa identifica-la depois, e clique em continue
3º Agora cofigure a conexão com a impressora:
escolha a opção: LPD/LPR Host or Printer, clique em continue
coloque a URI, exemplo: lpd://192.168.1.180, clique em continue
4º Agora escolha o Driver:
Fabricante: Lexmark
Driver: Lexmark Laser Optra E220 Cups+Gutenprint v5.0.2
Pronto após feito isso, a impressora está instalada, mais antes de imprimir é preciso configurar o papel, para ela não ficar acusando erro.
Clique em Administration/manage printer/ na impressora desejada clique em set printer options, e troque o tamanho do papél para A4 ou outro de sua preferência, suas opções são bem flexíveis, altere com cuidado. Para constar a Lexmark X342N, é uma impressora Laser Multifuncional, essa instalação citada acima NÃO INSTALA O SCANNER, só a opção de impressora.

segunda-feira, 21 de setembro de 2009

Dica: Trocar senha do Webmin

Se esqueceu a senha de administrador do webmin é simples, é só seguir os passos abaixo:

Primeiro entre no diretorio do Webmin, o caminho pode variar de distro para distro eu instalei meu no caminho abaixo, uso o Slackware.

# cd /usr/local/webmin
# perl changepass.pl /etc/webmin administrador senha

No nome do administrador coloque o nome que você utilizou na instalação.


Até a proxima e que a força esteja convosco!

Recurso de Views no Bind

Introdução

Aplicando o sistema de Views no Servidor Dns, ajuda a proporcionar mais segurança e performance, dividindo o sistema de resolução de nomes do sistema de autoridade sobre domínio, permitindo o controle maior sobre os serviços do mesmo, evitando que ip's não autorizados utilizem seu Servidor Dns sem autorização, as Views podem ser usadas sem problemas tanto internamente quanto externamente, oque ocorre aqui é, seu uso interno para resoluções de nomes na rede e na internet (também conhecido como resolução de cache e recursividade), seu uso externo como Dns autoritativo sobre algum domínio ou também liberar para algumas faixas de ip externo para resolução de cache.
Oque estou apresentando aqui é o cenário testado por mim, usado na empresa onde trabalho, porem, o domínio e ip's são fictícios. Por ter 2 placas de rede o Servidor Dns não tem NAT, nenhuma liberação de transporte autorizado pelas placas de rede dele, sendo assim, não é necessário a habilitação do ip_forward, coloquei um script com regras com iptables para aumentar a segurança do mesmo, pois ainda não terminei de montar a DMZ da empresa ;)
Não será abordado o processo de instalação do Bind, pois isso varia de distro para distro e preferencia de cada um, no decorrer do mesmo é considerado que já tenha o Bind instalado


Cenário:

A descrição abaixo é do Servidor Dns primário (Máster).

Distro:
Slackware 12.1

2 Placas-de-rede:
eth0 - 200.200.200.1
eth1 - 192.168.1.2

Dns secundário:
ip externo: 200.200.200.2
ip interno: 192.168.1.3

Bind:
Bind 9.4.3-p1 *

Domínio interno e externo:

adrianobalani.com.br **



Notas:
* Não esquecer de atualizar a sua versão para essa ou maior quem tiver versão do Bind inferior a que está disposta nesse artigo, pois foi descoberta uma vulnerabilidade grave na versão anterior, a falha é acontece quando o servidor recebe repetidamente mensagens de atualização dinâmica, gerando um ataque do tipo negação de serviço.

** No meu caso tenho um controlador de domínio interno com Active Directory com o mesmo nome do site.

Configurando


Seguindo o padrão do Slackware, acho que a maioria das distros tambem, o arquivo named.conf fica dentro de /etc/, é nesse arquivo que faremos a alteração, abaixo segue um exemplo do named.conf, suas diretrizes serão comentadas.

# vim /etc/named.conf

/* PRIMEIRO CRIAMOS AS ACL'S ONDE SERÃO DEFINIDOS OS VALORES COMO REDE INTERNA E DNS'S SECUNDARIOS
*/
// AQUI SEGUE O ENDEREÇO DA REDE INTERNA, SE POSSUIR MAIS QUE UM COLOQUE AQUI
acl "internos" {
192.168.1.0/24;
127.0.0.1;
};

// COLOQUE AQUI OS IP'S DE SEUS DNS'S SECUNDARIOS SE POSSUIR MAIS QUE UM, COLOQUE AQUI ASSIM AJUDA A MANTE-LOS ATUALIZADOS COM O DNS PRIMARIO
acl "dns_interno" {
192.168.1.3;
192.168.1.4;
};
acl "dns_externo" {
200.200.200.2;
200.200.200.3;
};
options {
directory "/var/named";
// AJUDA DIFICULTAR O TRABALHO DE IDENTIFICAR QUAL A VERSÃO DO BIND
version "Microsoft/DNS 7.0b";
// query-source address * port 53;
// NECESSARIO PARA O NOSSO REVERSO FUNCIONAR DE ACORDO COM OS DNS'S DA OPERADORA QUE FORNECEU OS IP'S E LIBERAMOS A OPÇÃO DE ATUALIZAR AS ZONAS DOS SECUNDARIOS
Allow-transfer {201.201.201.1; 201.201.201.2; 200.200.200.2; 200.200.200.3; };
// LIBERA OS IP'S ONDE SERÃO ENTREGUES AS CONSULTAS
listen-on { 200.200.200.1; 192.168.1.2;127.0.0.1; };
// DESABILITA O PROTOCOLO IPV6
listen-on-v6 { none; };
// UM POUCO DE SEGURANÇA NÃO FAZ MAU
dnssec-enable yes;
};

// VAMOS AS VIEWS
view "interna" {
// AQUI DEFINIMOS QUAIS OS CLIENTES QUE FAZEM PARTE DESSA VIEW, QUE FORAM DEFINIDOS NAS ACL'S ACIMA
match-clients { internos; };
// AQUI ESTÁ HABILITADO A OPÇÃO DE RECURSÃO (A BUSCA DE SITES NA NET)
recursion yes;

//AQUI COMEÇA A CONFIGURAÇÃO DE DNS CACHE E RECURSIVO
zone "." IN {
type hint;
file "caching-example/named.root";
};

zone "localhost" IN {
type master;
file "caching-example/localhost.zone";
allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "caching-example/named.local";
allow-update { none; };
};
// AQUI TERMINA A OPÇÃO ANTERIOR E COMEÇA A CONFIGURAÇÃO DO MEU DOMINIO INTERNO AS ZONAS DIRETAS E REVERSA
zone "adrianobalani.com.br" IN {
type master;
file "interno/adrianobalani.int.zone";
allow-update { dns_interno; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "interno/adrianobalani.int.rev";
allow-update { dns_interno; };
};

};
// AQUI COMEÇA A VIEW EXTERNA SEGUE A MESMA SISTEMATICA DA VIEW ANTERIOR, POREM COM ALGUMAS DIFERENÇAS
view "externa" {
// TIPO DE CLIENTE QUE TERÁ ACESSO, NESSE CASO QUALQUER UM
match-clients { any; };
// SEM RECURSÃO, OU MELHOR RESOLUÇÃO DE NOMES
recursion no;
zone "adrianobalani.com.br" IN {
type master;
file "adrianobalani/adriano.zone";
allow-update { 200.200.200.2; 200.200.200.3; };
};
zone "8-1.200.200.200.in-addr.arpa" IN {
type master;
file "adrianobalani/adriano.rev";
allow-update { 200.200.200.2; 200.200.200.3; };
};
};
Pronto, está criado as Views, para uma melhor organização foi criado dentro do diretorio dos arquivos de zona dois subdiretorios /var/named/interno e /var/named/adrianobalani, sendo um responsavel por armazenar os arquivos de zona interno e outro as externas.
Essa foi uma das maneiras em que eu consegui diminuir o uso externo dos Dns's da empresa, sendo assim tivemos um excelente ganho de desempenho, diminuindo quase a zero as respostas negativas e ganhando muita velocidade, porem, abaixo seguem algumas regras do iptables para diminuir as tentativas de DOS e Envenenamento de Cache.

1.iptables -A INPUT -p udp -i eth0 -m state --state NEW --dport 53 -m recent --update --seconds 10 --hitcount 3 -j DROP
2.iptables -A INPUT -p udp -i eth0 -m state --state NEW --dport 53 -m recent --set -j ACCEPT
fonte: http://petryx.blogrs.com.br/2009/03/05/bloqueando-ataque-dns-query-cache-nsin-denied/
Essas regras exigem um tempo minimo de conexão de 10 as conexões que não respeitaram seram bloqueadas.

Espero poder contribuir, estou trabalhando uma maneira de integra-lo com dhcpd e Active Directory, para fazer buscas mais conclusivas na rede interna, e com o dhcpd para adicionar os micros direto na zona direta e reversa.

sexta-feira, 18 de setembro de 2009

Usando pacotes .deb no Slackware

Introdução

Que nós sabemos que o Debian tem o maior repositório de pacotes pré-compilados, não é segredo para ninguem, que podemos usa-los em qualquer distro, pouca gente sabe, estou usando como exemplo o Slackware como exemplo, pois é a distro que passei a usar, todos os testes foram feitos no Slackware64, mais nada impede que seje usado em outra distro, porem, não dou garantias.
O que vamos fazer é usar o Alien para transformar pacotes .deb para .tgz, você deve estar se perguntando, mais o Slackware64 não usa pacotes .txz? sim, mais os pacotes .tgz não foram abolidos. Para começar-mos, primeiro escolhemos os pacotes conforme a arquitetura do nosso Sistema Operacional, exemplo: para o Slackware64 são os pacotes que contenham o sufixo: x86_64, para sistemas 32bits são os sufixos: i386, i586, i686, assim por diante.

Downloads e Instalações

Primeiro baixa-mos o Alien, sua versão atual até agora é a 8.78.
Alien-8.78
Instalação:
Faça todo o procedimento abaixo como root:
# tar -zxvf alien_8.78.tar.gz
# cd alien
# perl Makefile.pl
# make
# make install
Senão ocorrer nada de errado, o alien está pronto!

Uso:

Transformar .deb para .tgz
# alien --to-tgz nomedopacote.deb
Transformar .deb para .rpm
# alien --to-rpm nomedopacote.deb
Transformar .rpm para .deb
# alien --to-deb nomedopacote.rpm
Assim sucessivamente, você pode usar da melhor maneira conforme sua necessidade e para obter ajuda é digitar alien sem parametro nenhum.

Abraços, até a proxima.

Que a força esteja convosco!!

quinta-feira, 10 de setembro de 2009

Cairo-dock no Slackware64

Essa dica consiste no seguinte instalar o Cairo-dock no Slackware64 (muitos o chamam de Slackware13) sem compilar, após varias tentativas frustradas de instalar pelo source, descidi então instalar o Alien e converter pacotes .deb para .tgz.

Pacotes:
alien 8.78
http://ftp.de.debian.org/debian/pool/main/a/alien/alien_8.78.tar.gz

cairo-dock
http://developer.berlios.de/project/showfiles.php?group_id=8724&release_id=16469

pacote base: cairo-dock_v2.0.8_x86_64.deb
http://prdownload.berlios.de/cairo-dock/cairo-dock_v2.0.8_x86_64.deb

pacote de plugins: cairo-dock-plug-ins_v2.0.8_x86_64.deb
http://prdownload.berlios.de/cairo-dock/cairo-dock-plug-ins_v2.0.8_x86_64.deb

pacote de temas: cairo-dock-1.6.3.1.tar.bz2, esse é o unico que vai ser compilado.
http://prdownload.berlios.de/cairo-dock/cairo-dock-1.6.3.1.tar.bz2

Instalação

Alien:
Descompacte o alien

# tar -zxvf alien_8.78.tar.gz
entre no diretorio do alien
# cd alien
e digite:
# perl Makefile.pl
# make
# make install
Senão ocorrer nenhum erro o alien está instalado.

Instalação do Cairo-dock:

# alien --to-tgz cairo-dock_v2.0.8_x86_64.deb
# alien --to-tgz cairo-dock-plug-ins_v2.0.8_x86_64.deb
# installpkg *.tgz

Instalação dos temas:

# tar -jxvf cairo-dock-1.6.3.1.tar.bz2
# ./configure
# make
# make install

Se não ocorrer nenhum erro, está pronto!

Consideraçõe finais.

Todos os comandos foram feitos dentro do diretorio /usr/src e todos os pacotes baixados no mesmo.

Zimbra migração da base Ldap ou Ldap com Active Directory para outro Servidor Zimbra.

Introdução É bem simples, é só seguir os passos abaixo. Exportação dos Dados: $ su - zimbra   $ /opt/zimbra/openldap/sbin/slapcat ...