anúncios

domingo, 14 de outubro de 2012

Configurando endereço de rede no Linux

Esse post mostra como configurar endereço de rede nas distribuições Linux raízes: Slackware, Debian e CentOS/RHEL. Segue o exemplo de configuração abaixo de acordo com sua distro ou derivada da mesma conforme seu IP, máscara, gateway, hostname e DNS.

Slackware

Endereço IP
#vim /etc/rc.d/inet1.conf
IPADDR[0]="192.168.1.200"
NETMASK[0]="255.255.255.0"
USE_DHCP[0]="no"
GATEWAY="192.168.1.1"
Definindo o Hostname
#vim /etc/HOSTNAME
Saitam
Reiniciar a interface:
#/etc/rc.d/rc.inet1 restart

Debian

Endereço IP
#vim /etc/network/interfaces
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.200
netmask 255.255.255.0
gateway 192.168.1.1
Definindo o Hostname
#vim /etc/hostname
Saitam
Reiniciar a interface
#/etc/init.d/networking restart
#/etc/init.d/hostname.sh restart

CentOS/RHEL

Endereço IP
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.200
NETMASK=255.255.255.0
ONBOOT=yes
Hostname e Gateway
#vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=Saitam
GATEWAY=192.168.1.1
Reiniciar a interface
#/etc/init.d/network restart
Para finaliza falta definir o DNS primário e secundário para fazer a tradução de nomes de domínio para endereço IP. Nesse tutorial será o utilizado o DNS do Google, mas pode colocar qualquer outro DNS de sua preferência.
#vim /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
Para facilitar segue o script em shell: network-address.sh
Feito!

quarta-feira, 10 de outubro de 2012

Configurando IP fixo no Windows via CMD

Esse post mostra como configurar endereço IP fixo no Windows pelo CMD (terminal do Windows). Eu prefiro configurar o IP no Windows dessa forma, pois é mais prático e rápido.
Vamos lá então:
Iniciar>Executar>cmd
Meu caso de exemplo segue os passos abaixo e adaptando para seu endereço IP de sua rede local.
C:> netsh int ip set address name="Conexão Local" source=static 192.168.1.200 255.255.255.0 192.168.1.1 1
C:> netsh int ip set dns "Conexão Local" static 8.8.8.8
C:> netsh int ip set dns "Conexão Local" static 8.8.4.4 index=2
Onde:
IP: 192.168.1.200
Máscará: 255.255.255.0
Gateway: 192.168.1.1
DNS primário: 8.8.8.8
DNS secundário: 8.8.4.4
PS: Não esquecer do número 1 no final para indicar o gateway, isso marca o flag no Windows.
Atualizando
C:> ipconfig /release
C:> ipconfig /renew
Para facilitar, segue o script em batch
network-address.bat
set /P ip= "Endereço IP: "
set /P mask= "Máscara: "
set /P gw= "Gateway: "
set /P dns1= "DNS 1: "
set /P dns2=" DNS 2: "
netsh int ip set address name="Conexão Local" source=static %ip% %mask% %gw% 1
netsh int ip set dns "Conexão Local" static %dns1%
netsh int ip set dns "Conexão Local" static %dns2% index=2
echo "IP: " %ip%
echo "Mask: " %mask%
echo "Gw: " %gw%
echo "DNS1: " %dns1%
echo "DNS2: " %dns2%
network-address.bat
Feito!

domingo, 7 de outubro de 2012

Jasypt criptografia em Java

Jasypt é uma biblioteca Java que permite ao desenvolvedor adicionar recursos de criptografia básicas em seus projetos com o mínimo esforço, e sem a necessidade de ter um conhecimento profundo de como funciona a criptografia.
Como utilizar ?
Irei explicar de duas formas de utilização da biblioteca Jasypt, uma é modo manual sem uso de IDE Netbeans, e a outra usando a IDE Netbeans.
Primeiramente é necessário fazer o download do Jasypt em: http://sourceforge.net/projects/jasypt/files/jasypt/
Até data deste tutorial a versão atual é: jasypt-1.9.0, então utilizarei essa versão nos passos seguintes.
Utilizando sem uso de IDE Netbeans
1. Extraia o jasypt-1.9.0-dist.zip
2. Em seguida acesse o diretório que extraiu jasypt-1.9.0/lib
3. Copie o jasypt-1.9.0.jar para o diretório de sua preferência onde irá salvar o código de exemplo (ExemploCriptografia.java)
4. Extraia o jasypt-1.9.0.jar
5. Irá gerar o diretório org/jasypt/outros diretórios dentro que compõe essa biblioteca
6. Copie o código abaixo para o diretório de sua preferência.
Sugestão: criar um diretório cripto e dentro desse diretório deve conter org/jasypt.
Se baseia com o meu exemplo.
[reginaldo@Saitam:~/cripto] $ls
ExemploCriptografia.class ExemploCriptografia.java~ jasypt-1.9.0-dist.zip
ExemploCriptografia.java jasypt-1.9.0 org
ExemploCriptografia.java
*Usando biblioteca jasypt de criptografia/descriptografia em Java
*http://www.jasypt.org/*/
import org.jasypt.util.text.BasicTextEncryptor;
public class ExemploCriptografia {
public static void main(String[] args) {
String seuTexto = "Viva o Linux";
System.out.println("Texto sem criptografia: " + seuTexto);
//instanciamos a classe BasicTextEncryptor
BasicTextEncryptor bte = new BasicTextEncryptor();
//inserimos uma senha qualquer
bte.setPassword("A senha que voce quizer");
//criamos uma String que recebe a senha criptografada
String seuTextoCriptografado = bte.encrypt(seuTexto);
System.out.println("Seu texto criptografado = " + seuTextoCriptografado);
//criamos uma String que recebe a senha descriptografada
String seuTextoNovamenteDescriptografado = bte.decrypt(seuTextoCriptografado);
System.out.println("Texto descriptografado = " + seuTextoNovamenteDescriptografado);
}
}
ExemploCriptografia.java
7. Compile e execute
[reginaldo@Saitam:~/cripto] $javac ExemploCriptografia.java
[reginaldo@Saitam:~/cripto] $java ExemploCriptografia
Texto sem criptografia: Viva o Linux
Seu texto criptografado = 9eVWc8WZZDzT4Z61cp0ep8qnXtNpBY0R
Texto descriptografado = Viva o Linux
Agora utilizando o jasypt com IDE Netbeans
1. Crie o projeto com nome sugestivo criptografia
2. Copie o código acima adicionando apenas o package com o nome que definiu na criação do projeto.
3. Dentro do projeto clicar com botão direito do mouse em Add JAR/pasta e localize a biblioteca jasypt-1.9.0.jar para adicionar no projeto.
4. Compile o projeto (Shift+F6).

Para conhecer mais sobre a biblioteca Jasypt acesse em: Jasypt
Feito!

segunda-feira, 3 de setembro de 2012

Montando pendrive automaticamente no Linux

A security policy in place prevents this sender from sending this message to this recipient, see message bus configuration file (rejected message had interface “org.freedesktop.Hal.Device.Volume” member “Mount” error name “(unset)” destination "org.freedesktop.Hal")
Caso apareceu a mesma mensagem acima, após plugar o pendrive na porta USB, é porque seu usuário do sistema não esta no grupo plugdev para que o pendrive seja montado automaticamente, neste caso será necessário logar como root no terminal e fazer os passos abaixo para montar o pendrive manualmente:
#mkdir /mnt/pendrive/
#mount -t vfat /dev/sdb1/ /mnt/pendrive/
#cd /mnt/pendrive/
Para simplificar pode simplesmente incluir seu usuário no grupo plugdev
#gpasswd -a usuario plugdev
Pronto, o comando acima adicionará seu usuário no grupo plugdev e da próxima vez que for plugar seu pendrive irá montar automaticamente.
Feito!

domingo, 2 de setembro de 2012

Configurando APT e YUM com proxy

Se você tentou instalar pacotes com apt-get e yum, os gerenciadores de pacotes do Debian e do CentOS respectivamente, com servidor proxy, provavelmente teve erros ao instalar pacotes utilizando esses gerenciadores de pacotes.
Segue os passos abaixo para solucionar para Debian e CentOS.

DEBIAN

Os passos abaixo é aplicado no Debian e derivados.
Configurando o apt-get com servidor proxy sem autenticação (transparente)
No arquivo /etc/apt/apt.conf coloque o IP e a PORTA do servidor proxy.
No meu caso
#vim /etc/apt/apt.conf
Acquire{ HTTP::proxy "http://192.168.1.103:3128";
FTP::proxy "http://192.168.1.103:3128"; }
ESQ + :x (para salvar e sair do vim)
#vim .bash_profile
export http_proxy=http://IP-SERVIDOR-PROXY:PORTA
export http_proxy=http://IP-SERVIDOR-PROXY:PORTA
Atualize o sistema:
#apt-get update
Configurando o apt-get com servidor proxy com autenticação
No arquivo /etc/apt/apt.conf coloque o seu usuário/senha do proxy e o IP e a PORTA do servidor proxy.
#vim /etc/apt/apt.conf
Acquire{
HTTP::proxy "http://USUARIO:SENHA@192.168.1.103:3128";
FTP::proxy "http://USUARIO:SENHA@192.168.1.103:3128";
}
#vim .bash_profile
export http_proxy=http://USUARIO:SENHA@IP-SERVIDOR-PROXY:PORTA
export ftp_proxy= http://USUARIO:SENHA@IP-SERVIDOR-PROXY:PORTA
ESQ + :x (para salvar e sair do vim)
Atualize o sistema
#apt-get update

CENTOS

Como o CentOS é o clone gratuito do Red Hat Enterprise Linux (RHEL), então os passos abaixo pode ser aplicado também no RHEL e Fedora que é baseado no RHEL. Nos arquivos .bash_profile, /etc/wgetrc, e /etc/yum.conf coloque as informações abaixo correspondente do servidor proxy(transparente ou autenticado).
Configurando o yum com servidor proxy sem autenticação (transparente)
#vim .bash_profile
export http_proxy=http://IP-SERVIDOR-PROXY:PORTA
export http_proxy=http://IP-SERVIDOR-PROXY:PORTA
ESQ + :x (para salvar e sair do vim)
#vim /etc/wgetrc
http_proxy=http://IP-SERVIDOR-PROXY:PORTA
ftp_proxy=http://IP-SERVIDOR-PROXY:PORTA
ESQ + :x (para salvar e sair do vim)
e #vim /etc/yum.conf
proxy=http://IP-SERVIDOR-PROXY:PORTA
ESQ + :x (para salvar e sair do vim)
Configurando o yum com servidor proxy com autenticação
#vim .bash_profile
export http_proxy=http://USUARIO:SENHA@IP-SERVIDOR-PROXY:PORTA
export ftp_proxy= http://USUARIO:SENHA@IP-SERVIDOR-PROXY:PORTA
ESQ + :x (para salvar e sair do vim)
#vim /etc/wgetrc
http_proxy= http://USUARIO:SENHA@IP-SERVIDOR-PROXY:PORTA
ftp_proxy= http://USUARIO:SENHA@IP-SERVIDOR-PROXY:PORTA
ESQ + :x (para salvar e sair do vim)
e #vim /etc/yum.conf
proxy=http://USUARIO:SENHA@IP-SERVIDOR-PROXY:PORTA
ESQ + :x (para salvar e sair do vim)

Atualize o sistema
#yum update
Feito!

domingo, 26 de agosto de 2012

Formatando pendrive no Linux

No post aqui expliquei como renomear rótulo de pendrive no Linux, neste post irei explicar como formatar pendrive em FAT32 no Linux.
No terminal digite: $ df
O comando acima mostra todas as partições que foram montadas no sistema. Neste caso atente apenas na partição que foi montado o pendrive, que é o objetivo formatar em FAT32 o seu pendrive.
Identificando a partição do pendrive faça:
#mkdosfs -F 32 /dev/sdb1
/dev/sdb1 -> considerando aqui que o sdb1 é o pendrive, mas você deve verificar no seu computador em qual partição foi montado o pendrive. Tome bastante cuidado nessa etapa, pois um erro pode ser fatal no seu sistema.
Pronto, o pendrive foi formatado em FAT32.
Feito!

terça-feira, 21 de agosto de 2012

1 ano de blog

Gostaria de comunicar que o blog Mundo da Computação Integral completou 1 ano de existência hoje, dia 21 de Agosto de 2012.

Gostaria também de agradecer a todos pelo prestígio e a paciência de ler os posts que são publicados. Espero continuar compartilhando informações e conhecimentos no blog para nossos leitores.

Continuem prestigiando e divulgando o blog Mundo da Computação Integral, assim aumentamos nossa comunidade.

Reginaldo

sábado, 4 de agosto de 2012

Renomeando rótulo de pendrive no Linux

O primeiro passo a se fazer é descobrir qual o tipo de sistema de arquivos que o pendrive possui.
ALERTA: Se for do tipo FAT ou FAT32 (vfat), o que é mais provável, pode-se utilizar os procedimentos abaixo. Caso a partição seja ext3 ou ext4, creio que seja possível utilizar a ferramenta e2label.
Deve ser feito com o pendrive desmontado apenas, o dispositivo pode deixar plugado no USB.
O segundo passo é instalar o pacote mtools
Debian e derivados
#apt-get install mtools
No Slackware já vem instalado
Precisamos saber qual diretório de seu pendrive foi montando, no meu caso o diretório é o /dev/sdb1
Isso pode ser verificado da seguinte forma:
#grep vfat /proc/mounts
/dev/sdb1 /media/KINGSTON vfat rw,nosuid,nodev,relatime,uid=1000,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=winnt,errors=remount-ro 0 0
Agora vamos atribuir a letra P: como drive portátil USB editando o arquivo
#vim /etc/mtools.conf
acrescentando as linhas abaixo ao final:
#drive1 USB
drive p: file="/dev/sdb1"
mtools_skip_check=1
Agora podemos ver o rótulo atual do drive digitando:
mlabel -s p:
Volume label is KINGSTON
Deve aparecer o nome do rótulo padrão de fábrica
Vamos atribuir um novo rótulo:
No meu caso
mlabel p:REGINALDO
Volume label is REGINALDO
Feito!

domingo, 15 de julho de 2012

Personalizando o terminal bash do Linux

Este post é para quem tem curiosidade de customizar seu terminal Linux, então veremos as opções disponíveis no PS1, cabe depois escolher e aplicar no script em shell no seu local ($HOME/.bashrc e /root.bashrc).
$PS1 é o prompt de comando
$PS2 é solicitado quando um comando exige mais de uma linha
Algumas opções do PS1
\W: Exibe o nome do diretório (apenas o nome)
\w: Exibe o nome do diretório (caminho completo)
\d: Exibe a data
\s: Exibe o nome do shell
\h: Exibe o nome da máquina (hostname)
\u: Exibe o nome do usuário
\t: Exibe a hora
O meu script shell que uso é esse: .bashrc
#!/bin/bash
if [ $(id -u) -eq 0 ];
then # se for root
PS1="\\[$(tput setaf 1)\\][\\u@\\h:\\w] #\\[$(tput sgr0)\\]"
else # user normal
PS1="\\[$(tput setaf 8)\\][\\u@\\h:\\w] $"
fi




Feito!

domingo, 17 de junho de 2012

Convertendo .class para código Java

Se você tem ou já baixou algum arquivo.jar, e ao extrair percebeu que apenas tinha arquivos .class (bytecodes do Java). Então você estava pesquisando sobre como converter os .class para código Java até que encontrou nas suas pesquisas esse post nos resultados do Google, na qual apresento sobre JD-GUI.
JD-GUI é uma ferramenta que converte os .class para código fonte Java. Você terá acesso ao código fonte reconstruído com o JD-GUI para saber como foi implementado o arquivo.jar que você tem ou baixou em algum site na internet.
Não precisa extrair o arquivo.jar, pode ter apenas os arquivos .class* e abrir no JD-GUI, que irá converter .class* para código Java.
O JD-GUI tem versões nas plataformas Windows, Linux, MacOS.
Onde encontrar?
Acesse: JD-GUI e faça o download conforme sua plataforma.
Como usar ?
1. Acesse o diretório onde você salvou o JD-GUI
2. Abre o aplicativo jd-gui
3. File>Open File>[acesse o diretório onde salvou os arquivos .class* ou .jar]
4. Pronto, após abrir o arquivo .class* ou .jar já mostra o código correspondente do .class* ou .jar gerado pelo JD-GUI.
Veja o screenshot abaixo:

Feito!

segunda-feira, 14 de maio de 2012

Regras IPFW do Firewall para FreeBSD

Para quem não conhece o funcionamento de um firewall, então sugiro uma leitura em: Entendendo o funcionamento de um firewall
O IPFW é o firewall padrão do FreeBSD
Visualizar regras ipfw
Para visualizar as regras em uso pelo firewall basta utilizar o parâmetro show
Ex.:ipfw show
65000 27503703 16411153839 allow ip from any to any
65535 0 0 allow ip from any to any
Adicionar regras
Para adicionar um bloqueio de acesso a um determinado ip basta utilizar
ipfw add NUMERO_REGRA deny all from any to IP_DO_USUARIO
Remover regras
Para remover a regra utilize
ipfw delete NUMERO_REGRA
Para mais detalhes em Documentação FreeBSD
e Handbook FreeBSD Firewall IPFW
Configurando as interfaces e caminho do script firewal
#ee /etc/rc.conf
natd_enable="YES"
natd_interface="em0"
firewall_enable="YES"
firewall_type="/etc/rc.firewall"
Para o correto funcionamento do script abaixo segue: Configurando Gateway e serviço DHCP no FreeBSD

Script Firewall IPFW - FreeBSD
#!/bin/csh
#DECLARACAO DE VARIAVEIS
IFWAN="em0"
IFLAN="em1"
LAN="192.168.1.0/24"
#RESETA O FIREWALL
sleep 60
ipfw -f flush
ipfw add 20 allow ip from any to any
#Checa primeiro as regras dinâmicas ipfw add 1 check-state
# LOOPBACK
ipfw add 100 pass all from any to any via lo0
ipfw add 110 deny all from 127.0.0.0/8 to any
ipfw add 120 deny all from any to 127.0.0.0/8
#FINGERPRINT
ipfw add 130 deny tcp from any to any tcpflags fin,urg,psh in recv $IFLAN
ipfw add 140 deny tcp from any to any tcpflags fin,urg,psh in recv $IFWAN
ipfw add 150 deny tcp from any to any tcpflags
!fin,!syn,!ack,!urg,!psh,!rst in recv $IFLAN
ipfw add 160 deny tcp from any to any tcpflags
!fin,!syn,!ack,!urg,!psh,!rst in recv $IFWAN
ipfw add 170 deny tcp from any to any tcpflags syn,fin,rst,ack in recv $IFLAN
ipfw add 180 deny tcp from any to any tcpflags syn,fin,rst,ack in recv $IFWAN
ipfw add 190 deny tcp from any to any tcpflags fin,!syn,!rst,!ack in recv $IFLAN
ipfw add 200 deny tcp from any to any tcpflags fin,!syn,!rst,!ack in recv $IFWAN
ipfw add 210 deny tcp from any to any tcpflags syn,fin,!rst,!ack in recv $IFLAN
ipfw add 220 deny tcp from any to any tcpflags syn,fin,!rst,!ack in recv $IFWAN
ipfw add 230 deny tcp from any to any tcpflags urg,!syn,!fin,!rst,!ack in recv $IFLAN
ipfw add 240 deny tcp from any to any tcpflags urg,!syn,!fin,!rst,!ack in recv $IFWAN
# BLOQUEIO PARA PORTAS P2P
# ipfw add 250 deny tcp from any 4661-4672,6881-6889,1214,1455,5662,6346,6347,6699,6257,2234,2235,5555,4242,2323 to any in
ipfw add 260 deny udp from any 4661-4672,6881-6889,1214,1455,5662,6346,6347,6699,6257,2234,2235,5555,4242,2323 to any in
ipfw add 270 deny tcp from any to any 4661-4672,6881-6889,1214,1455,5662,6346,6347,6699,6 257,2234,2235,5555,4242,2323 in
ipfw add 280 deny udp from any to any 4661-4672,6881-6889,1214,1455,5662,6346,6347,6699,6 257,2234,2235,5555,4242,2323 in
ipfw add 290 deny tcp from any 8000-8050,1755,554 to any
# VIRUS & WORM ipfw add 300 deny tcp from any to any 135-139,445,593,1024-1030,1080,1363,27665,31335,345 55 in via any
ipfw add 310 deny tcp from any to any 1364,1368,1377,1433,1434,2745,2283,2535,35555,27444 in via any
ipfw add 320 deny tcp from any to any 2745,3127,3128,3410,4444,5554,27374,666,4000,6000,6 006 in via any
ipfw add 330 deny tcp from any to any 8866,9898,10000,10080,12345,17300,65506,16660 in via any
ipfw add 340 deny udp from any to any 135-139,445,4444 in via any
# NATD PARA REDE INTERNA #Não precisa pois no rc.conf esta sendo feito
ipfw add 350 divert 8668 all from any to any via $IFWAN
# CONECTIVIDADE SOCIAL
ipfw add 355 allow tcp from $LAN 1024-65535 to 200.198.194.27 80
ipfw add 356 allow tcp from $LAN 1024-65535 to 200.198.194.19 80
ipfw add 357 allow tcp from $LAN 1024-65535 to 200.201.174.0/24 80
#REDIRECT PARA O SQUID #
ipfw add 360 fwd 127.0.0.1,3128 tcp from $LAN to any 80 via $IFLAN keep-state
#Bloqueia tudo que vem da WAN
ipfw add 380 deny tcp from any to $LAN in via $IFWAN
ipfw add 380 deny udp from any to $LAN in via $IFWAN
#Libera acesso a saida de determinadas portas
#SSH
ipfw add 390 allow tcp from $LAN to any 22 in via $IFLAN keep-state
#CONTROLE DE BANDA
ipfw pipe 600 config bw 160kbit/s
ipfw add 601 pipe 600 all from any to $LAN in via $IFWAN
ipfw add 602 pipe 600 tcp from any to me in via $IFLAN
Feito!

quinta-feira, 10 de maio de 2012

Entendendo o funcionamento de um firewall e regras IPtables

Introdução

O Firewall tem o objetivo proteger o servidor e a rede local contra acessos indesejados, tráfego indesejado, proteger serviços que estejam rodando no servidor e bloquear a passagem de coisas que você não deseja receber (como conexões vindas da Internet para sua rede local, evitando acesso aos dados corporativos de uma empresa ou a seus dados pessoais). A implementação de um bom firewall dependerá da experiência, conhecimentos de redes (protocolos, roteamento, interfaces, endereçamento, masquerade, etc), da rede local, e sistema em geral do Administrador de redes, a segurança de sua rede e seus dados dependem da escolha do profissional correto, que entenda a fundo o TCP/IP, roteamento, protocolos, serviços e outros assuntos ligados a rede. No kernel do Linux 2.4, foi introduzido o programa IPtables (também chamado de Netfilter) que substitui o ipchains dos kernels da série 2.2. Este novo programa tem como vantagem ser muito estável (assim como o ipchains e ipfwadm), confiável, permite muita flexibilidade na programação de regras pelo administrador do sistema, mais opções disponíveis ao administrador para controle de tráfego, controle independente do tráfego da rede local/entre redes/interfaces devido a nova organização das etapas de roteamento de pacotes.

O IPtables é um firewall em nível de pacotes e funciona baseado no endereço/porta de origem/destino do pacote, prioridade, etc. Ele funciona através da comparação de regras para saber se um pacote tem ou não permissão para passar. Em firewalls mais restritivos, o pacote é bloqueado e registrado para que o administrador do sistema tenha conhecimento sobre o que está acontecendo em seu servidor. Também pode ser usado para modificar e monitorar o tráfego da rede, fazer NAT (masquerading, source nat, destination nat), redirecionamento de pacotes, marcação de pacotes, modificar a prioridade de pacotes que chegam/saem do seu servidor, contagem de bytes, dividir tráfego entre máquinas, criar proteções anti-spoofing, contra syn flood, DoS, etc. O tráfego vindo de máquinas desconhecidas da rede pode também ser bloqueado/registrado através do uso de simples regras. As possibilidades oferecidas pelos recursos de filtragem iptables como todas as ferramentas UNIX maduras dependem de sua imaginação, pois ele garante uma grande flexibilidade na manipulação das regras de acesso ao sistema, precisando apenas conhecer quais interfaces o sistema possui, o que deseja bloquear, o que tem acesso garantido, quais serviços devem estar acessíveis para cada rede, e iniciar a construção de seu firewall.

Um firewall não funciona de forma automática (instalando e esperar que ele faça as coisas por você), é necessário pelo menos conhecimentos básicos de rede TCP/IP, roteamento e portas para criar as regras que farão a segurança de seu servidor. A segurança do servidor depende do controle das regras que serão criadas por você, as falhas humanas são garantia de mais de 95% de sucesso nas invasões.

Enfim o IPtables é um firewall que agradará tanto a pessoas que desejam uma segurança básica em sua rede, quanto administradores de sistemas/redes que querem ter um controle minucioso sobre o tráfego que passam entre suas interfaces de rede (controlando tudo o que pode passar de uma rede a outra), controlar o uso de tráfego, monitoração, etc.


Características do Netfilter/Iptables
Segue abaixo algumas características do Firewall Netfilter/IPtables
  • Especificação de portas/endereço de origem/destino
  • Suporte a protocolos TCP/UDP/ICMP (incluindo tipos de mensagens icmp)
  • Suporte a interfaces de origem/destino de pacotes
  • Manipula serviços de proxy na rede
  • Tratamento de tráfego dividido em chains para melhor controle do tráfego que entra/sai da máquina e tráfego redirecionado.
  • Permite um número ilimitado de regras por chain
  • Muito rápido, estável e seguro
  • Possui mecanismos internos para rejeitar automaticamente pacotes duvidosos ou mal formados.
  • Suporte a módulos externos para expansão das funcionalidades padrões oferecidas pelo código de firewall
  • Suporte completo a roteamento de pacotes, tratadas em uma área diferente de tráfegos padrões.
  • Suporte a especificação de tipo de serviço para priorizar o tráfego de determinados tipos de pacotes.
  • Permite especificar exceções para as regras ou parte das regras
  • Suporte a detecção de fragmentos
  • Permite enviar alertas personalizados ao syslog sobre o tráfego aceito/bloqueado.
  • Redirecionamento de portas
  • Masquerading
  • Suporte a SNAT (modificação do endereço de origem das máquinas para um único IP ou faixa de IP's).
  • Suporte a DNAT (modificação do endereço de destino das máquinas para um único IP ou fixa de IP's)
  • Contagem de pacotes que atravessaram uma interface/regra
  • Limitação de passagem de pacotes/conferência de regra (muito útil para criar proteções contra, syn flood, ping flood, DoS, etc).

Ficha técnica
Pacote: IPtables
  • iptables - Sistema de controle principal para protocolos ipv4
  • ip6tables - Sistema de controle principal para protocolos ipv6
  • iptables-save - Salva as regras atuais em um arquivo especificado como argumento. Este utilitário pode ser dispensado por um shell script contendo as regras executado na inicialização da máquina.
  • iptables-restore - Restaura regras salvas pelo utilitário iptables-save.

Entendendo as regras do IPtables
Agora iremos entender a estrutura das regras iptables:
Tabela FILTER
É a tabela responsável pelos filtros dos pacotes. Ela se divide em 3 chains padrão.
INPUT
A chain INPUT é responsável por filtrar todo o tráfego que entra no firewall.
FORWARD
A chain FORWARD é responsável por filtrar todo o tráfego que passará pelo firewall, ou seja, todos os pacotes onde o NAT será aplicado.
OUTPUT
A chain OUTPUT é responsável por filtrar todo o tráfego que sairá pelo firewall.
Tabela NAT
É a tabela responsável pelo redirecionamento de pacotes. Ela também se divide em 3 chains.
PREROUTING
A chain PREROUTING é utilizada para alterar pacotes antes que os mesmos sejam roteados.
POSTROUTING A chain POSTROUTING é utilizada pala alterar pacotes que já sofreram roteamento.
Tabela MANGLE
É a tabela responsável pela alteração de prioridade na entrada e saída de pacotes, baseando-se no tipo de serviço (TOS). É dividida em 2 chains.
Comandos e ações
Comandos
-I
Insere uma regra no início da lista.
-A
Adiciona uma regra no fim da lista.
-D
Apaga uma regra da lista.
-L
Lista as regras da lista.
-P
Altera a política padrão das Chains.
-F
Remove todas as regras da lista.
-R
Substitui uma regra da lista por outra.
-N
Cria uma nova chain na tabela especificada.
-E
Renomeia uma chain que foi criada com o comando -N.
-X
Apaga uma chain criada com o comando -N.
Ações
-p
Especifica o protocolo ao qual a regra se aplicará. Também podemos utilizar o valor numérico que referencia o protocolo em /etc/protocol. Ex: -p gre ; -p 47
-i
Especifica a interface de entrada utilizada pela regra. Pode ser utilizada apenas com as chains INPUT e FORWARD. EX: -i eth0 ou -i eth+ para especificar todas as entradas.
-o
Especifica a interface de saída utilizada pela regra. Pode ser utilizada apenas com as chains FORWARD e OUTPUT. EX: -o eth0
-s
Especifica o endereço ou a rede de origem utilizada pela regra. Se não especificarmos a máscara de rede, o iptables utiliza a máscara padrão da classe C 255.255.255.0. Também podemos utilizar nomes DNS. Ex: -s 192.168.1.2; -s 192.168.1.0/255.255.255.0 domínio: exemplo.com.br
-d
Especifica o endereço ou a rede de destino utilizado pela regra. Se utiliza da mesma maneira que a ação -s.
!
Utilizado para especificar exceções. Ex: -s ! 192.168.1.6 # A regra se aplicaria a todos os ips que tivessem origem diferente de 192.168.1.6
-j
Utilizado para aplicar um alvo a regra, os mesmos podem ser ACCEPT, DROP, REJECT e LOG. Ex: -j ACCEPT
--sport
Especifica a porta de origem utilizada. Só podemos aplicar a ação quando estivermos tratando dos protocolos tcp e udp. Ex: -p tcp --sport 25
--dport
Especifica a porta de destino utilizada. Funciona da mesma forma que a ação --sport. Ex: -p tcp --dport 25.
Alvos e módulos
Alvos
Quando temos um pacote que combinou com todas as opções da regra, necessitamos especificar um destino para o mesmo, como vimos anteriormente podemos especificar os seguintes alvos / destinos:
ACCEPT
Aceita a entrada ou passagem do pacote.
DROP
Descarta o pacote.

REJECT
Descarta o pacote, porém diferente de DROP, ele retorna uma mensagem ao emissor informando o que houve com o pacote.
LOG
Gera um log no sistema.
RETURN
Retorna o processamento da chain anterior.
QUEUE
Encarrega um programa de administrar o fluxo atribuído ao mesmo.
SNAT
Altera o endereço de origem do pacote.
DNAT
Altera o endereço de destino do pacote.
REDIRECT
Redireciona a porta do pacote juntamente com a opção --to-port.
TOS
Prioriza a entrada e saída de pacotes baseado em seu tipo de serviço.
Podemos especificar em TOS os seguintes valores:
16 ou 0x10 Espera mínima
8 ou 0x08 Máximo processamento
4 ou 0x04 Máxima confiança
2 ou 0x02 Custo mínimo
0 ou 0x00 Prioridade normal
Módulos
A utilização de módulos junto com o iptables é definida através da opção -m. Podemos utilizar os seguintes módulos:
limit Impõe um limite de vezes que a regra poderá ser executada.
state Utiliza o estado da conexão, que pode ser NEW, ESTABLISHED, RELATED, INVALID.
mac Permite a utilização do endereço mac nas regras.
multiport Permite a utilização de até 15 portas em uma única regra em conjunto com o --dport. string Verifica o conteúdo do pacote para aplicar a regra.
owner Verifica o usuário que criou o pacote.

Considerações finais
Para finalizar, temos que esclarecer algumas coisas sobre firewall do sistema GNU/Linux, que na realidade se chama Netfilter, e o IPtables são comandos interpretados pelo Netfilter no Kernel, por default já vem habilitado na maioria das distros.
Script Firewall com regras IPtables
rc.firewall.sh
Feito!

quarta-feira, 9 de maio de 2012

Acessando servidor via SSH no Firefox

Sim, com um add-ons desenvolvido pelo Mime Cuvalo, você pode acessar servidores Linux direto do navegador Firefox, a partir da versão 4.
O FireSSH foi escrito integralmente em JavaScript. Se quiser acompanhar os releases em: Add-ons.
Como adicionar add-ons no Firefox e usar?
Acesse: FireSSH
Depois de adicionado no navegador, basta digitar no browser: ssh://ip-servidor:porta
Após colocar o endereço IP ou nome de domínio do servidor, irá aparecer uma tela solicitando usuário e senha para autenticação.
Veja os screenshoot abaixo:
Acessando e tela de autenticação

Logado no servidor via SSH no Firefox
Feito!

sexta-feira, 30 de março de 2012

Atalho para copiar, recortar e colar texto no editor vi/vim

No editor de texto vi/vim aberto faça:
Tecle ESC.
a)Posicione o cursor no início do texto que quer recortar ou copiar
b)Tecle v minúsculo.
c)Usando as teclas de direção, marque o texto a ser recortado.
d)Tecle d minúsculo.
e)Posicione o cursor no ponto onde deseja colar o texto.
f)Tecle p minúsculo.

Para copiar em vez de recortar, utiliza o "y" no lugar do "d".

Feito!

sábado, 17 de março de 2012

Instalando e Configurando Apache,MySQL,Postgresql,Firebird, e habilitar suporte no PHP

Objetivo deste howto é apresentar os passos para instalar e configurar o servidor Web Apache, SGBD MySQL, Postgresql, Firebird e habilitar suporte no PHP.

Salvar em /usr/local/src para a padronização deste howto.
Instalação Apache
httpd-2.2.22

$cd /usr/local/src
$tar -xzvf httpd-2.0.49.tar.gz
$cd httpd-2.0.49
$./configure --prefix=/etc/httpd
$make
$su
#make install


Instalação Firebird
FirebirdCS.2.5.1.26351-0.i686

$tar -xzvf FirebirdCS-2.5.1.26351-0.i686.tar.gz
$cd FirebirdCS-2.5.1.26351-0.i686
#./install.sh

Será instalado em /opt/firebird

Instalação Postgresql
postgresql-9.1.3

$cd /usr/local/src
$tar -xzvf postgresql-9.1.3.tar.gz
$cd postgresql-9.1.3
$./configure
$make
$su
#make install

PostgreSQL instalado, vamos às primeiras configurações:
Configurando Postgresql

#useradd postgres
#passwd postgres
#mkdir /usr/local/pgsql/data
#chown postgres /usr/local/pgsql/data
#su - postgres

Usuário e pasta do servidor criados, vamos inicializar pela primeira vez o servidor:

#/usr/local/pgsql/bin/initdb - D /usr/local/pgsql/data


Agora devemos configurar mais alguns detalhes. No arquivo /etc/profile, adicione as seguintes linhas:

PATH=$PATH:/usr/local/pgsql/bin
MANPATH=$MANPATH:/usr/local/pgsql/man
export PATH MANPATH


Agora:

#cd /usr/local/src/postgresql-9.1.3/contrib/start-scripts/
#cp linux /etc/rc.d/rc.postgresql
#chmod a+x /etc/rc.d/rc.postgresql

Finalmente, edite o arquivo /usr/local/pgsql/data/postgresql.conf e altere o parâmetro tcpip_socket para TRUE:
por
tcpip_socket = true

PostgreSQL pronto!

Para inicializá-lo, execute:

#/etc/rc.d/rc.postgresql start

Instalação MySQL
pacote MySQL pronto para Slackware
mysql-5.1.46

$cd /usr/local/src
#installpkg mysql-5.1.46-i486-2.txz

Se preferir compilar o source do MySQL
MySQL-5.5-21.1-Linux-2.6.i386

$cd /usr/local/src
$tar -xzvf MySQL-5.5.21-1.linux2.6.i386.tar.gz
$cd MySQL-5.5.21-1.linux2.6.i386
$./configure --prefix=/usr/local/mysql
$make
#make install

Após terminar isso, edite o arquivo /etc/ld.so.conf e insira a seguinte linha:/usr/local/mysql/lib/mysql

E depois execute o comando: #ldconfig

Após instalar o MySQL, siga os passos abaixo para configurá-lo.
Configurando MySQL
Para instalar a base de dados digite:

#mysql_install_db

É necessário mudar as permissões do diretório inicial e assim o sock será gerado
#chown -R mysql.mysql /var/lib/mysql
Para iniciar o MySQL:
#mysqld_safe & (somente 1x)

Para definir a senha de root/administrador dos bancos de dados:

#mysqladmin -u root password [escolha uma senha]

Logando no MySQL:

#mysql -u root -p

PHPMyAdmin
phpMyAdmin

$cd /usr/local/src
$unzip phpMyAdmin-3.4.10.1-all-languages.zip
#mv phpMyAdmin-3.4.10.1-all-languages phpMyAdmin
#mv phpMyAdmin-3.4.10.1-all /var/www/htdocs/

http://localhost/phpMyAdmin

Instalação PHP
php-5.4.0

$cd /usr/local/src
$tar -xzvf php-5.4.0.tar.gz
$cd php-5.4.0
$./configure --with-apxs2=/usr/sbin/apxs \
--prefix=/usr \
--libdir=/usr/lib \
--with-libdir=lib \
--sysconfdir=/etc \
--disable-safe-mode \
--disable-magic-quotes \
--enable-zend-multibyte \
--enable-mbregex \
--enable-tokenizer=shared \
--with-config-file-scan-dir=/etc/php \
--with-config-file-path=/etc/httpd \
--enable-mod_charset \
--with-layout=PHP \
--enable-sigchild \
--enable-xml \
--with-libxml-dir=/usr \
--enable-simplexml \
--enable-spl \
--enable-filter \
--disable-debug \
--with-openssl=shared \
--with-pcre-regex=/usr \
--with-zlib=shared,/usr \
--enable-bcmath=shared \
--with-bz2=shared,/usr \
--enable-calendar=shared \
--enable-ctype=shared \
--with-curl=shared \
--with-curlwrappers \
--with-mcrypt=/usr \
--enable-dba=shared \
--with-gdbm=/usr \
--with-db4=/usr \
--enable-dbase=shared \
--enable-exif=shared \
--enable-ftp=shared \
--with-gd=shared \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--with-zlib-dir=/usr \
--with-xpm-dir=/usr \
--with-freetype-dir=/usr \
--with-t1lib=/usr \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext=shared,/usr \
--with-gmp=shared,/usr \
--with-iconv=shared \
--with-imap-ssl=/usr \
--with-imap=/usr/local/lib/c-client \
--with-ldap=shared \
--enable-mbstring=shared \
--enable-hash \
--with-mhash=shared,/usr \
--with-mysql=shared,/usr \
--with-mysqli=shared,/usr/bin/mysql_config \
--enable-pdo=shared \
--with-pdo-mysql=shared,/usr \
--with-pdo-sqlite=shared,/usr \
--with-pspell=shared,/usr \
--with-mm=/usr \
--enable-shmop=shared \
--with-snmp=shared,/usr \
--enable-soap=shared \
--enable-sockets \
--with-sqlite=shared \
--enable-sqlite-utf8 \
--with-regex=php \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx=shared \
--with-xsl=shared,/usr \
--enable-zip=shared \
--with-tsrm-pthreads \
--enable-shared=yes \
--enable-static=no \
--with-gnu-ld \
--with-pic \
--with-interbase=/opt/firebird
--with-pgsql=/usr/local/pgsql

$make
$su
#make install
#cp /usr/local/src/php-5.4.0/php.ini-dist /etc/httpd/php.ini


Configurando o Apache e PHP
No arquivo /etc/httpd/httpd.conf procure a linha abaixo e descomente(retire o # da frente da linha) para habilitar o suporte a php:
substituir
#Include /etc/httpd/mod_php.conf por Include /etc/httpd/mod_php.conf
E na tag < IfModule dir_module > acrescente na frente index.php junto com index.html

No arquivo /etc/httpd/php.ini procure em display_errors, log_erros, display_startup_erros esta como off, altere para on
E descomente (retire o ; da frente da linha) para habilitar suporte ao respectivos SGBD no PHP.
;extensions=php_interbase.so
;extensions=pgsql.so

Feito!

sábado, 10 de março de 2012

Utilizando o repositório SlackBuilds

Hoje resolvi explicar para os iniciantes na distro Slackware como instalar pacotes usando Slackbuilds.
Segue os passos:
1. Acessar o site http://slackbuilds.org/
2. No campo pesquisa digite o nome do pacote e seleciona a versão do Slackware que esta usando.
3. Encontrando o pacote irá redirecionar para página para fazer o download de dois arquivos que são necessários.
Um é o pacote e o outro script Slackbuild
4. Verifique as dependências do pacote em "This requires nomedopacote"
5. Se o pacote que for instalar tiver dependência, então é necessário retornar os passos anteriores.
6. Na página de resultado do pacote que buscou, repare "Source Download" com link e "Download SlackBuild" com link. Baixe esses dois arquivos compactados
7. Extraia o arquivo.tar.gz (referente ao Download SlackwBuild)
$tar -xzvf arquivo.tar.gz
8. Move o arquivo.tar.bz2 (referente ao Source Download) para o diretório que extraiu o item anterior.
9. Acesse o diretório do SlackBuild. Repare que, nesse diretório deve estar o script slackbuild e o arquivo compactado que foi copiado no item anterior
10. Seta permissão no script pacote.SlackBuild (#chmod +x pacote.SlackBuild) e execute (#./pacote.SlackBuild).
11. Aguarde...
O script slackbuild extrai o pacote compactado, executa ./configure, make, gera o pacote.tgz (formato padrão do Slackware), e irá mover para /tmp/
12. Finalizado a execução do script do item anterior. Faça #installpkg /tmp/pacote.x-xx.tgz
13. Se o pacote que for instalar tiver dependência, então é necessário retornar os passos anteriores.

OBS: O método SlackBuilds NÃO resolve dependências, então se a instalação do aplicativo não puder se concluir de forma correta, basta olhar atentamente a mensagem de erro que aparecer (é sempre ao final, pois uma vez detectado erro de dependência, a instalação para justamente naquele ponto; então o que se deve fazer é baixar o pacote que falta, e começar a instalação tudo de novo, até que se possa verificar o correto funcionamento do aplicativo).

Feito!

domingo, 4 de março de 2012

Instalando placa de vídeo NVIDIA GEFORCE no Linux

Segue os passos:
1. Acesse o site:http://www.nvidia.com.br/page/home.html clique no menu BAIXAR DRIVERS
Manualmente localizar drivers para meus produtos NVIDIA.
Tipo do produto: selecione o tipo de sua placa NVIDIA
Série do produto: selecione a série conforme o seu modelo
Sistema operacional: selecione Linux 32-bit ou Linux 64-bit
Idioma: selecione o idioma de sua preferência

2. Clique em procurar, irá redirecionar para a página contendo as informações selecionadas, se estiver correto, clique em baixar, irá redirecionar para a página de concordância da licença do drive da NVIDIA, clique em aceitar e baixar, salve o arquivo NVIDIA-Linux-x86-xxx.x.x-pkg1.run, em algum lugar no seu /home/$USER, x seria a versão da placa.
3. Após terminar o download do drive da NVIDIA, edite o arquivo /etc/inittab para fazer o boot do sistema em modo texto e poder instalar o drive da placa de vídeo corretamente sem problemas em # Default runlevel. (Do not set to 0 or 6)
Na distribuição Linux Slackware é init3
id:4:initdefault: altere para id:3:initdefault: salve e reinicie o sistema, irá iniciar em modo texto, logue como seu usuário comum, navegue até o diretório onde foi salvo o drive, encontrando, logue como root e execute
4. #sh NVIDIA-Linux-x86-xxx.x.x-pkg1.run, onde x seria a versão do drive NVIDIA. Tecle [ENTER]
5. yes e quando chegar nessa tela No precompiled kernel interface was found to match your kernel; would you like installer to attempt to download a kernel interface for your from the NVIDIA ftp site (ftp://download.nvidia.com)? escolhe no Daí em diante, basta teclar [ENTER] até o fim.
6. Execute o comando: #nvidia-xconfig --composite para configurar o Xorg. Pronto drive instalado.

Agora reinicie o sistema e perceba o logo da NVIDIA, se aparecer significa que foi instalado com Sucesso!
Teste
$glxinfo | grep rendering
direct rendering: Yes


OBS: Lembrando que o boot esta em modo texto, se quiser que o sistema inicie em modo gráfico, edite o arquivo /etc/inittab e faça o processo inverso, que fez anteriormente id:3 para id:4, salve e reinicie o sistema!

Feito!

Atalhos rápidos e comandos do Windows

Lista com vários atalhos para facilitar seus trabalhos em casa ou no trabalho em ambiente Windows.

1 – Atalhos rápido para os itens do desktop
Clique com o botão direito do mouse sobre a barra de tarefas do Windows (a barra onde fica o botão Iniciar).
Em seguida, selecione a opção Barra de Ferramentas e clique no item Área de trabalho.
Ao lado do relógio do Windows, aparecerá um botão chamado Desktop.
Na seta desde botão, há atalhos para todos os itens que estão na Área de trabalho do Windows.
Esse é um recurso interessante para quem trabalha com muitas janelas abertas.

2 – Comando do menu Executar do Windows XP

Abaixo estão listados os principais arquivos executáveis presentes no Windows e suas respectivas funções:
Para executar os.programas, clique em Inicar > Executar, digite o nome do arquivo e clique em OK

Nome dos Arquivos e sua Função

Accwiz.exe – Acessa o Assistente de Acessibilidade
Calc.exe – Executa o programa Calculadora
Charmap.exe – Executa o Mapa de Caracteres
ChkDsk.exe – Executa o Scandisk em ambiente simulado DOS
CleanMgr.exe – Executa a Limpeza de Disco
CliconFg.exe – Executa o utilidade Rede para clientes do SQL Server
CMD.exe – Executa o Prompt de Comando do DOS
Control.exe – Acessa o Painel de Controle
DxDiag.exe – Ferramenta de Diagnóstico do Direct X
EudCedit.exe – Executa Editor de caracteres especiais
Explorer.exe – Acessa o Windows Explorer
Magnify.exe – Executa a Lente de aumento do Windows XP
MSconfig.exe – Utilitário de configuração do Sistema
MsHearts.exe – Executa o Jogo de Copas
Mspaint.exe – Executa o Paint Brush
Mstsc.exe – Abre a janela para conexão de área de trabalho Remota
NetSetup.exe – Executa o Assistente para configuração de rede doméstica
Notepad.exe – Acessa o Bloco de Notas
Ntbackup.exe – Assistente para Backup e restauração
Osk.exe – Executa o teclado Virtual
PergMon.exe – Gerenciador de Desempenho do Windows XP
Regedit.exe – Acessa o ambiente de exploração do registro do Windows
Rstrui.exe – Executa o Assistente para restauração do Sistema
Sol.exe – Executa o Jogo Paciência
Spider.exe – Executa o Jogo Spider
TaskMgr.exe – Gerenciador de Tarefas do Windows
Telnet.exe – Acessa o ambiente DOS possibilitando a comunicação Remota
Winchat.exe – Bate Papo do WindowsWrite.exe – Wordpad do Windows

Ferramentas Administrativas

comexp.msc – Serviços de Componentes
compmgmt.msc – Gerenciamento do Computador
eventvwr.msc – Visualizar Evento
gpedit.msc – Diretivas de Grupos
odbcad32.exe – Fontes de Dados (ODBC)
perfmon.msc – Serviço de componentes
secpol.msc – Diretiva de Segunça Local
services.msc – Serviços

3 – Atalhos de teclados gerais

ALT+a letra grifada em um nome de menu (Exibir o menu correspondente)
ALT+ENTER (Exibir as propriedades do objeto selecionado)
ALT+ENTER (Exibir as propriedades para o item selecionado)
ALT+ESC (Circular através de itens na ordem em que eles foram abertos)
ALT+F4 (Fechar o item ativo, ou encerrar o programa ativo)
ALT+SPACEBAR (Abrir o menu de atalho da janela ativa)
ALT+SPACEBAR (Exibir o menu de Sistema da janela ativa)
ALT+TAB (Alternar entre itens abertos)
BACKSPACE (Exibir a pasta em um nível acima em Meu Computador ou no Windows Explorer)
CTRL enquanto arrasta um item (Copiar o item selecionado)
CTRL+A (Selecionar tudo)
CTRL+C (Copiar)
CTRL+ESC (Exibir o menu Iniciar)
CTRL+F4 (Fechar o documento ativo em programas que permitem que você tenha vários documentos abertos simultaneamente)
CTRL+RIGHT ARROW (Mover o ponto de inserção para o início da palavra anterior)
CTRL+RIGHT ARROW (Mover o ponto de inserção para o início da próxima palavra)
CTRL+RIGHT ARROW (Mover o ponto de inserção para o início do parágrafo anterior)
CTRL+RIGHT ARROW (Mover o ponto de inserção para o início do próximo parágrafo)
CTRL+SHIFT com qualquer tecla de seta (Destacar um bloco de texto)
CTRL+SHIFT enquanto arrasta um item (Criar um atalho para o item selecionado)
CTRL+V (Colar)
CTRL+X (Cortar)
CTRL+Z (Desfazer)
DELETE (Excluir)
ESC (Cancelar a tarefa atual)
LEFT ARROW (Abrir o próximo menu da esquerda, ou fechar um submenu)
RIGHT ARROW (Abrir o próximo menu da direita, ou abrir um submenu)
SHIFT com qualquer tecla de seta (Selecionar mais de um item em uma janela ou no desktop, ou selecionar o texto em um documento)
SHIFT quando você insere um CD-ROM na unidade de CD-ROM (Impedir que o CD-ROM execute automaticamente)
SHIFT+DELETE (Excluir o item selecionado permanentemente sem colocá-lo naLixeira)
SHIFT+F10 (Exibir o menu de atalho do item selecionado)
Tecla F2 (Renomear o item selecionado)
Tecla F3 (Pesquisar um arquivo ou pasta)
Tecla F4 (Exibir a barra de Endereços em Meu Computador ou no Windows Explorer)
Tecla F5 (Atualizar a janela ativa)Tecla F6 (Circular através de elementos da tela em uma janela ou no desktop)
Tecla F10 (Ativar a barra de menu no programa ativo)

4 – Atalhos de teclado em caixas de dialogo

ALT+Letra grifada (Executar o comando correspondente ou selecionar a opção correspondente)
BACKSPACE (Abrir uma pasta um nível acima se uma pasta estiver selecionada na caixa de diálogoSalvar como ou Abrir)
CTRL+SHIFT+TAB (Mover para trás através das guias)
CTRL+TAB (Mover para frente através das guias)
ENTER (Executar o comando para a opção ativa ou botão)
SHIFT+TAB (Mover para trás através das opções)
SPACEBAR (Selecionar ou limpar a caixa de verificação se a opção ativa for uma caixa de verificação)
TAB (Mover para frente através das opções)
Tecla F1 (Exibir Ajuda)
Tecla F4 (Exibir os itens na lista ativa)
Teclas de seta (Selecionar um botão se a opção ativa for um grupo de botões de opção)

5 – Atalhos de teclado naturais da Microsoft

CTRL+Logotipo do Windows+F (Pesquisar por computadores)
Logotipo do Windows (Exibir ou ocultar o menu Iniciar)
Logotipo do Windows+ L (Travar o teclado)
Logotipo do Windows+BREAK (Exibir a caixa de diálogo Propriedades do Sistema)
Logotipo do Windows+D (Exibir o desktop)
Logotipo do Windows+E (Abrir Meu computador)
Logotipo do Windows+F (Pesquisar um arquivo ou pasta)
Logotipo do Windows+F1 (Exibir Ajuda do Windows)
Logotipo do Windows+M (Minimizar todas as janelas)
Logotipo do Windows+Pause (Propriedades do sistema)
Logotipo do Windows+R (Abrir a caixa de diálogo Executar)
Logotipo do Windows+SHIFT+M (Restaurar as janelas minimizadas)
Logotipo do Windows+U (Abrir o Gerenciador de Utilitário)

6 – Atalhos de teclado para acessibilidade

ALT esquerdo+SHIFT esquerdo+NUM LOCK (Alternar entre ligar e desligar Teclas para mouse)
ALT esquerdo+SHIFT esquerdo+PRINT SCREEN (Alternar entre ligar e desligar Alto Contraste)
Logotipo do Windows + U (Abrir o Gerenciador de Utilitário)
NUM LOCK por cinco segundos (Alternar entre ligar e desligar as Teclas de Alternância)
SHIFT cinco vezes (Alternar entre ligar e desligar as Teclas de Aderência)
SHIFT direito por oito segundos (Alternar entre ligar e desligar as Teclas de filtragem)

7 – Atalhos de teclado para Windows Explorer

END (Exibir a base da janela ativa)
HOME (Exibir o topo da janela ativa)
LEFT ARROW (Recolher a seleção atual se estiver expandida, ou selecionar a pasta pai)
NUM LOCK+sinal de asterisco (*) (Exibir todas as subpastas que estão sob a pasta selecionada)
NUM LOCK+sinal de mais (+) (Exibir o conteúdo da pasta selecionada)
NUM LOCK+sinal de menos (-) (Recolher pasta selecionada)
RIGHT ARROW (Exibir a seleção atual se estiver recolhida, ou selecionar a primeira subpasta)

8 – Teclas de atalho para o mapa de caracteres

Após clicar duas vezes em um caractere na grade de caracteres, você pode mover-se através da grade utilizando os atalhos de teclado:

CTRL+END (Mover para o último caractere)
CTRL+HOME (Mover para o primeiro caractere)
DOWN ARROW (Mover para uma linha abaixo)
END (Mover para o fim da linha)
HOME (Mover para o início da linha)
PAGE DOWN (Mover uma tela abaixo de cada vez)
PAGE UP (Mover uma tela acima de cada vez)
RIGHT ARROW (Mover para a direita ou para o início da próxima linha)
RIGHT ARROW (Mover para a esquerda ou para o fim da linha anterior)
SPACEBAR (Alternar entre o modo Ampliado e Normal quando um caractere está selecionado)
UP ARROW (Mover para uma linha acima)

9 – Atalhos do teclado para janela do MMC (Microsoft Management Console)

ALT+A (Exibir o menu Ação)
ALT+ENTER (Exibir a caixa de diálogo Propriedades, se houver, para o item selecionado)
ALT+F (Exibir o menu Arquivo)
ALT+F4 (Fechar o console)
ALT+O (Exibir o menu Favoritos)
ALT+sinal de menos (-) (Exibir o menu de janela da janela ativa no console)
ALT+SPACEBAR (Exibir o menu da janela MMC)
ALT+V (Exibir o menu Exibir)
CTRL+F10 (Maximizar a janela ativa do console)
CTRL+F4 (Fechar a janela ativa do console) Quando um console possui apenas uma janela de console , este atalho fecha o console)
CTRL+F5 (Restaurar a janela ativa do console)
CTRL+M (Adicionar ou remover um item de console)
CTRL+N (Abrir um novo console)
CTRL+O (Abrir um console salvo)
CTRL+P (Imprimir a página atual ou página ativa)
CTRL+S (Salvar o console aberto)
CTRL+W (Abrir uma nova janela)
SHIFT+F10 (Exibir o menu de atalho de Ação para o item selecionado)
Tecla F1 (Abrir o tópico de Ajuda, se houver, para o item selecionado)
Tecla F2 (Renomear o item selecionado)
Tecla F5 (Atualizar o conteúdo de todas as janelas do console)
Tecla F5 (Atualizar o conteúdo de todas as janelas do console)

10 – Navegação de conexão de dektop remoto

ALT+DELETE (Exibir o menu do Windows)
ALT+HOME (Exibir o menu Iniciar)
ALT+INSERT (Circular através dos programas na ordem dos usados mais recentemente)
ALT+PAGE DOWN (Alternar entre programas da direita para a esquerda)
ALT+PAGE UP (Alternar entre programas da esquerda para a direita)
CTRL+ALT+BREAK (Alternar entre uma janela e a tela inteira do computador cliente)
CTRL+ALT+END (Abrir a caixa de diálogo Segurança do Microsoft Windows NT)
CTRL+ALT+sinal de mais (+) (Colocar um instantâneo da área de janela inteira do cliente na área de transferência do servidor de Terminal e fornecer a mesma funcionalidade que pressionar ALT+PRINT SCREEN em um computador local).
CTRL+ALT+sinal de menos (-) (Colocar um instantâneo da janela aiva no cliente na área de transferência do servidor de Terminal e fornecer a mesma funcionalidade que pressionar PRINT SCREEN em um computador local).

11 – Atalhos para o internet explorer

CTRL+B (Abrir a caixa de diálogo Organizar Favoritos)
CTRL+E (Abrir a barra de Pesquisa)
CTRL+F (Iniciar o utilitário de Localizar)
CTRL+H (Abrir a barra de Histórico)
CTRL+I (Abrir a barra de Favoritos)
CTRL+L (Abrir a caixa de diálogo Abrir)
CTRL+N (Iniciar outra instância do navegador com o mesmo endereço na Web) CTRL+O (Abrir a caixa de diálogo Imprimir)
CTRL+R (Atualizar a página atual da Web)
CTRL+T (Abrir uma nova guia em branco)
CTRL+W (Fechar a janela atual)

12 – Atalhos para o Firefox

CTRL+H (Abrir a barra lateral com o histórico)
CTRL+T (Abrir uma nova guia em branco)
CTRL+TAB (Abrir as guias à direita)
CTRL+Shift+Tab (Abrir guias à esquerda)
CTRL+Shift+T (Abrir uma guia acidentalmente fechda)
CTRL+L (Para entrar a URL ou procurar por um na barra de endereço)
CTRL+Enter (Inserir o sufixo .com sem precisar digitar)
CTRL+Shift+Enter (Inserir o sufixo .org)
SHIFT+Enter (Inserir o sufixo .net)

Referências
HardSoftDicas

terça-feira, 21 de fevereiro de 2012

Configurando conta de e-mail no Outlook

Bom leitores e seguidores do blog, resolvi publicar hoje o tutorial abaixo, visto que configurei um MTA Postfix, e precisava configurar contas de e-mail no Outlook para os clientes Windows.
Assim segue os passos:

1° Passo: Abra o Outlook 2003, vá em ferramentas/contas de e-mail.


2° Passo: Dentro de contas de e-mail clique na alternativa Adicionar uma conta nova de e-mail e depois avançar.


3° Passo: Clique na alternativa POP3 e depois Avançar.


4° Passo:Em seguida complete os campos necessários, e vá para Mais Configurações.


5° Passo:No campo de mais configurações terá as opções geral, servidor de saída, conexão e avançado. Clique em Servidor de saída e deixe marcado a opção Meu servidor de saída (SMTP) requer autenticação. Após este processo dê um ok.


6° Passo:Você já concluiu seu e-mail, aparecerá está tela abaixo, você clica em Concluir e já pode usar seu e-mail normalmente.


Feito!

sábado, 11 de fevereiro de 2012

Configurando servidor FTP(Proftpd) no Linux

O serviço FTP faz parte da camada de aplicação do modelo OSI, e é bastante utilizado para transferências de arquivos na internet. Nesse post explico a instalação e configuração do servidor FTP usando o proftpd, por ser considerado mais seguro para servidores FTP.

Instalação
Debian: #apt-get install proftpd
CentOS: #yum install proftpd
Slackware: Se durante a instalação marcou a categoria [N]
[N]pacotes de redes (TCP/IP, UUCP, Mail, News).
Apache, Bind, Dhcpd, Imapd, Iproute2, Iptables, Nmap, PHP, Samba, Sendmail, Proftpd, etc;
Então já esta instalado o proftpd!

Configuração do Proftpd
Debian: #vim /etc/proftpd/proftpd.conf
CentOS: #vim /etc/proftpd.conf
Slackware: #vim /etc/proftpd.conf

proftpd.conf

# This is a basic ProFTPD configuration file.
# It establishes a single server and a single anonymous login.
# It assumes that you have a user/group "nobody" and "ftp"
# for normal/anonymous operation.

ServerName "Mundo da Computação"
ServerType standalone
DefaultServer on
DefaultRoot ~

# Port 21 is the standard FTP port.
Port 21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022

# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 30

# Set the user and group that the server normally runs at.
User nobody
Group nogroup

# This next option is required for NIS or NIS+ to work properly:
#PersistentPasswd off

SystemLog /var/log/proftpd.log
TransferLog /var/log/xferlog

# Normally, we want files to be overwriteable.

AllowOverwrite no


# A basic anonymous FTP server configuration.
# To enable this, remove the user ftp from /etc/ftpusers.

RequireValidShell off
User ftp
Group ftp
# We want clients to be able to login with "anonymous" as well as "ftp"
comentei para não permitir conexão ftp com usuário anônimo
#UserAlias anonymous ftp

# Limit the maximum number of anonymous logins
MaxClients 30

# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg
DisplayChdir .message

# Limit WRITE everywhere in the anonymous chroot

DenyAll


# An upload directory that allows storing files but not retrieving
# or creating directories.
#
#
# DenyAll
#

#
#
# AllowAll
#

#

Criando usuários
#useradd -m -s /bin/false saitam
#passwd saitam
criado um usuário exclusivo para o FTP.

Ajustes finais
CentOS: #vim /etc/pam.d/proftpd
Altere a linha "pam_shells.so" deixando assim:
auth option pam_shells.so

Caso esteja com SELinux ativo
#setsebool -P FTPNomeDir 1

Slackware e Debian: #vim /etc/inetd.conf
edite a linha (comentando com '#')

#ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/proftpd


Iniciando o serviço Proftpd
Debian: ]#/etc/init.d/proftpd start
CentOS: #service proftpd start
Slackware: #proftpd

Para verificar se o proftpd esta em execução digite:
#ps aux | grep proftpd
deve aparecer algo como proftpd: (accepting connections)

Testando
Na máquina cliente no browser ou terminal faça:
ftp://IP-SERVIDOR
irá pedir usuário e senha que você criou, digite e terá acesso ao servidor FTP que acabou de configurar.

Caso tiver o serviço DNS configurado conforme aqui então
ftp://DOMINIO-SERVIDOR

NOTAS
Se caso ocorrer falha na conexão, então verifique dois pontos:
1. Se o proftpd esta em executação -> ps aux | grep proftpd
2. Adicione no seu script de firewall a regra liberando o acesso FTP

#para acessar FTP externo
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#para acessar FTP interno
iptables -A FORWARD -p tcp -s $LAN -d $ipServerFTP --dport 21 -j ACCEPT
iptables -A FORWARD -p tcp -s $LAN -d $ipServerFTP --dport 20 -j ACCEPT
iptables -A FORWARD -p tcp -s $LAN -d $ipServerDNS --dport 53 -j ACCEPT
iptables -A FORWARD -p udp -s $LAN -d $ipServerDNS --dport 53 -j ACCEPT


Feito!

quarta-feira, 18 de janeiro de 2012

Usando NTOP para monitorar a rede

O NTOP é uma ferramenta para monitorar e gerenciar redes de computadores, além de ter muitos recursos que demonstram tudo através de gráficos e informações detalhadas que permitem com que haja interação entre usuários. Monitora e gera relatórios sobre o tráfego e suporte dos hosts por estes protocolos:TCP/UDP/ICMP, (R)ARP, IPX, DLC, DECnet, AppleTalk, Netbios, TCP/UDP.

Instalando o NTOP

Slackware
Dependências: rrdtool, GeoIP, and graphviz
rrdtool
$wget "http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.5.tar.gz"
$wget "http://slackbuilds.org/slackbuilds/13.1/libraries/rrdtool.tar.gz"
$tar -xzvf rrdtool.tar.gz
$mv rrdtool-1.4.5.tar.gz rrdtool
$cd rrdtool
$chmod +x rrdtool.Slackbuild
#./rrdtool.Slackbuild

Aguarde... irá descompactar, converter para tgz e mover para /tmp
#installpkg /tmp/rrdtool-1.4.5-i486-1_SBo.tgz

GeoIP
$wget "http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.5.tar.gz"
$wget "http://slackbuilds.org/slackbuilds/13.1/network/GeoIP.tar.gz"
$tar -xzvf GeoIP.tar.gz
$mv GeoIP-1.4.5.tar.gz GeoIP
$cd GeoIP
$chmod +x GeoIP.Slackbuild
#./GeoIP.Slackbuild

Aguarde... irá descompactar, converter para tgz e mover para /tmp
#installpkg /tmp/GeoIP-i486-1_SBo.tgz

graphviz
$wget "http://graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.26.3.tar.gz"
$wget "http://slackbuilds.org/slackbuilds/13.1/graphics/graphviz.tar.gz"
$tar -xzvf graphviz.tar.gz
$mv graphviz-2.26.3.tar.gz graphviz
$cd graphviz
#./graphviz.Slackbuild

Aguarde... irá descompactar, converter para tgz e mover para /tmp
#installpkg graphviz-i486-1.SBo.tgz

Ntop
$wget "http://sourceforge.net/projects/ntop/files/ntop/ntop-4.0.1/ntop-4.0.1.tar.gz?download"
$wget "http://slackbuilds.org/slackbuilds/13.1/network/ntop.tar.gz"
$tar -xzvf ntop.tar.gz
$mv ntop-4.0.1.tar.gz ntop
$cd ntop
$chmod +x ntop.Slackbuild
#./ntop.Slackbuild


Aguarde... irá descompactar, converter para tgz e mover para /tmp

#installpkg /tmp/ntop-4.0.1-i486-1_SBo.tgz

OU
$wget "http://http://prdownloads.sourceforge.net/ntop/ntop-4.0.1.tar.gz?download"
$tar -xzvf ntop-4.0.1.tar.gz
$cd ntop-4.0.1
$#./autogen.sh
#make
#make install


Debian

#apt-get install libcap libcap-dev glib gdbm gdbm-devel
#apt-get install libtool automake autoconf -y
#apt-get install gcc cpp -y
#apt-get install tcpdump nmap -y
#apt-get install libpcap-devel zlib zlib-devel geoip geoip-devel
$wget "http://downloads.sourceforge.net/project/ntop/ntop/Stable/ntop-4.0.1.tar.gz"
$tar -xzvf ntop-4.0.1.tar.gz
$cd ntop-4.0.1
$#./autogen.sh
#make
#make install


CentOS

#yum install libcap libcap-devel glib gdbm gdbm-devel
#yum install libtool automake autoconf -y
#yum install gcc cpp -y
#yum install tcpdump nmap -y
#yum install libpcap-devel zlib zlib-devel geoip geoip-devel
$wget "http://downloads.sourceforge.net/project/ntop/ntop/Stable/ntop-4.0.1.tar.gz"
$tar -xzvf ntop-4.0.1.tar.gz
$cd ntop-4.0.1
$#./autogen.sh
#make
#make install


Agora vamos definir uma senha para o usuário admin do NTOP. Para isso vamos executar o comando abaixo:

#ntop

http://IP-SERVIDOR:3000

Feito!

sábado, 14 de janeiro de 2012

Usando Sarg para monitorar acessos do Squid

Hoje irei explicar como instalar e configurar o Sarg, para gerar relatórios de acessos do servidor proxy Squid configurado no post anterior.

PS: Até a data deste post a versão do Sarg é 2.3.2, portanto verifique antes a versão atual, e apenas substitua pela versão correspondente na linha wget. Ok.

Fazendo download e instalando o Sarg
$mkdir downloads/sarg
$wget "http://prdownloads.sourceforge.net/sarg/sarg-2.3.2.tar.gz?download
$tar -xzvf sarg-2.3.2.tar.gz
$mv sarg-2.3.2.tar.gz sarg
#mkdir /var/www/htdocs/relatorios
#mkdir /usr/local/squid/sarg/
#cd sarg
#./configure --enable-sysconfdir=/usr/local/squid/sarg --enable-htmldir=/var/www/htdocs/relatorios
#make
#make install

Arquivo de configuração do Sarg
#vim /usr/local/etc/sarg.conf

# Relatório proxy Squid por dia

# Arquivo de LOG do Squid, na sua configuração do Squid tem
# falando onde se encontra este arquivo.
access_log /var/log/squid/access.log

# Título da página HTML
title "Relatório Proxy Squid"

# --- Visual ---
# Aqui tem várias variáveis que você pode mudar para deixar o
# visual do relatório (cores, fontes, etc) de acordo com o que
# você quiser. Aqui estou usando os valores padrões.
font_face Arial
header_color darkblue
header_bgcolor blanchedalmond
header_font_size -1
background_color white
text_color black
text_bgcolor beige
title_color green
#--- Fim do Visual ---

# Diretório Temporário
temporary_dir /tmp

# Diretório de Saída para as página de relatório, ou seja,
# onde o relatório vai ficar para consulta via um navegador.
# "Geralmente" esse diretório tem que estar dentro do root do seu
# servidor Web
output_dir /var/www/htdocs/relatorios/dia

# Qual critério de ordem para a seção "TopUser?" USER/CONNECT/BYTES/TIME
# Isso irá organizar o relatório na seção de TopUsers, colocando os usuários
# que mais baixaram bytes primeiro.
topuser_sort_field BYTES reverse

# Qual critério de ordem para a seção "User"? SITE/CONNECT/BYTES/TIME
# Isso irá organizar a seção de usuários da mesma forma que o item anterior.
user_sort_field BYTES reverse


# Arquivo com hosts que não devem estar nos relatórios
#exclude_hosts /usr/local/etc/exclude.hosts
exclude_hosts /usr/local/squid/sarg/exclude.hosts

# Formato da data (e=dd/mm/yy, u=mm/dd/yy, w=yy/ww)
date_format e

# Limite de logs até os antigos serem removidos, quando houver mais
# de N relatórios, o mais antigo é automaticamente removido. Aqui
# estamos indicando para nunca apagar nada.
lastlog 0

# Remover arquivos temporários após o uso?
remove_temp_files yes

# Gerar o index.html? (only = gera só o index.html principal)
index yes

# Sobrescrever o relatório se já existe?
overwrite_report yes

# O que fazer com registros sem usuário? (ignore/ip/everybody)
records_without_userid ignore

# Usar vírgula ao invés de ponto?
use_comma no

# Qual a quantidade de sites mais visitados à listar?
topsites_num 100

# Qual critério de ordem para o topsites? CONNECT/BYTES A/D
# Aqui diz para ordenar os sites mais acessados por utilização de banda,
# em forma decrescente.
topsites_sort_order BYTES D

# Arquivo de códigos HTTP para serem ignorados no relatório
#exclude_codes /usr/local/etc/exclude_codes
exclude_codes /usr/local/squid/sarg/exclude_codes

# Tempo de checkagem
max_elapsed 28800000

# -- Tipo de Relatorio a ser gerado --
# + topsites - Mostra o site, conexão e bytes
# + sites_users - Mostra que usuários estavam acessando um site
# + users_sites - Mostra sites acessados pelo usuário
# + date_time - Mostra quantidade de bytes usados por dia e hora
# + denied - Mostra todos os sites negados com URL completa
# + auth_failures - Mostra falhas de autentificação
report_type topsites users_sites sites_users date_time denied auth_failures site_user_time_date

# Exibir URLs completas? (Não recomendado)
long_url no

# Se alguma linha do access.log conter uma das strings, será ignorada
#exclude_string /etc/sarg/exclude.strings
exclude_string /usr/local/squid/sarg/exclude.strings

# Mostrar mensagem de sucesso na geração do relatório no fim?
show_successful_message no

# Campos para a seçao topusers
topuser_fields NUM DATE_TIME USERID CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE

# Quantidade de usuários para listar no relatório topsites
topuser_num 0


#sarg
SARG: Registros no arquivo: 442, lendo: 100,00%

Verifique se existe o arquivo /etc/cron.daily/sarg. Caso não existir, crie o arquivo chamado como /usr/local/bin/sarg
Coloque o código do script abaixo em um desses arquivos

#!/bin/bash

HOJE=$(date --date "1 day ago" +%d/%m/%Y)

/usr/sbin/sarg -f /usr/local/etc/sarg.conf -d $HOJE-$HOJE
exit 0


Adicione o script no /etc/crontab

01 1 * * * root /etc/cron.daily/sarg

O crontab irá ser executado o script todos os dias de madrugada.

Visualizando os acessos
http://IP-SERVIDOR-PROXY/relatorios/dia/

Feito!