Mostrando postagens com marcador Servidores. Mostrar todas as postagens
Mostrando postagens com marcador Servidores. Mostrar todas as postagens

21 março 2014

Recuperando ou Alterando a senha do Administrador do Windows Vista, Windows 7 e Windows Server 2008

Caros amigos Leitores,
Quem nunca teve o problema com a perca da senha do Administrador ou Usuário no Windows Vista, Windows 7 ou Windows Server 2008?
Quantos programas de internet e explicações você encontra no google.com e que acabam não sendo eficaz naquele momento?
Existe uma forma simples e eficaz de resolver este problema.
Vamos dar início….
A vantagem de utilizar esta forma é a segurança. Sem alterar nenhum arquivo de banco de dados do Security Account Manager (.SAM), coisa que muitos programa fazem.
O exemplo utilizado é um Windows Server 2008 R2. Neste caso não temos a senha de administrador, e quando isso ocorre, ele apresenta a seguinte mensagem; Nome de usuário ou senha incorreta.
Conforme imagem abaixo.
image2
Vamos dar um boot com a mídia do sistema operacional instalado. Utiliza-se o CD de instalação do Windows com a mesma versão instalada. Já tentei fazer o boot do Windows 7, mas o sistema operacional instalado é o Windows Server 8. O próprio boot irá informar que o sistema é incompatível.
Altere o idioma do teclado conforme o seu desejo.
image4
Na tela seguinte escolha o modo de recuperação, conforme imagem;
image5
Escolha a opção de PROMPT DE COMANDO;
image6
Com o prompt aberto, altere o drive para qual esteja instalado o sistema operacional. Neste caso o drive com sistema operacional instalado é o D:

image7
Dentro do diretório D:\Windows\System32, vamos renomear o utilman.exe da seguinte forma; ren utilman.exe utilman.bak
Aplicado este comando, vamos copiar o comando cmd.exe, da seguinte forma; copy cmd.exe utilman.exe
Vamos reiniciar o computador.
Quando aparecer a tela de login do Windows, clique no ícone de Acessibilidade (onde esta o teclado virtual e assim por diante) ou pressione a tecla do WINDOWS+U. Conforme imagem.
image11
Abrirá a tela de comando do Windows.
Digite o seguinte comando; Net user administrador novasenha
Pronto, bastar logar com a a senha nova.
Mas não esqueça de alterar o arquivo UTILMAN.EXE da seguinte forma; copy utilman.bak utilman.exe.
Este aplicativo é de acessibilidade, caso vocês esqueçam de alterar o aplicativo não ira mais funcionar.
Assista o video:

Jose Carlos Oliveira

01 fevereiro 2013

IMPLEMENTANDO BACULA BACKUP CENTOS 6.3 EM 7 PASSOS

Caros amigos leitores,
Com a indisponibilidade financeira para aquisição do ArcServe Backup da CA e que usei durante anos, tive que optar por uma solução de backup Opensource. Após vários teste com o que poderia e o que estava ativo no mercado, optei em utilizar o BACULA
bacu_logo-red
Bom, nesta inicial vou apenas explicar como implementar o sistema de backup Bacula em um servidor com sistema operacional CENTOS 6.3 X86_64.
Notas importantes: Sugere-se que antes de começar, você faz alterações de firewall no iptables. As portas necessitaram estar abertas 9101-9102-9103. No meu exemplo estarei usando um servidor com discos rígidos.
Primeiro Passo:
Certifique-se de que você tem o repositório do EPEL x86_64
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
Nota: Isso muda, às vezes. Se isso acontecer, certifique-se de obter a versão mais recente, indo para http://download.fedoraproject.org/pub/epel/6/x86_64
Segundo Passo:
Instale o MYSQL & BACULA - Nota: Bacula pode usar o MySQL ou PostgreSQL.
yum install mysql-devel mysql-server
yum install bacula-storage-mysql
yum install bacula-director-mysql bacula-console
yum install bacula-client

Terceiro passo:
Vamos iniciar o MYSQL e criar o usuario de administração do servidor do banco de dados.
service mysqld start
chkconfig mysqld on

Quarto Passo:
Vamos adicionar os scripts de SQL, onde serão criados os bancos de dados, usuarios, GRANTs de usuarios. DICA:  (-u root -p significa login com o usuário root e solicitará a senha ...)
#/usr/libexec/bacula/grant_mysql_privileges -u root –p
#/usr/libexec/bacula/create_mysql_database -u root –p
#/usr/libexec/bacula/make_mysql_tables -u root –p
#/usr/libexec/bacula/grant_bacula_privileges -u root –p

Quinto Passo:
Agora vem a parte super divertida (kkkk)! Você precisará alterar todos os seus arquivos de configuração com novas senhas e endereços (senha de banco de dados, endereço do servidor DIR, endereço do servidor SD, e assim por diante).
The Director
vi /etc/bacula/bacula-dir.conf

Director1
FIGURA 1
client1
FIGURA 2
storage1
FIGURA 3
catalog
FIGURA 4
console
FIGURA 5
O Console
#vi /etc/bacula/bconsole.conf
Altere a senha e o endereço
bconsole1
FIGURA 6
O Storage Daemon
#vi /etc/bacula/bacula-sd.conf
 
sddir
FIGURA 7
sdmon
FIGURA 8
sdarchive
FIGURA 9
O File Daemon
vi /etc/bacula/bacula-fd.conf
fddirector
FIGURA 10
Sexto Passo:
Todos notaram que disse o daemon de armazenamento que o dispositivo foi Arquivo / backup. Vamos agora criar / backup e alterar a propriedade para Bacula para que possa escrever lá. Isso é fácil!
#mkdir /backup
#chown bacula /backup

Sétimo Passo:
É isso aí. Você instalou bacula. Agora é hora de iniciar o serviço e também certificar-se de serviços Bacula iniciar automaticamente na reinicialização (chkconfig)!
#service bacula-dir start
#service bacula-fd start
#service bacula-sd start
#chkconfig bacula-dir on
#chkconfig bacula-fd on
#chkconfig bacula-sd on













Você terminou, Bacula está em execução. Como manter isso? Bem. Há algumas maneiras. Você pode atualizar os arquivos de configuração para adicionar clientes, volumes, etc Isso só vai depender de como você está confortável com configs na sua edição. No entanto, pode ficar chato para editar configs ... então existem algumas alternativas, como o webmin (CLIQUE AQUI para saber como implementar).
Valeu… Até a próxima!!!
Fonte: Tecnowut
Jose Carlos Oliveira
















31 janeiro 2013

INSTALANDO WEBMIN NO CENTOS 6.3

Caros Amigos Leitores,
196741_115961505146479_861295_nWebmin é uma interface baseada na web para administração do sistema para Unix. O uso de qualquer navegador moderno, você pode configurar contas de usuário, Apache, DNS, compartilhamento de arquivos e muito mais. Webmin elimina a necessidade de editar manualmente os arquivos de configuração do Unix como o / etc / passwd, e permite-lhe gerir um sistema a partir do console ou remotamente.

Vamos ao que interessa… A instalação!!!!
Primeiro Passo:
- Vamos adicionar o repositório do WEBMIN com o seguintes comandos:
cat > /etc/yum.repos.d/webmin.repo << EOF
[Webmin]
name=Webmin Distribution Neutral
#baseurl=http://download.webmin.com/download/yum
mirrorlist=http://download.webmin.com/download/yum/mirrorlist
enabled=1
EOF

Segundo Passo:
- Vamos importar GPG Key:
wget http://www.webmin.com/jcameron-key.asc
rpm --import
http://www.webmin.com/jcameron-key.asc
Terceiro Passo:
- E finalmente, vamos instalar o WEBMIN:
yum –y install webmin
Para ter acesso ao WEBMIN, basta apenas digitar no seu browser:
http://ipdoservidor:10000 (digite o ip do host ou nome do host). A senha gerida, sempre será que esta definida no usuário root.
Um abraço,
Jose Carlos Oliveira












14 janeiro 2013

Personalizar Logo no ZIMBRA

Caros Leitores,
Após a instalação e a criação das contas de email, alguns administradores gostam de “PERFUMAR” seus servidores. Ou seja, administrar com suas caracteristicas. Um logo da empresa na abertura do WEBMAIL, na pagina de ADMINISTRAÇÃO e assim por diante.
Segue abaixo como devemos proceder para incluir o logo.
Além de ser uma ótima ferramenta de trabalho, intuitiva e com muitos recursos, o pacote de colaboração Zimbra nos dá a opção de customizar ou alterar seus padrões.
Um dessas ‘regalias’ é poder exibir no sistema a logomarca da empresa. Para isso, são alterados 3 parâmetros do serviço, são eles:
  • zimbraSkinLogoURL: link que será acessado a partir dos logos exibidos, tanto na tela de login quanto a imagem exibida no canto superior da janela;
  • zimbraSkinLogoLoginBanner: imagem exibida nas telas de login e splash do Zimbra, o tamanho deve ser de 450 x 100 pixels;
  • zimbraSkinLogoAppBanner: imagem exibida no canto esquerdo superior da tela após login do usuário, o tamanho deve ser de 120 x 35 pixels.
As imagens utilizadas devem ser salvas no diretório “/opt/zimbra/jetty/webapps/zimbra/img/” do servidor. Para alterar as logos e a URL de acesso basta executar os seguintes comandos com o usuário zimbra:
$ zmprov modifyDomain seudominio.com.br zimbraSkinLogoURL \ http://www.seudominio.com.br


$ zmprov modifyDomain seudominio.com.br zimbraSkinLogoLoginBanner \ http://mail.seudominio.com.br/img/logo_banner_empresa.png

$ zmprov modifyDomain seudominio.com.br zimbraSkinLogoAppBanner \ http://mail.seudominio.com.br/img/banner_app_logo_empresa.png

Se você tem por exemplo vários domínios configurados e cada um é utilizado por uma empresa, possivelmente as logomarcas serão diferentes. Assim, cada página de login pode ser personalizada de acordo com a empresa. No nosso exemplo, se tivessemos outro domínio no servidor, para alterar a logo os passos seriam os mesmos, apenas alterando o domínio e os nomes das imagens:
$ zmprov modifyDomain seudominio2.com.br zimbraSkinLogoURL \ http://www.seudominio2.com.br
$ zmprov modifyDomain seudominio2.com.br zimbraSkinLogoLoginBanner \ 
http://mail.empresa2.com.br/img/logo_banner_empresa2.png
$ zmprov modifyDomain seudominio2.com.br zimbraSkinLogoAppBanner \ http://mail.seudominio2.com.br/img/banner_app_empresa2.png

Feito isso, é necessário reiniciar o serviço para que as alterações sejam carregadas, ainda com o usuário zimbra, execute o comando:
$ zmmailboxdctl reload

Fontes:





11 janeiro 2013

INSTALANDO SERVIDOR EMAIL ZIMBRA NO CENTOS 6.3

Caros Leitores,
Após algum tempo afastado, estou voltando com uma nova postagem. E agora vamos falar sobre o ZIMBRA.
zcs_promo_smZimbra Collaboration Suite (ZCS) é um groupware criado pela Zimbra, Inc. A empresa foi comprada pela Yahoo! em Setembro de 2007[1] e depois comprada pela VMWare em 12 de Janeiro de 2010.[2]
O software trabalha no modelo "cliente e servidor". Duas versões do Zimbra são disponibilizadas: a open-source e a comercial, onde esta última possui o suporte comercial da "Zimbra Network" com componentes de código fechado, basicamente para conexão com o Microsoft Outlook para sincronismo de agenda.
O Pacote de colaboração Zimbra é um aplicativo completo de mensagens instantâneas e colaboração que oferece recursos de e-mail, listas de endereços, calendário, serviço de agenda, listas de tarefas, entre outros.
Concorrente do Exchange, vem se propagando por ser OPENSOURCE.
Para administração das contas de e-mail, o Zimbra possui uma poderosa ferramenta para gerenciamento das contas por domínio, definição de perfil de acesso dos usuários, configuração de classes de serviço, administração das cotas e infra-estrutura, status e estatísticas dos servidores, controle de filas de e-mail, entre outras diversas configurações que auxiliam na sua completa administração.
Vamos lá ao que interessa:
Ambiente:
CentOS 6.3 – HP Proliant DL380 G8 – Raid 5 – 16GB Memória
IP: 192.168.1.244
- Configurações Iniciais:

Desativando o IPtables Padrão:
chkconfig –level 12345 iptables off
chkconfig –level 12345 ip6tables off
/etc/rc.d/init.d/iptables stop
/etc/rc.d/init.d/ip6tables stop
Desativando o SELinux:
vi /etc/selinux/config
Mude a linha ‘SELINUX=enforcing’ para:

SELINUX=disabled
Alterando o nome do Servidor:
vi /etc/sysconfig/network
[Conteúdo do Arquivo]
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=zimbra


Instalação dos repositórios RPMForge e EPEL:
RPMFORGE:
rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
EPEL:

rpm -Uvh
http://fedora.uib.no/epel/6/x86_64/epel-release-6-7.noarch.rpm
Atualizando o yum:
yum clean all
yum -y update
Agora precisamos desativar o Postfix, que vem instalado por padrão nas distribuições CentOS.
Apenas vamos parar o serviço e desativar da inicialização:

/etc/rc.d/init.d/postfix stop
chkconfig –level 12345 postfix off
Antes de começar a instalação precisamos ajustar o arquivo ‘/etc/hosts’ para que fique assim:
Fazendo backup do arquivo original:
cp -Rfa /etc/hosts{,.bkp}
Edite assim:
vi /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.1.244 zimbra.seudominio.com zimbra

Precisamos ajustar o ‘sudo’:
Comente a linha 56

vi /etc/sudoers
# Defaults requiretty

Ajustando o ‘sshd’:
Descomente as linhas 47,48,49:
vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys


Instalando os pacotes necessários:
yum -y install libstdc++.i686 libstdc++.x86_64 nc sysstat wget make vim-enhanced gcc gcc-c++
Vamos iniciar a instalação do Zimbra, para isso vamos criar um diretorio para centralizar a instalação:
Criamos uma pasta em ‘/root’

mkdir ~/zimbra
cd ~/zimbra/
Fazendo o Download do arquivo:
Obs.: Pode demorar um pouco dependendo de sua banda-larga.
O Arquivo tem: 475 Mb

wget http://files2.zimbra.com/downloads/7.1.4_GA/zcs-7.1.4_GA_2555.RHEL6_64.20120105094542.tgz
Descompactando:
tar zxvf zcs-7.1.4_GA_2555.RHEL6_64.20120105094542.tgz
Facilitando:
Vamos renomear a pasta para ficar mais simples de trabalhar a instalação:

mv zcs-7.1.4_GA_2555.RHEL6_64.20120105094542 install
Instalando:
Para iniciar a instalação do Zimbra precisamos especificar um simples parametro para que seja ignorado a checagem da distribuição:

cd install/
./install.sh –platform-override
Confirme a licença com ‘yes’
Abaixo você verá uma saída assim:
./install.sh –platform-override
Operations logged to /tmp/install.log.2047
Checking for existing installation…
zimbra-ldap…NOT FOUND
zimbra-logger…NOT FOUND
zimbra-mta…NOT FOUND
zimbra-snmp…NOT FOUND
zimbra-store…NOT FOUND
zimbra-apache…NOT FOUND
zimbra-spell…NOT FOUND
zimbra-convertd…NOT FOUND
zimbra-memcached…NOT FOUND
zimbra-proxy…NOT FOUND
zimbra-archiving…NOT FOUND
zimbra-cluster…NOT FOUND
zimbra-core…NOT FOUND
PLEASE READ THIS AGREEMENT CAREFULLY BEFORE USING THE SOFTWARE.
ZIMBRA, INC. (“ZIMBRA”) WILL ONLY LICENSE THIS SOFTWARE TO YOU IF YOU
FIRST ACCEPT THE TERMS OF THIS AGREEMENT. BY DOWNLOADING OR INSTALLING
THE SOFTWARE, OR USING THE PRODUCT, YOU ARE CONSENTING TO BE BOUND BY
THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS
AGREEMENT, THEN DO NOT DOWNLOAD, INSTALL OR USE THE PRODUCT.

License Terms for the Zimbra Collaboration Suite:
http://www.zimbra.com/license/zimbra_public_eula_2.1.html
Do you agree with the terms of the software license agreement? [N] Y
Checking for prerequisites…
FOUND: NPTL
FOUND: sudo-1.7.4p5-7
FOUND: libidn-1.18-2
FOUND: gmp-4.3.1-7
FOUND: /usr/lib/libstdc++.so.6
Checking for suggested prerequisites…
FOUND: sysstat
FOUND: sqlite
Prerequisite check complete.

Checking for installable packages
Found zimbra-core
Found zimbra-ldap
Found zimbra-logger
Found zimbra-mta
Found zimbra-snmp
Found zimbra-store
Found zimbra-apache
Found zimbra-spell
Found zimbra-memcached
Found zimbra-proxy
Select the packages to install

Install zimbra-ldap [Y] Y
Install zimbra-logger [Y] Y
Install zimbra-mta [Y] Y
Install zimbra-snmp [Y] Y
Install zimbra-store [Y] Y
Install zimbra-apache [Y] Y
Install zimbra-spell [Y] Y
Install zimbra-memcached [N] N
Install zimbra-proxy [N] N
Checking required space for zimbra-core
checking space for zimbra-store

Installing:
zimbra-core
zimbra-ldap
zimbra-logger
zimbra-mta
zimbra-snmp
zimbra-store
zimbra-apache
zimbra-spell

You appear to be installing packages on a platform different
than the platform for which they were built.

This platform is CentOSUNKNOWN_64
Packages found: RHEL6_64
This may or may not work.

Using packages for a platform in which they were not designed for
may result in an installation that is NOT usable. Your support
options may be limited if you choose to continue.
Install anyway? [N] Y

The system will be modified. Continue? [N] Y
Removing /opt/zimbra
Removing zimbra crontab entry…done.
Cleaning up zimbra init scripts…done.
Cleaning up /etc/ld.so.conf…done.
Cleaning up /etc/security/limits.conf…done.

Finished removing Zimbra Collaboration Suite.
Installing packages
zimbra-core……zimbra-core-7.1.4_GA_2555.RHEL6_64-20120105094542.x86_64.rpm…done
zimbra-ldap……zimbra-ldap-7.1.4_GA_2555.RHEL6_64-20120105094542.x86_64.rpm…done
zimbra-logger……zimbra-logger-7.1.4_GA_2555.RHEL6_64-20120105094542.x86_64.rpm…done
zimbra-mta……zimbra-mta-7.1.4_GA_2555.RHEL6_64-20120105094542.x86_64.rpm…done
zimbra-snmp……zimbra-snmp-7.1.4_GA_2555.RHEL6_64-20120105094542.x86_64.rpm…done
zimbra-store……zimbra-store-7.1.4_GA_2555.RHEL6_64-20120105094542.x86_64.rpm…done
zimbra-apache……zimbra-apache-7.1.4_GA_2555.RHEL6_64-20120105094542.x86_64.rpm…done
zimbra-spell……zimbra-spell-7.1.4_GA_2555.RHEL6_64-20120105094542.x86_64.rpm…done
Operations logged to /tmp/zmsetup.03272012-172449.log
Installing LDAP configuration database…done.
Setting defaults…

DNS ERROR resolving MX for zimbra.seudominio.com
It is suggested that the domain name have an MX record configured in DNS
Change domain name? [Yes] no
done.

Após a finalização, ele vai te mostrar a tela de configuração:
Checking for port conflicts
Main menu
1) Common Configuration:
2) zimbra-ldap: Enabled
3) zimbra-store: Enabled
+Create Admin User: yes
+Admin user to create: admin@zimbra.seudominio.com
******* +Admin Password UNSET
+Anti-virus quarantine user: virus-quarantine.nnpdckxw@zimbra.seudominio.com
+Enable automated spam training: yes
+Spam training user: spam.zhoiwjej@zimbra.seudominio.com
+Non-spam(Ham) training user: ham.3tlz7l_f_n@zimbra.seudominio.com
+SMTP host: zimbra.seudominio.com
+Web server HTTP port: 80
+Web server HTTPS port: 443
+Web server mode: http
+IMAP server port: 143
+IMAP server SSL port: 993
+POP server port: 110
+POP server SSL port: 995
+Use spell check server: yes
+Spell server URL:
http://zimbra.seudominio.com:7780/aspell.php
+Configure for use with mail proxy: FALSE
+Configure for use with web proxy: FALSE
+Enable version update checks: TRUE
+Enable version update notifications: TRUE
+Version update notification email: admin@zimbra.seudominio.com
+Version update source email: admin@zimbra.seudominio.com

4) zimbra-mta: Enabled
5) zimbra-snmp: Enabled
6) zimbra-logger: Enabled
7) zimbra-spell: Enabled
8) Default Class of Service Configuration:
r) Start servers after configuration yes
s) Save config to file
x) Expand menu
q) Quit

Address unconfigured (**) items (? – help) 3
Veja que selecionamos a opção: 3
A proxima tela de configuração, veja abaixo:
Store configuration
1) Status: Enabled
2) Create Admin User: yes
3) Admin user to create: admin@zimbra.seudominio.com
** 4) Admin Password UNSET
5) Anti-virus quarantine user: virus-quarantine.nnpdckxw@zimbra.seudominio.com
6) Enable automated spam training: yes
7) Spam training user: spam.zhoiwjej@zimbra.seudominio.com
8) Non-spam(Ham) training user: ham.3tlz7l_f_n@zimbra.seudominio.com
9) SMTP host: zimbra.seudominio.com
10) Web server HTTP port: 80
11) Web server HTTPS port: 443
12) Web server mode: http
13) IMAP server port: 143
14) IMAP server SSL port: 993
15) POP server port: 110
16) POP server SSL port: 995
17) Use spell check server: yes
18) Spell server URL:
http://zimbra.seudominio.com:7780/aspell.php
19) Configure for use with mail proxy: FALSE
20) Configure for use with web proxy: FALSE
21) Enable version update checks: TRUE
22) Enable version update notifications: TRUE
23) Version update notification email: admin@zimbra.seudominio.com
24) Version update source email: admin@zimbra.seudominio.com

Select, or ‘r’ for previous menu [r] 4
Na configuração acima, selecionamos a opção ’4′ para alterar a senha do admin:
Select, or ‘r’ for previous menu [r] 4

Password for admin@zimbra.seudominio.com (min 6 characters): [QVVGnuBKUt] sua_senha_aqui
Após digitar a nova senha de admin, irá retornar a tela de configuração:
Store configuration
1) Status: Enabled
2) Create Admin User: yes
3) Admin user to create: admin@zimbra.seudominio.com
4) Admin Password set
5) Anti-virus quarantine user: virus-quarantine.nnpdckxw@zimbra.seudominio.com
6) Enable automated spam training: yes
7) Spam training user: spam.zhoiwjej@zimbra.seudominio.com
8) Non-spam(Ham) training user: ham.3tlz7l_f_n@zimbra.seudominio.com
9) SMTP host: zimbra.seudominio.com
10) Web server HTTP port: 80
11) Web server HTTPS port: 443
12) Web server mode: http
13) IMAP server port: 143
14) IMAP server SSL port: 993
15) POP server port: 110
16) POP server SSL port: 995
17) Use spell check server: yes
18) Spell server URL:
http://zimbra.seudominio.com:7780/aspell.php
19) Configure for use with mail proxy: FALSE
20) Configure for use with web proxy: FALSE
21) Enable version update checks: TRUE
22) Enable version update notifications: TRUE
23) Version update notification email: admin@zimbra.seudominio.com
24) Version update source email: admin@zimbra.seudominio.com

Select, or ‘r’ for previous menu [r] r
Acima selecionamos ‘r’ para retornar ao menu.
Agora de volta ao Menu principal:
Main menu
1) Common Configuration:
2) zimbra-ldap: Enabled
3) zimbra-store: Enabled
4) zimbra-mta: Enabled
5) zimbra-snmp: Enabled
6) zimbra-logger: Enabled
7) zimbra-spell: Enabled
8) Default Class of Service Configuration:
r) Start servers after configuration yes
s) Save config to file
x) Expand menu
q) Quit

*** CONFIGURATION COMPLETE – press ‘a’ to apply
Select from menu, or press ‘a’ to apply config (? – help)

Para finalizar e salvar as configurações, digitamos ‘a’:
*** CONFIGURATION COMPLETE – press ‘a’ to apply
Select from menu, or press ‘a’ to apply config (? – help) a
Save configuration data to a file? [Yes] yes
Save config in file: [/opt/zimbra/config.6456]
Saving config in /opt/zimbra/config.6456…done.
The system will be modified – continue? [No] yes
Operations logged to /tmp/zmsetup.07252012-114620.log
Setting local config values…done.
Setting up CA…done.
Deploying CA to /opt/zimbra/conf/ca …done.
Creating SSL certificate…done.
Installing mailboxd SSL certificates…done.
Initializing ldap…done.
Setting replication password…done.
Setting Postfix password…done.
Setting amavis password…done.
Setting nginx password…done.
Setting BES searcher password…done.
Creating server entry for zimbra.seudominio.com…done.
Saving CA in ldap …done.
Saving SSL Certificate in ldap …done.
Setting spell check URL…done.
Setting service ports on zimbra.seudominio.com…done.
Adding zimbra.seudominio.com to zimbraMailHostPool in default COS…done.
Installing webclient skins…
sand…done.
smoke…done.
hotrod…done.
oasis…done.
beach…done.
steel…done.
sky…done.
carbon…done.
pebble…done.
tree…done.
lavender…done.
lake…done.
bare…done.
waves…done.
twilight…done.
bones…done.
lemongrass…done.
Finished installing webclient skins.
Setting zimbraFeatureTasksEnabled=TRUE…done.
Setting zimbraFeatureBriefcasesEnabled=TRUE…done.
Setting MTA auth host…done.
Setting TimeZone Preference…done.
Initializing mta config…done.
Setting services on zimbra.seudominio.com…done.
Creating domain zimbra.seudominio.com…done.
Setting default domain name…done.
Creating domain zimbra.seudominio.com…done.
Creating admin account admin@zimbra.seudominio.com…done.
Creating root alias…done.
Creating postmaster alias…done.
Creating user spam.vnt5c_w4dh@zimbra.seudominio.com…done.
Creating user ham.b0ztjxe5ws@zimbra.seudominio.com…done.
Creating user virus-quarantine.cko_d1xw@zimbra.seudominio.com…done.
Setting spam training and Anti-virus quarantine accounts…done.
Initializing store sql database…done.
Setting zimbraSmtpHostname for zimbra.seudominio.com…done.
Configuring SNMP…done.
Checking for default IM conference room…not present.
Initializing default IM conference room…done.
Setting up syslog.conf…done.

You have the option of notifying Zimbra of your installation.
This helps us to track the uptake of the Zimbra Collaboration Suite.
The only information that will be transmitted is:
The VERSION of zcs installed (7.1.4_GA_2555_CentOSUNKNOWN_64)
The ADMIN EMAIL ADDRESS created (admin@zimbra.seudominio.com)

Notify Zimbra of your installation? [Yes] yes
Notifying Zimbra of installation via
http://www.zimbra.com/cgi-bin/notify.cgi?VER=7.1.4_GA_2555_CentOSUNKNOWN_64&MAIL=admin@zimbra.seudominio.com
Notification complete
Starting servers…
done.
Installing common zimlets…
com_zimbra_srchhighlighter…done.
com_zimbra_email…done.
com_zimbra_social…done.
com_zimbra_webex…done.
com_zimbra_linkedin…done.
com_zimbra_phone…done.
com_zimbra_attachcontacts…done.
com_zimbra_cert_manager…done.
com_zimbra_bulkprovision…done.
com_zimbra_dnd…done.
com_zimbra_url…done.
com_zimbra_attachmail…done.
com_zimbra_date…done.
com_zimbra_adminversioncheck…done.
Finished installing common zimlets.
Restarting mailboxd…done.
Setting up zimbra crontab…done.
Moving /tmp/zmsetup.07252012-114620.log to /opt/zimbra/log
Configuration complete – press return to exit

Agora vamos ativar o Instant Messenger, que por padrão vem desativado na versão 7.0:
su -
su zimbra
zmprov mcf zimbraXMPPEnabled TRUE
zmprov mc default zimbraFeatureIMEnabled TRUE
zmprov mc default zimbraFeatureInstantNotify TRUE
zmprov mc default zimbraPrefIMAutoLogin TRUE

Para acesso ao webmail do zimbra acesse:
http://zimbra.seudominio.com
Para acesso ao Admin do Zimbra acesse:
https://zimbra.seudominio.com:7071
Login: admin
Senha: (aquela que configurou na instalação)

Pronto, Zimbra no CentOS 6!!
A Interface administrativa é muito simples e fácil de gerenciar.
Um sistema de e-mail completo com webmail, calendário, contatos, tudo centralizado, e o melhor, a Instalação é simples!

















































































15 junho 2010

Continuação - Identificar o Sistema Operacional usando ping

Recentemente, li um pequeno texto no site da Dicas-L a respeito de como se pode utilizar o comando ping como uma forma de detectar um sistema operacional remoto. Aliás, sempre que posso, ensino em sala de aula esse recurso.

Resumindo um pouco do que se trata. Para que sistemas operacionais diferentes possam se comunicar normalmente em uma rede, é preciso que todos "falem" a mesma língua. No caso da Internet e na maioria das redes da atualidade, essa língua significa os protocolos que compõem a arquitetura TCP/IP cujas especificações, conhecidas como RFC (Request For Comments) são públicas e podem, portanto, ser consultadas livremente através do site http://www.ietf.org. Em outras palavras, cada fabricante deve consultar essa documentação para implementar em seu sistema operacional os protocolos da arquitetura TCP/IP, seguindo as recomendações que irão garantir a correta interoperabilidade em rede.

Muitos dos aspectos descritos nas RFCs devem ser seguidos à risca pelos desenvolvedores e isso é uma tarefa trabalhosa e que requer bastante experiência. Por outro lado, existem alguns aspectos das especificações que devem ser definidos de acordo com cada fabricante. São essas decisões particulares na implementação da pilha TCP/IP que ajudam no desenvolvimento das ferramentas de "OS fingerprinting", que visam reconhecer o tipo e a versão de um sistema operacional remotamente. O NMAP talvez seja o melhor exemplo desse tipo de ferramenta.

Em especial, existe um campo no cabeçalho do protocolo IP chamado TTL (Time-To-Live). O objetivo desse campo é evitar que, por exemplo, por problemas de roteamento, um pacote IP fique trafegando indefinidamente de roteador em roteador. Inicialmente, o campo indicava o tempo que um pacote IP poderia ficar "em trânsito" para seu destino. A dificudade técnica logo apareceu uma vez que era difícil para cada roteador controlar quanto tempo exatamente um pacote havia ficado sobre seu controle.

Outras dificuldades técnicas também mostraram que essa forma de controle era inviável. Por conta disso, o entendimento do TTL mudou e passou a ser entendido como a quantidade de "saltos" entre roteadores (do inglês, hops) que um pacote pode dar até alcançar seu destino final. Com isso, cada roteador que recebe um pacote e o repassa adiante decrementa, antes de enviá-lo, em 1 o valor do TTL. Se o pacote não tiver mais "crédito" para continuar trafegando, o roteador que o recebeu e identificou, em primeira mão, a impossibilidade de entregá-lo ao seu destino final, descarta o pacote e encaminha ao originador uma mensagem de TTL Time Exceeded, através do protocolo ICMP.

Pois bem, voltando ao assunto das RFCs, o TTL é um dos campos cujo valor default, utilizado em um pacote assim que ele é criado, fica a cargo de cada sistema operacional. Com isso, os sistemas operacionais mais conhecidos do mercado acabaram adotando valores diferentes. Por exemplo, o Microsoft Windows costuma adotar como valor padrão para o TTL o valor de 128. Já sistemas GNU/Linux costumam utilizar o valor de 64. O Solaris, por sua vez, adota o máximo que o campo permite: 255. É essa particularidade que torna simples a investigação de um sistema operacional, remotamente, apenas pelo resultado do ping.

Diante disso, ao executar o comando ping para uma determinada máquina, basta verificar o valor do TTL apresentado como resultado e identificar de qual padrão ele aproxima-se mais. Por exemplo, no exemplo abaixo o valor de TTL de 57 está mais próximo de 64 do que de 128 (Microsoft Windows) e 255 (Solaris). Nesse caso, pode-se suspeitar que trata-se de um sistema GNU/Linux.

Suspeitar? Isso mesmo. Apesar desse comportamento refletir a realidade na maioria dos casos, é importante tomar cuidado com o fato de que esses valores podem ser alterados, principalmente por sistemas que, como o GNU/Linux, possuem alguns recursos que permitem interagir diretamente com o kernel e, consequentemente, com a pilha TCP/IP do seu sistema operacional.

Por exemplo, para alterar em tempo real o valor do TTL utilizado por seu ambiente GNU/Linux, basta, como root, executar o seguinte comando:

  # echo 1 > /proc/sys/net/ipv4/ip_default_ttl



Depois, para consultar o valor atual, basta utilizar o cat:




  # cat /proc/sys/net/ipv4/ip_default_ttl



Conhecer bem o comportamento da pilha TCP/IP dos diversos sistemas



operacionais é fundamental para exercer a função de administrador de sistemas. A detecção de um sistema operacional por meio do valor do TTL é um recurso importante e ágil, desde que seja considerado em um ambiente de rede controlado onde se pode assumir que apenas os valores padrões do TTL estão sendo utilizados. Por outro lado, caso trata-se de um ambiente não restrito, considere utilizar outras técnicas e ferramentas.







Fonte: Jansen SenaRevista PNP

29 setembro 2008

Horário de Verão

Caros amigos leitores,

Existe um pacote no Debian e Ubuntu que pode facilitar a vida dos administradores: tz-brasil. Talvez outras distribuições também possuam.

Introdução

Tz-Brasil é um programa que ajusta o horário do seu computador automaticamente para o horário de verão no Brasil (lembrando que a data de início e fim geralmente muda em relação ao ano anterior). Uma combinação para quem sempre tem que estar com o horário correto é utilizá-lo junto com o ntpdate.

Preparando

Antes de mais nada verifique se o seu sistema está configurado com o fuso horário correto. Para isso utilize tzconfig.

# tzconfig
Your current time zone is set to America/Sao_Paulo
Do you want to change that? [n]:


No exemplo acima o sistema está configurado para America/Sao_Paulo. Ok, pressione n e siga para o próximo passo. 


Caso o fuso horário esteja errado pressione y e configure-o corretamente. 


Instalando



Para instalar, simplesmente rode



aptitude install tz-brasil



Rodando



O Tz-Brasil é adicionado automaticamente no cron, sendo rodado periodicamente. Caso queria rodá-lo em modo verbose use



tz-brasil --test


Caso queira forçar uma atualização use



tz-brasil --force


Fonte: Forum Debian - http://wiki.forumdebian.com.br/index.php/Tz-Brasil

11 setembro 2008

Ubuntu - Curso Básico Ubuntu 8.04

Caros amigos Leitores,

Meu amigo João Pena de Portugal que também é blogueiro, me indicou um link para o Curso de Ubuntu que se localizava no site da UOL.

Após uma leitura, achei muito interessante em estar postando esta informação no meu BLOG.

Este curso tem uma boa apresentação. Ele é a tradução do Curso elaborado pela CC by NC SA - Creative Commons.

Traz uma boa explicação para todos os componentes nativos do UBUNTU 8.04. Material muito bom. Ideal para os iniciantes.

Vale apena dar uma olha neste material.

<Clique aqui para fazer Download do Curso de UBUNTU>

<Clique aqui para fazer Download do UBUNTU DESKTOP>

<Clique aqui para fazer Download do UBUNTU SERVIDOR>

fontes: Joao Pena - http://1rst.spaces.live.com/

UOL - http://www.uol.com.br

04 setembro 2008

ShellScripts - Geração automatica de senhas

De tempos em tempos administradores de sistemas precisam criar um grande número de contas. Criá-las manualmente, além de ineficiente e propenso a erros, pode demorar uma eternidade. Imagine o caso de universidades ou escolas que recebem centenas ou mesmo milhares de novos alunos a cada semestre.

Sistemas Linux possui um utilitário feito sob medida para esta situação chamado mkpasswd.

O comando mkpasswd, quando invocado sem argumentos, retorna uma senha:

# mkpasswd
9nn7sJJvj


Uma shell script simples para criar quantas contas forem necessárias e que atribui a cada usuário uma senha pode ser criada facilmente. Para efeito de nosso exemplo considere que a lista dos usuários a ser criados encontra-se no arquivo novos-usuarios.txt.



#!/bin/bash
for usuario in `cat novos-usuarios.txt`
do
useradd $usuario
mkpasswd $usuario > $usuario.senha
# Criação da carta ao usuário, contendo
# sua senha, normas de uso e recomenda-
# ções gerais
cat > $usuario.carta << EOF
Prezado Usuário(a),

Conforme sua solicitação, foi criada uma conta em nossos computadores
centrais com as seguintes especificações:

computador: computador.dominio.com.br
identificação: $usuario
senha: `echo $usuario.senha`

Solicitamos a memorização das informações contidas neste documento e sua
destruição em seguida devido ao caráter confidencial destas informações.

Realize a troca de sua senha já em seu primeiro acesso para algo que
lhe seja mais fácil de lembrar.

Lembre-se, nunca divulgue a sua senha de acesso para ninguém. A
segurança de seus dados e do sistema como um todo dependem de você.

Para maiores informações consulte o endereço
http://www.dominio.com.br/suporte ou envie uma mensagem para
suporte@dominio.com.br

Atenciosamente, Suporte Técnico - Centro de Computação

EOF
lpr $usuario.carta
rm $usuario.*
done


O processo acima cria a conta do novo usuário, atribui-lhe uma senha inicial de acesso e imprime, na impressora padrão do sistema, uma carta a ser entregue ao novo usuário.



Os comandos useradd e mkpasswd aceitam diversas opções, que podem ser usadas para especificar com mais precisão o ambiente do usuário. Para simplicidade de entendimento, os comandos empregados na shell script acima utilizaram os valores padrão. Após o processamento todos os arquivos temporários são removidos.



Problemas acontecem. Recomendamos sempre que se gere um backup dos arquivos envolvidos /etc/passwd, /etc/shadow e /etc/group) antes da execução deste script.



Outra recomendação importante é que todas as senhas criadas por este método sejam expiradas, requerendo do usuário a sua troca quando do primeiro login.





fonte: Dicas - http://www.dicas-l.com.br

18 agosto 2008

Brute-Force - SCRIPT para bloquear ataques de brute-force

Caros Leitores,

É comum hoje em dia, acharmos em nossos logs, várias tentativas de ataques de em um servidor SSH. As ferramentas e dicionários utilizados estão cada vez mais aprimorados. A idéia deste tutorial á fornecer um passo de como implementar um script que verifica uma tentativa de ataque brute force de SSH e imediatamente bloquei o host de origem que estava tentando fazer o ataque.

Neste script estou me baseado na distribuição SlackWare 11.0. Mas poderar ser usado em qualquer distribuição, mas será necessário a alteração do endereço do arquivo onde esta gravado o LOG com os referidos ataques.

O ideal para companhamento um pouco mais eficaz, você implementar o LOGCHECK - http://logcheck.org/. Esta ferramenta tem a função de enviar via e-mail as ultimas alterações feitas no LOG, de acordo com as datas e horários estipuladas pelo usuário.

Vou postar o script e detalharei os seus passo.

#!/bin/sh
# Desenvolvido por José Carlos Oliveira
# Testado no slackware 9, 10, 11.
#
####

##Variáveis para gravação de arquivos

tempip="/usr/local/scripts/bruteips/bloqueia-ips-`date +%d%m%Y`.tmp";
blockip="/usr/local/scripts/bruteips/bloqueia-ips-`date +%d%m%Y`";
script="/usr/local/scripts/bruteips/boqueia-`date +%d%m%Y`";

# separa todos os ips que tentaram bruteforce utilizando os usuarios guest/test/admin/user
#echo -n "Digite o nome do LOG (exemplo: messages): "
#read

cat -n /var/log/messages | grep -P "(guest|test|admin|user)" | grep -i sshd | awk -F" " '{ print $11}' > $tempip;

# faz backup da lista de ips bloqueados
if [ -f $blockip ]; then
cat $blockip >> $tempip;
fi

# remove ips duplicados
sort -u $tempip | grep -v ^$ | grep -v user > $blockip;

# gera um script que bloqueia o ip através do iptables
ips=$(cat $blockip);

#echo "iptables -F INPUT" > $script;
for ip in $ips ; do
blocked=("iptables -A INPUT -s $ip -j DROP")
echo $blocked >> $script
done


#Torna o script executável

chmod +x $script

#Executa Script
$script

#Apaga os arquivos temporários
rm $tempip

Simples, não.... Basta apenas coloca-lo no CRON <Clique aqui para ver sobre o comando CRON> para ser executado no momento em que desejar. Eu particularmente, executo ele de 4 em 4 horas. A invasão não tem hora marcada para acontecer. rs*

Além do script acima, é fundamental um sistema bem configurado. Uma configuração com números máximo de tentativas, por exemplo. Ou seja, configure seu servidor para bloquear contas depois do terceiro login sem sucesso.

Este script pode sofrer melhorias. Coloque a ideia em pratica e compartilhe, para que possamos aperfeiçoa-lo. Conto com vocês...

Em um próximo post estarei falando sobre um programinha de brute force. Caso você tenha interesse em saber um pouco mais, acesse www.cygwin.com ou www.thc.org/thc-hydra.

Até o próximo post....Abraços

13 agosto 2008

Shell scripts não convencionais

Na primeira linha de uma shell, geralmente encontramos algo do tipo:

  #!/bin/bash


ou



  #!/bin/csh


O que poucos sabem, é que podemos criar shells diretamente com outros comandos do Unix.



Por exemplo, eu frequentemente preciso saber o meu endereço de trabalho, mas nunca me lembro onde coloquei o cartão com todos os dados. Este problema pode ser facilmente resolvido com uma shell como abaixo:



  #! /bin/more
Rubens Queiroz de Almeida
Cidade Universitária Zeferino Vaz
Centro de Computação
Unicamp
13.083-970 - Campinas - São Paulo


Este é um script que ecoa para a tela o seu conteúdo. Ao executá-lo temos:



  #! /bin/more
Rubens Queiroz de Almeida
Cidade Universitária Zeferino Vaz
Centro de Computação
Unicamp
13.083-970 - Campinas - São Paulo


Bom, apareceu também a primeira linha, que é uma informação que não preciso. Para resolver isto, basta fornecer ao comando more, o argumento +2, instruindo o comando a iniciar seu trabalho a partir da linha 2. O script fica então assim:



  #! /bin/more +2
Rubens Queiroz de Almeida
Cidade Universitária Zeferino Vaz
Centro de Computação
Unicamp
13.083-970 - Campinas - São Paulo


Desta forma a linha inicial não é mais exibida.



Da mesma forma, se eu substituir a primeira linha por



  #! /bin/ls -l


Teremos uma shell que executa o comando **ls -l* sobre ele mesmo, como abaixo:



  $ ./endereço
-rwxr-xr-x 1 queiroz queiroz 137 Jul 12 18:40 ./endereço


Parece meio inútil, mas certamente deve haver algum uso inteligente para esta facilidade ....

Speedy - Script de autenticação automática Speedy Negócios

Procurei e testei inumeros scripts, porém quase todos continham erros ou incorreções para efetuar a autenticação no Speedy Negócios.

Refiz o script e inclui um log para manter um histórico das conexões.

Salve este script com o nome que desejar, dê permissões para execução do mesmo chmod 755 < nome_do_script> e coloque o mesmo para executar a cada

15 minutos no cron

Altere as variáveis para o seu caso, funciona muito bem no Debian etch.

#!/bin/bash

###########################################

# Script de autenticação speedy negócios

# ver. 1.0

# data 28/04/2008

###########################################

### VARIAVEIS ###

SPEEDYZONEIP="200.171.222.97"

#SPEEDYZONEIP="200.171.222.93"

LOGIN=internet # coloque o seu login

DOMINIO=speedy.com.br # coloque o seu domínio de autenticação

SENHA=internet # coloque sua senha

SPEEDYZONE="http://${SPEEDYZONEIP}/wsc/servlet/logon.do";

URL=registro.br # use uma url sem java e com alta disponibilidade

ARQTEMP=/etc/firewall/temp.txt # coloque o path completo do arquivo temporário

ARQLOG=/etc/firewall/report_auth.log # coloque o path completo do arquivo de log

### FUNÇOES ###

###########################################

# Função para redução do arquivo de log,

# mantêm o arquivo de log com um tamanho

# aceitável

###########################################

corrigeLOG() {

# remove o arquivo temporario de transferência

rm -f $ARQTEMP

if [ -e $ARQLOG ];then

# se o arquivo de log existe, verificar quantas linhas existem no arquivo

LINHAS=`cat $ARQLOG | wc -l`

if [ $LINHAS -gt "2700" ];then

# copiar 2000 linhas de trás pra frente e salvar em um arquivo temporário

# e enviar os textos do console para null

tail -n 2000 $ARQLOG > $ARQTEMP 2> /dev/null

# apagar arquivo de log

rm -f $ARQLOG

# renomear o arquivo temporario como arquivo de log

mv -f $ARQTEMP $ARQLOG

fi

fi

}

###########################################

# Função de autenticação

# cuidado com esta função qq erro imperirá

# a autenticação.

# NOTA : A telefonica custuma mudar os

# endereços e rotinas com alguma frequencia

# já houveram pelo menos 3 alterações desde

# 2002 nesta rotina.

# Caso o sistema não autentique verifique

# pelo browser gráfico os endereços e variáveis

# corretas e altere o script para se adequar

# as novas rotinas.

###########################################

speedy_auth() {

# este comando abaixo é a rotina de autenticação do speedy

lynx -dump

$SPEEDYZONE\?opcion=internet\&CPURL=http\%3A\%2F\%2F${URL}\%2F\&username=${L

OGIN}\%40${DOMINIO}\&password=${SENHA}|grep -i "salvar" >/dev/null

if [ "$?" = "0" ];then

echo "Erro de autenticação de Speedy! `date +"%T de %d/%m/%Y"`" >> $ARQLOG

exit 1

fi

echo "Conexão Ok !! `date +"%T de %d/%m/%Y"`" >> $ARQLOG

}

###########################################

# Função de teste do navegador

# verifica se o lynx está instalado

# se não estiver apt-get install lynx

###########################################

testaNav() {

# testa a presença do nevegador lynx

if ! [ -f "/usr/bin/lynx" ] ; then

# nevegador não intalado o script não funcionará

# portanto sair do script

exit 0;

fi

}

### PRINCIPAL ###

# Verifica se o computador de destino esta pedindo autenticacao

main() {

# verifica se o navegador esta disponivel lynx

testaNav

# reduz, se necessário, o tamanho do log

corrigeLOG

# testa a conexão

ping -c 1 $URL &>/dev/null

# se retornar qq coisa diferente de zero

if [ "$?" != "0" ];then

# conexão não respondeu, então verificar se é a pagina do speedyzone

lynx -dump "$URL" | grep -iEq "speedyzone"

# se a palavra speedyzone foi encontrada então estamos na pagina de login do speedy negocios

if [ "$?" = "0" ];then

# autorizar a conexão

speedy_auth

fi

else

# houve resposta positiva do ping então estamos conectados

echo "Conectado !!! `date +"%T de %d/%m/%Y"`" >> $ARQLOG

exit 1

fi

}

# Chamada da rotina principal

main

exit 0;

Fonte: Roberto L. Machado - http://www.Dicas-L.com.br/

08 agosto 2008

Tipo de roteamentos

Caros amigos leitores, conforme minhas publicação dos posts sobre roteamento Linux e Windows, estou descrevendo abaixo um complemeto sobre os tipo de roteamentos existentes.

Clique nos links abaixo, e acesse os post sobre roteamento:

Roteamento Linux < Clique Aqui>

Roteamento Windows <Clique Aqui>

Internet

A Internet é uma coleção de redes interconectadas, e os pontos de ligação são os roteadores. Estes, por sua vez, estão organizados de forma hierárquica, onde alguns roteadores são utilizados apenas para trocar dados entre grupos de redes controlados pela mesma autoridade administrativa; enquanto outros roteadores fazem também a comunicação entre as autoridades administrativas. A entidade que controla e administra um grupo de redes e roteadores chama se Sistema Autônomo [RFC 1930].

O Roteamento e Seus Componentes

O roteamento é a principal forma utilizada na Internet para a entrega de pacotes de dados entre hosts (equipamentos de rede de uma forma geral, incluindo computadores, roteadores etc.). O modelo de roteamento utilizado é o do salto-por-salto (hop-by-hop), onde cada roteador que recebe um pacote de dados abre-o, verifica o endereço de destino no cabeçalho IP, calcula o próximo salto que vai deixar o pacote um passo mais próximo de seu destino e entrega o pacote neste próximo salto. Este processo se repete e assim segue ate a entrega do pacote ao seu destinatário. No entanto, para que este funcione, são necessários dois elementos: tabelas de roteamento e protocolos de roteamento.

Tabelas de roteamento são registros de endereços de destino associados ao numero de saltos até ele, podendo conter varias outras informações.

Protocolos de roteamento determinam o conteúdo das tabelas de roteamento, ou seja, são eles que ditam a forma como a tabela e' montada e de quais informações ela e' composta. Existem dois tipos de algoritmo atualmente em uso pelos protocolos de roteamento: o algoritmo baseado em Vetor de Distancia (Distance-Vector Routing Protocols) e o algoritmo baseado no Estado de Enlace (Link State Routing Protocols).

Roteamento Interno

Os roteadores utilizados para trocar informações dentro de Sistemas Autônomos são chamados roteadores internos (interior routers) e podem utilizar uma variedade de protocolos de roteamento interno (Interior Gateway Protocols - IGPs). Dentre eles estão: RIP, IGRP, EIGRP, OSPF e Integrated IS-IS.

Roteamento Externo

Roteadores que trocam dados entre Sistemas Autônomos são chamados de roteadores externos (exterior routers), e estes utilizam o Exterior Gateway Protocol (EGP) ou o BGP (Border Gateway Protocol). Para este tipo de roteamento são considerados basicamente coleções de prefixos CIDR (Classless Inter Domain Routing) identificados pelo numero de um Sistema Autonomo.

Protocolos de Roteamento Interno (Interior Routing Protocols)

RIP (Routing Information Protocol)

O RIP foi desenvolvido pela Xerox Corporation no inicio dos anos 80 para ser utilizado nas redes Xerox Network Systems (XNS), e, hoje em dia, e' o protocolo intradominio mais comum, sendo suportado por praticamente todos os fabricantes de roteadores e disponível na grande maioria das versões mais atuais do sistema operacional UNIX.

Um de seus benefícios é a facilidade de configuração. Alem disso, seu algoritmo não necessita grande poder de computação e capacidade de memória em roteadores ou computadores.

O protocolo RIP funciona bem em pequenos ambientes, porem apresenta serias limitações quando utilizado em redes grandes. Ele limita o numero de saltos (hops) entre hosts a 15 (16 e' considerado infinito). Outra deficiência do RIP e' a lenta convergência, ou seja, leva relativamente muito tempo para que alterações na rede fiquem sendo conhecidas por todos os roteadores. Esta lentidão pode causar loops de roteamento, por causa da falta de sincronia nas informações dos roteadores.

O protocolo RIP e' também um grande consumidor de largura de banda, pois, a cada 30 segundos, ele faz um broadcast de sua tabela de roteamento, com informações sobre as redes e sub-redes que alcança.

Por fim, o RIP determina o melhor caminho entre dois pontos, levando em conta somente o numero de saltos (hops) entre eles. Esta técnica ignora outros fatores que fazem diferença nas linhas entre os dois pontos, como: velocidade, utilização das mesmas (trafego) e toda as outras métricas que podem fazer diferença na hora de se determinar o melhor caminho entre dois pontos. [RFC 1058]

IGRP (Interior Gateway Protocol)

O IGRP também foi criado no inicio dos anos 80 pela Cisco Systems Inc., detentora de sua patente. O IGRP resolveu grande parte dos problemas associados ao uso do RIP para roteamento interno.

O algoritmo utilizado pelo IGRP determina o melhor caminho entre dois pontos dentro de uma rede examinando a largura de banda e o atraso das redes entre roteadores. O IGRP converge mais rapidamente que o RIP, evitando loops de roteamento, e não tem a limitação de saltos entre roteadores.

Com estas características, o IGRP viabilizou a implementação de redes grandes, complexas e com diversas topologias.

EIGRP (Enhanced IGRP)

A Cisco aprimorou ainda mais o protocolo IGRP para suportar redes grandes, complexas e criticas, e criou o Enhanced IGRP.

O EIGRP combina protocolos de roteamento baseados em Vetor de Distancia (Distance-Vector Routing Protocols) com os mais recentes protocolos baseados no algoritmo de Estado de Enlace (Link-State). Ele também proporciona economia de trafego por limitar a troca de informações de roteamento àquelas que foram alteradas.

Uma desvantagem do EIGRP, assim como do IGRP, é que ambos são de propriedade da Cisco Systems, não sendo amplamente disponíveis fora dos equipamentos deste fabricante.

OSPF (Open Shortest Path First)

Foi desenvolvido pelo IETF (Internet Engineering Task Force) como substituto para o protocolo RIP. Caracteriza-se por ser um protocolo intra-domínio, hierárquico, baseado no algoritmo de Estado de Enlace (Link-State) e foi especificamente projetado para operar com redes grandes. Outras características do protocolo OSPF são:

  • A inclusão de roteamento por tipo de serviço (TOS - type of service routing). Por exemplo, um acesso FTP poderia ser feito por um link de satélite, enquanto que um acesso a terminal poderia evitar este link, que tem grande tempo de retardo, e ser feito através de um outro enlace;
  • O fornecimento de balanceamento de carga, que permite ao administrador especificar múltiplas rotas com o mesmo custo para um mesmo destino. O OSPF distribui o tráfego igualmente por todas as rotas;
  • O suporte a rotas para hosts, sub-redes e redes especificas;
  • A possibilidade de configuração de uma topologia virtual de rede, independente da topologia das conexões físicas. Por exemplo, um administrador pode configurar um link virtual entre dois roteadores mesmo que a conexão física entre eles passe através de uma outra rede;
  • A utilização de pequenos "hello packets" para verificar a operação dos links sem ter que transferir grandes tabelas. Em redes estáveis, as maiores atualizações ocorrem uma vez a cada 30 minutos.

O protocolo ainda especifica que todas os anúncios entre roteadores sejam autenticados (isto não quer dizer que necessariamente reflita a realidade das implementações). Permite mais de uma variedade de esquema de autenticação e que diferentes áreas de roteamento (ver abaixo) utilizem esquemas diferentes de autenticação;

Duas desvantagens deste protocolo são a sua complexidade, e maior necessidade por memória e poder computacional, característica inerente aos protocolos que usam o algoritmo de Estado de Enlace (Link-State).

O OSPF suporta, ainda, roteamento hierárquico de dois níveis dentro de um Sistema Autônomo, possibilitando a divisão do mesmo em áreas de roteamento. Uma área de roteamento é tipicamente uma coleção de uma ou mais sub-redes intimamente relacionadas. Todas as áreas de roteamento precisam estar conectadas ao backbone do Sistema Autônomo, no caso, a Área 0. Se o trafego precisar viajar entre duas áreas, os pacotes são primeiramente roteados para a Área 0 (o backbone). Isto pode não ser bom, uma vez que não há.

Roteamento inter-areas enquanto os pacotes não alcançam o backbone. Chegando a Área 0, os pacotes são roteados para a Área de Destino, que e' responsável pela entrega final. Esta hierarquia permite a consolidação dos endereços por área, reduzindo o tamanho das tabelas de roteamento. Redes pequenas, no entanto, podem operar utilizando uma única área OSPF. [RFC 1583]

Integrated IS-IS (Intermediate System to Intermediate System Routing Exchange Protocol)

O IS-IS [OSI 10589], assim como o OSPF, e' um protocolo intra-domínio, hierárquico e que utiliza o algoritmo de Estado de Enlace. Pode trabalhar sobre varias sub-redes, inclusive fazendo broadcasting para LANs, WANs e links ponto-a-ponto.

O Integrated IS-IS e' uma implementação do IS-IS que, alem dos protocolos OSI, atualmente também suporta o IP. Como outros protocolos integrados de roteamento, o IS-IS convoca todos os roteadores a utilizar um único algoritmo de roteamento.

Para rodar o Integrated IS-IS, os roteadores também precisam suportar protocolos como ARP, ICMP e End System-to-Intermediate System (ES-IS).

Protocolo de Roteamento Externo (Exterior Routing Protocol)

BGP (Border Gateway Protocol)

O BGP [RFCs 1771, 1772, 1773, 1774,1657] assim como o EGP, é um protocolo de roteamento interdominios, criado para uso nos roteadores principais da Internet.

O BGP foi projetado para evitar loops de roteamento em topologias arbitrarias, o mais serio problema de seu antecessor, o EGP (Exterior Gateway Protocol). Outro problema que o EGP não resolve - e e' abordado pelo BGP - e' o do Roteamento Baseado em Política (policy-based routing), um roteamento com base em um conjunto de regras não-técnicas, definidas pelos Sistemas Autônomos.

A ultima versão do BGP, o BGP4, foi projetado para suportar os problemas causados pelo grande crescimento da Internet.

fonte: Imaster Uol - http://imaster.uol.com.br

APRENDA A USAR O NMAP

O nmap é uma poderosa ferramenta para escanear computadores procurando por portas tcp ou udp abertas. Por exemplo, se você tem um servidor web funcionando em um computador, há grandes chances da porta tcp 80 estar aberta. Se você tem um servidor ftp funcionando em um computador, muito provavelmente a porta 21 estará aberta.

O nmap faz esta varredura para você. Dependendo das portas que você descobre que estão abertas, você pode deduzir o sistema operacional do computador. Caso as portas 135, 139 e 445 estejam abertas, provavelmente se trata de Windows. Se as portas abertas são 22, 111 ou 2049 se trata de um Unix.

Utilização:

O uso mais simples do nmap para escanear as portas tcp de um computador:

nmap 192.168.0.222

O resultado deste comando, caso o computador seja um Windows 2000, é:

Starting Nmap 4.53 ( http://insecure.org ) at 2008-05-03 10:05 GMT+3
Interesting ports on 192.168.0.222:
Not shown: 1711 closed ports
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
MAC Address: 08:00:27:02:DF:C7 (Cadmus Computer Systems)

Nmap done: 1 IP address (1 host up) scanned in 2.524 seconds




O resultado deste comando, caso o computador seja um Linux é:



Starting Nmap 4.53 ( http://insecure.org ) at 2008-05-03 10:06 GMT+3
Interesting ports on 192.168.0.222:
Not shown: 1711 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbind
2049/tcp open nfs

Nmap done: 1 IP address (1 host up) scanned in 0.135 seconds




Caso você queira escanear as portas UDP abertas, o comando deverá ser:



nmap 192.168.0.222 -sU



E o resultado será:





Starting Nmap 4.53 ( http://insecure.org ) at 2008-05-03 10:11 GMT+3
Interesting ports on 192.168.0.60:
Not shown: 1480 closed ports
PORT STATE SERVICE
137/udp open|filtered netbios-ns
138/udp open|filtered netbios-dgm
259/udp open|filtered firewall1-rdp
445/udp open|filtered microsoft-ds
500/udp open|filtered isakmp
1030/udp open|filtered iad1
1031/udp open|filtered iad2
4500/udp open|filtered sae-urn
MAC Address: 08:00:27:02:DF:C7 (Cadmus Computer Systems)

Nmap done: 1 IP address (1 host up) scanned in 3.817 seconds




Existem muitas outras opções disponíveis que podem ser exploradas, digitando-se nmap sem parâmetros.



Ficou interessado? Visite: nmap.org há versões para Linux, Windows, BSD e outros sistemas operacionais.



Visite aqui o blog de origem deste artigo!





fonte: Imasters Uol - http://imaster.uol.com.br