sexta-feira, 28 de novembro de 2008

Configuração do Firewall através do iptables

#!/bin/sh
#Configuração do Firewall através do iptables
#Autoria do Script
#"::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
#"
Script de Firewall - IPTABLES"
#" Criado por: Marcio Ferreira da Costa"
#" Administrador de Redes"
#" mfcostarj@yahoo.com.br"
#" Uso: firewall start stop restart"
#"::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"


#Declaração de variaveis
PATH=/sbin:/bin:/usr/sbin:/usr/bin
IPTABLES="/sbin/iptables"
MACLIST="/etc/regras/macsliberadosfirewall"
PROGRAMA="/etc/init.d/firewall"

#portas liberadas e bloqueadas
PORTSLIB="/etc/regras/portslib"
PORTSBLO="/etc/regras/portsblo"

#Interfaces de Rede
LAN=eth1
WAN=eth0
REDE="192.168.253.0/24"

SITESNEGADOS=/etc/regras/sitesnegados


# Os diversos módulos do iptables são chamdos através do modprobe
modprobe ip_tables
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_LOG
modprobe ipt_REJECT
modprobe ipt_MASQUERADE
modprobe ipt_state
modprobe ipt_multiport
modprobe iptable_mangle
modprobe ipt_tos
modprobe ipt_limit
modprobe ipt_mark
modprobe ipt_MARK

case "$1" in
start)

#mensagem de inicialização
echo "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
echo " Script de Firewall - IPTABLES"
echo " Criado por: Marcio Ferreira da Costa"
echo " Administrador de Redes"
echo " mfcostarj@yahoo.com.br"
echo " Uso: firewall start stop restart"
echo "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
echo
echo "=============================================="
echo ":INICIANDO A CONFIGURAÇÃO DO FIREWALL NETFILTER "
echo ": ATRAVÉS DO IPTABLES : "
echo "=============================================="

$IPTABLES -F
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
$IPTABLES -t mangle -F
$IPTABLES -t nat -F
$IPTABLES -X

$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP

# ativar o redirecionamento no arquivo ip_forward
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "ativado o redirecionamento no arquivo ip_forward"
echo "ON .................................................[ OK ]"


#habilitando o fluxo interno entre os processos
$IPTABLES -I INPUT -i lo -j ACCEPT
$IPTABLES -I OUTPUT -o lo -j ACCEPT
echo "ativado o fluxo interno entre os processos"
echo "ON .................................................[ OK ]"

#liberar as portas principais do servidor
for i in `cat $PORTSLIB`; do
$IPTABLES -A INPUT -p tcp --dport $i -j ACCEPT
$IPTABLES -A FORWARD -p tcp --dport $i -j ACCEPT
$IPTABLES -A OUTPUT -p tcp --sport $i -j ACCEPT
done
$IPTABLES -I INPUT -m state --state ESTABLISHED -j ACCEPT
$IPTABLES -I INPUT -m state --state RELATED -j ACCEPT
$IPTABLES -I OUTPUT -p icmp -o $WAN -j ACCEPT
$IPTABLES -I INPUT -p icmp -j ACCEPT
echo "ativado as portas abertas para estabelecer conexões"
echo "ativado a liberação das portas principais do servidor $HOSTNAME"
echo "ON .................................................[ OK ]"



#ATIVAR O REDIRECIONAMENTO (para ambiente flexível)
#LIBERAR RADIO UOL (para ambiente flexível)


#bloquear acesso de sites negados a rede interna
for i in `cat $SITESNEGADOS`; do
$IPTABLES -t filter -I FORWARD -s $REDE -d $i -j DROP
$IPTABLES -t filter -I FORWARD -s $i -d $REDE -j DROP
$IPTABLES -t filter -A INPUT -s $i -j DROP
$IPTABLES -t filter -A OUTPUT -d $i -j DROP
done
echo "ativado o bloqueio de envio de pacotes com origem aos sites negados"
echo "ON .................................................[ OK ]"


#Bloqueio ping da morte
echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all
$IPTABLES -N PING-MORTE
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j PING-MORTE
$IPTABLES -A PING-MORTE -m limit --limit 1/s --limit-burst 4 -j RETURN
$IPTABLES -A PING-MORTE -j DROP
echo "ativado o bloqueio a tentativa de ataque do tipo ping da morte"
echo "ON .................................................[ OK ]"


#bloquear ataque do tipo SYN-FLOOD
echo "0" > /proc/sys/net/ipv4/tcp_syncookies
$IPTABLES -N syn-flood
$IPTABLES -A INPUT -i $WAN -p tcp --syn -j syn-flood
$IPTABLES -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
$IPTABLES -A syn-flood -j DROP
echo "ativado o bloqueio a tentativa de ataque do tipo SYN-FLOOD"
echo "ON .................................................[ OK ]"

#Bloqueio de ataque ssh de força bruta
$IPTABLES -N SSH-BRUT-FORCE
$IPTABLES -A INPUT -i $WAN -p tcp --dport 22 -j SSH-BRUT-FORCE
$IPTABLES -A SSH-BRUT-FORCE -m limit --limit 1/s --limit-burst 4 -j RETURN
$IPTABLES -A SSH-BRUT-FORCE -j DROP
echo "ativado o bloqueio a tentativa de ataque do tipo SSH-BRUT-FORCE"
echo "ON .................................................[ OK ]"

#Bloqueio de portas
for i in `cat $PORTSBLO`; do
$IPTABLES -A INPUT -p tcp -i $WAN --dport $i -j DROP
$IPTABLES -A INPUT -p udp -i $WAN --dport $i -j DROP
$IPTABLES -A FORWARD -p tcp --dport $i -j DROP
$IPTABLES -A FORWARD -p udp --dport $i -j DROP
$IPTABLES -A OUTPUT -p tcp --dport $i -j DROP
$IPTABLES -A OUTPUT -p udp --dport $i -j DROP
done

#bloqueio Anti-Spoofings
$IPTABLES -A INPUT -s 10.0.0.0/8 -i $WAN -j DROP
$IPTABLES -A INPUT -s 127.0.0.0/8 -i $WAN -j DROP
$IPTABLES -A INPUT -s 172.16.0.0/12 -i $WAN -j DROP
$IPTABLES -A INPUT -s 192.168.1.0/16 -i $WAN -j DROP
echo "ativado o bloqueio de tentativa de ataque do tipo Anti-spoofings"
echo "ON .................................................[ OK ]"


#Bloqueio de scanners ocultos (Shealt Scan)
$IPTABLES -A FORWARD -p tcp --tcp-flags SYN,ACK, FIN, -m limit --limit 1/s -j ACCEPT
echo "bloqueado scanners ocultos"
echo "ON .................................................[ OK ]"

#amarrar ip ao mac
for i in `cat $MACLIST`; do
#aqui cada linha do maclist é atribuída de cada vez

STATUS=`echo $i cut -d ';' -f 1`
#o comando echo exibe o conteúdo da variável e o pipe "" repassa a saída para outro comando,
# o cut por sua vez reparte cada linha em pedaços onde o delimitador (-d) é o ';' no parâmetro
#-f imprime na tela conteúdo da 1º coluna (status), a saída deste é enviada para STATUS;

IPSOURCE=`echo $i cut -d ';' -f 2`
MACSOURCE=`echo $i cut -d ';' -f 3`
MARK=`echo $IPSOURCE cut -d '.' -f 4`
# neste caso o IPSOURCE e o MACSOURCE recebem as outras colunas da mesma linha, faço uma
#ressalva para o nome do computador que eu coloquei apenas para a organização do maclist,
#pois neste do script contará até a 3º coluna.

#aqui neste caso o comando if está dentro do laço for
#Se status = a então iptables libera a conexão através destes comandos construídos na tabela filter

if [ $STATUS = "a" ]; then
$IPTABLES -t filter -A FORWARD -d 0/0 -s $IPSOURCE -m mac --mac-source $MACSOURCE -j ACCEPT
$IPTABLES -t filter -A FORWARD -d $IPSOURCE -s 0/0 -j ACCEPT
$IPTABLES -t filter -A INPUT -s $IPSOURCE -d 0/0 -m mac --mac-source $MACSOURCE -j ACCEPT
$IPTABLES -t filter -A OUTPUT -s $IPSOURCE -d 0/0 -j ACCEPT
$IPTABLES -t filter -A OUTPUT -s 0/0 -d $IPSOURCE -j ACCEPT
$IPTABLES -t mangle -A PREROUTING -s $IPSOURCE -j MARK --set-mark $MARK


# Se for = b então bloqueia o MAC, ele só executa este comandos se STATUS não for igual a "a".

elif [ $STATUS = "b" ]; then
$IPTABLES -t filter -A FORWARD -m mac --mac-source $MACSOURCE -j DROP
$IPTABLES -t filter -A INPUT -m mac --mac-source $MACSOURCE -j DROP
$IPTABLES -t filter -A OUTPUT -m mac --mac-source $MACSOURCE -j DROP

else
$IPTABLES -t filter -I INPUT -s $IPSOURCE -j DROP
$IPTABLES -t filter -I FORWARD -s $IPSOURCE -d 0/0 -j DROP
$IPTABLES -t filter -I FORWARD -s 0/0 -d $IPSOURCE -j DROP
$IPTABLES -t filter -I OUTPUT -d $IPSOURCE -j DROP


fi #fim do elif
done #fim do for


echo "Ativado a amarração do ip ao mac"
echo "ON .................................................[ OK ]"



#proxy transparente
$IPTABLES -t nat -A PREROUTING -i $LAN -p tcp --dport 80 -j REDIRECT --to-port 3128
echo "Proxy Transparente ativado"
echo "ON .................................................[ OK ]"


# ativar o mascaramento
$IPTABLES -t nat -A POSTROUTING -o $WAN -j MASQUERADE

# Carrega controlador de banda
/etc/init.d/cbq start #Para debian
#/etc/rc.d/init.d/cbq start #Para slackware
echo
echo "================================================="
echo "::TERMINADA A CONFIGURAÇÃO DO FIREWALL NETFILTER "
echo ":: ATRAVÉSDO IPTABLES "
echo "================================================="
echo "FIREWALL ATIVADO - SISTEMA PREPARADO"
echo "SCRIPT DE FIREWALL CRIADO POR :-) Marcio Ferreira da Costa :-)"
;;

stop)
$IPTABLES -F
$IPTABLES -F INPUT
$IPTABLES -F OUTPUT
$IPTABLES -F FORWARD
$IPTABLES -t mangle -F
$IPTABLES -t nat -F
$IPTABLES -X
$IPTABLES -Z

$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT

/etc/init.d/cbq stop #Para debian
#/etc/rc.d/init.d/cbq stop #Para slackware
echo "FIREWALL DESCARREGADO - SISTEMA LIBERADO"
;;

restart)
$PROGRAMA stop
$PROGRAMA start
;;
*)
echo "Use: $N {startstoprestart}" >&2
echo -e "\033[01;31mATENÇÃO";tput sgr0
echo "Você não colocou nenhum argumento ou algum que seja conhecido, então Por Padrão será dado em 5 segundos um restart no firewall"
sleep 5
$PROGRAMA restart
exit 1
esac
exit 0

Proxy - Configurando o Squid

#------------------Squid ---------------------
#
# Configurando FIREWALL
# Marcio F. Costa - mfcostarj@yahoo.com.br
#
#---------------------------------------------

## Porta de acesso a Internet - Proxy Transparente
http_port 3128 transparent

## Cash - especifica o caminho, o log e o tamanho dos arquivos
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_mem 192 Mb
cache_swap_log /var/spool/squid/swap.log
cache_dir diskd /var/spool/squid 1024 16 256

## Nome da Rede
visible_hostname nomedamaquina

## ACL que identifica toda a Rede
acl all src ipdarede /mascaradarede
## ACL que identifica onde ficam os sites bloqueados
acl blockedsites url_regex -i "/etc/squid/bloqueados/block.txt"
## ACL que identifica onde ficam os sites desbloqueados
acl unblockedsites url_regex -i "/etc/squid/bloqueados/unblock.txt"
## ACL que bloqueia os sites que devem ser bloqueados e libera os que podem ser acessados
http_access deny blockedsites !unblockedsites

##OBS: A ! SERVE PARA NEGAR. NO EXEMPLO ACIMA, FOI DITO PARA
## NEGAR O ACESSO AO BLOCKEDSITES
## E LIBERAR O ACESSO AO UNBLOCKEDSITES


## ACL que identifica o caminho onde o arquivo do MSN fica bloqueado
acl msnbloque url_regex -i "/etc/squid/srcmsn" #neste arquivo tem que se colocar as regras
## ACL que identifica o caminho onde ficam os IP's das maquinas cujo o msn é liberado
acl msnlibera src "/etc/squid/msnliberados"
## ACL que bloqueia o MSN e libera para IP's especificos # bloqueia o acesso ao msn para msnbloque e libera para o msnlibera
http_access deny msnbloque !msnlibera

## Liberando Portas
acl SSL_ports port 22 # SSL
acl SSL_ports port 443 # https
acl Safe_ports port 8080 # http

## ACL que bloqueia todo o resto com exceção do http
http_access deny !Safe_ports

COMANDOS BÁSICOS LINUX PARA INICIANTES

=====================================================
------------ COMANDOS BÁSICOS LINUX PARA INICIANTES ----------
=====================================================
Todo usuário avançado de Linux tem uma característica em comum, sempre esta pesquisando.
E se quiser tem bons conhecimentos, comece a estudar, iniciando pelo prompt do Linux,
através dele você poderá utilizar várias combinações de comados.

Abaixo segue uma lista de comandos básicos. Para facilitar o entendimento, existe uma bre-
ve descrição e exemplos. Caso tenha dúvida sobre a utilização, consulte o manual do res-
pectivo comando.
Dicas:
------
1) Para consultar manual utilizar a sintaxe abaixo:
#man comando ou #comando --help
2) Para descubrir novos comandos verifique nos diretórios bin e sbin.
3) Não exclui arquivos/subdiretórios dos diretórios etc, lib,dev, bin, sbin
e usr. Se possível trabalhe apenas no seu diretório inicial ou no /tmp.

Márcio Ferreira da Costa
http://admredes-marciocosta.blogspot.com/
mailto: mfcostarjbr@gmail.com ====================================================
COMANDOS BÁSICOS
----------------
comando: whoami
função: lista a identificação efetiva do usuário
sintaxe: whoami -[opções]
exemplo: #whoami

comando: pwd
função: lista o nome do diretório de trabalho atual
sintaxe: pwd -[opções]
exemplo: #pwd

comando: ls
função: lista arquivos e/ou lista o conteúdo de diretórios
sintaxe: ls -[opções]
exemplo: #ls -l /home/ > /home/aluno/lista.txt (cria arquivo lista.txt com conteúdo do ls -l)
#ls -l /etc/inetd.conf

comando: clear
função: limpar a tela em uso
sintaxe: clear
exemplo: #clear

comando: cd
função: permite navegar entre os diretórios
sintaxe: cd nomedodiretório
exemplo: #cd /var/log/
#cd (volta para o diretório home do usuário)
#cd ./~aulas/aula1

comando: mkdir
função: cria diretórios
sintaxe: mkdir [opções]
exemplo: #mkdir aula1
#mkdir /home/aluno/aula
#mkdir /tmp/lixo

comando: cp
função: copia arquivos e diretórios
sintaxe: cp [opções] caminho arquivo
ou cp [opções] arquivo diretório
exemplo: #cp /var/log/boot.log aula1/.
#cp aula1/boot.log aula1/novo.log
#cp -r aula1/ aula1/novodiretorio

comando: mv
função: move (ou altera o nome) de arquivos
sintaxe: mv [opção...] origem destino
ou mv [opção...] origem...destino
exemplo: #mv aula1 aula/
#mv /home/aluno/lista.txt /tmp/lixo/lixo.txt

comando: rm
função: remove arquivos ou diretórios
sintaxe: rm -[opções] arquivo_ou_diretório
exemplo: #rm -r /tmp/lixo
#rm -f rm -f novo.log (remove arquivo sem solicitar confirmação)
#rm boot.log

comando: cat
função: lista conteúdo do arquivo
sintaxe: cat -[opções] arquivo
exemplo: cat -b aluno.txt (mostra conteúdo e conta num. de linhas)

comando: more
função: filtro para uso na visualização de arquivos em terminais. Também
utilizado em conjunto com outros comandos.
sintaxe: more -[opções]
exemplo: #more lista.txt
#ls -l /etc/ more

comando: wc
função: lista o número de bytes, palavras e linhas nos arquivos
sintaxe: wc -[opções]
exemplo: #ls -l /home/ wc -l (mostra a quantidade de linhas)
#wc /home/aluno/lista.txt

comando: touch
função: cria arquivo vazio
sintaxe: touch arquivo
exemplo: #touch comandos.txt

comando: grep
função: lista linhas com determinada palavra em um texto ou arquivo
sintaxe: grep palavra arquivo
exemplo: #ls -l /home/ grep aluno

comando: chmod
função: altera permissão de acesso do arquivo/diretório
sintaxe: chmod -[opções] modo nomedoarquivo_ou_diretório
exemplo: #chmod -R 755 /home/aluno
#chmod +x /home/aluno/historico.sh

comando: chown
função: altera o dono e o grupo de arquivos/diretórios
sintaxe: chown -[opções] dono.grupo arquivo_ou_diretório
exemplo: #chown -R aluno.wheel /home/aluno/
#chown aluno.wheel nomedoarquivo.txt

comando: who
função: mostra quem está acessando o sistema
sintaxe: who -[opções]
exemplo: #who --message
#who -q --count

comando: ln
função: permite linkar arquivo ou diretório
sintaxe: ln -[opções] origem nomedolink
exemplo: #ln -s aula1.txt aula1.doc

comando: top
função: lista os processos que estão em execução, conforme de consumo de processamento da cpu
sintaxe: top -[opções]
exemplo: #top

comando: ps
função: lista os processos em execução
sintaxe: ps -[opções]
exemplo: #ps -auxwww
#pa -eux

comando: sort
função: ordena consulta/comando executada(o)
sintaxe: sort -[opções]
exemplo: ls /home sort (ordena alfabeticamente)

comando: uniq
função: remove linhas duplicadas de um arquivo ordenado
sintaxe: sort -[opções]
exemplo: #uniq -c lista.txt
#ls -l /etc/ sort uniq

comando: tail
função: lista a última parte de arquivos
sintaxe: tail -[opções]
exemplo: #tail -f /var/log/maillog
#tail -100 /var/log/maillog

comando: su
função: executa um interpretador de comandos com substituição de usuário e grupo.
sintaxe: su -[opções]
exemplo: #su (acesso como super usúario)
#su aluno

comando: locate
função: lista arquivos de uma base de dados cujos nomes coincidam com um padrão informado
sintaxe: locate -[opções] arquivo
exemplo: #locate httpd.conf

comando: find
função: pesquisa arquivos em um hierarquia de diretórios
sintaxe: find [caminho...] [expressão]
exemplo: #find / -name inetd.conf

comando: mount
função: monta um sistema de arquivos
sintaxe: mount -[opções] dispositivo diretório
exemplo: #mount /dev/hdb4 vfat /mnt/zip (monta zip drive interno)
#mount -t vfat /dev/fd0 /mnt/floppy (monta o floppy disk)
#umount /mnt/floppy (desmonta o floppy disk)

comando: which
função: mostra caminho completo do programa (arquivo binário)
sintaxe: which programa
exemplo: #which locate

comando: date
função: mostra ou acerta a data e hora do sistema
sintaxe: date -[opções]
exemplo: #date (mostra a hora atual do sistema)

comando: sync
função: executar processo que permanecem no buffer
sintaxe: sync -[opções]
exemplo: #sync

comando: w
função: mostra quem está acessando o sistema e o que eles estão executando
sintaxe: w -[opções]
exemplo: #w
#w -h

comando: last
função: mostra a listagem dos últimos usuários logados
sintaxe: last -[opções]
exemplo: #last -R
#last -num

comando: kill
função: finaliza um processo
sintaxe: kill -[opções] pid ou programa
exemplo: #kill -9 vi (finaliza o programa joe)

comando: killall
função: finalizar vários processos que utilizam o mesmo programa
sintaxe: killall -[opções] pid ou programa
exemplo: #killall -9 squid (finaliza todos processo que estão utilizanado o programa joe.
#killall -1 named (reinicia o servidor de nomes)

comando: exit
função: executa o logout, sai do terminal em uso.
sintaxe: exit
exemplo: #exit

EDITORES DE TEXTO
-----------------
Existem vários editores de texto para o ambiente Unix, abaixo vou citar apenas os
que mais utilizo.

comando: joe
função: editar arquivos texto
sintaxe: joe -[opções] arquivo
exemplo: #joe lista.txt
obtendo ajuda: ctrl + k + h

comando: vi
função: editar arquivos texto (editor nativo do Unix)
sintaxe: vi [opções] arquivo
exemplo: #vi lista
obtendo ajuda: esc + : + help

comando: vim
função: editar arquivos texto
sintaxe: vim [opções] arquivo
exemplo: #vi lista
obtendo ajuda: esc + : + help

REDE
----
Abaixo cito uma lista de comandos básicos utilizados em ambientes de rede.

comando: telnet
função: emula terminal
sintaxe: telnet -[opções] host
exemplo: #telnet ftp.hpg.com.br 21

comando: ssh
função: emula terminal, assim como o telnet, a difença é a transmissão de dados criptografados.
sintaxe: ssh -[opções] usuario@host
exemplo: #ssh root@nasa.gov -p 2223

comando: traceroute
função: exibe a rota tomada pelos pacotes para uma máquina da rede.
sintaxe: traceroute -[opções]
exemplo: #traceroute www.bsione.com.br

comando: ping
função: manda pacotes ICMP ECHO_REQUEST para hosts de rede
sintaxe: ping -[opções] host
exemplo: #ping www.bsione.com.br
#ping 192.168.10.1

comando: host
função: verifica o nome/ip correspondente de determinado host.
sintaxe: host -[opções]
exemplo: #host www.uol.com.br
#host 200.194.240.1

comando: wget
função: permite efetuar download's da Internet.
sintaxe: wget -[opções] [URL]
exemplo: #wget -x -r http://www.superdownloads.com.br/linux/freeamp.tar.gz
#wget ftp://ftp.xemacs.org/pub/xemacs/xemacs-19.14.tar.gz

comando: ftp
função: programa para transferência de arquivos
sintaxe: ftp -[opções] host
exemplo: #ftp ftp://ftp.conectiva.com.br/


CONFIGURAÇÕES DA MÁQUINA
------------------------
comando: hostname
função: mostra ou configura o nome da máquina
sintaxe: hostname -[opções]
exemplo: #hostname

comando: df
função: informa o espaço livre de disco
sintaxe: df -[opções]
exemplo: #df --all

comando: ifconfig
função: configura/mostra configuração da(s) placa(s) de rede
sintaxe: ifconfig -[opções]
exemplo: #ifconfig -a
#ifconfig lo 192.168.10.1 netmask 255.255.255.0


MANIPULANDO CONTA DE USUÁRIOS
-----------------------------
comando: id
função: mostra os UIDs e GIDs efetivos e reais
sintaxe: id -[opções] usuário
exemplo: #id aluno
#id --group aluno

comando: finger
função: mostra informações do usuário
sintaxe: finger -[opções] usuário
exemplo: #finger aluno
#finger -s root

comando: adduser
função: cria novo usuário, é necessário ser do grupo do root
sintaxe: adduser -[opções] usuário
exemplo: #adduser -s bash -p 123 -r teste
#adduser teste1

comando: userdel (Linux) e rmuser (Unix)
função: exclui usuário e diretório inicial
sintaxe: userdel [-r] name
exemplo: #userdel -r aluno


COMPACTANDO ARQUIVOS/DIRETÓRIOS
-------------------------------
Existem vários utilitários para compactação/descompactação de arquivos, vou
citar apenas os mais utilizados.

comando: tar
função: empacota e compacta arquivos, é o mais completo.
sintaxe: tar -[opções] arquivo.tar
exemplo: #tar -cvzpf dicas.tgz dicas/ (compacta arquivos do diretório em um único arquivo)
#tar -xvzpf dicas.tgz (descompacta arquivo no diretório corrente)

comando: zip
função: empacota e compacta arquivos
sintaxe: zip -[opções] [-b caminho] [-n sufixos] arquivo-zip
exemplo: #zip -r imagens.zip /tmp/imagens/ (compacta arquivos do diretório em um único arquivo)
#unzip imagens.zip (descompacta arquivo no diretório corrente)

segunda-feira, 10 de novembro de 2008

Compartilhando Virtua através de switch ou hub

Compartilhando Virtua através de switch ou hub

Para compartilhar Net Virtua o ideal é voce utilizar um roteador. Caso não tenha condições no momento de comprar um, voce pode utilizar o seu antigo switch ou hub, clonando o endereço MAC da sua placa de rede do micro principal para um outro micro. Para fazer isso, siga os seguintes passos: Baixe o programa A-Mac que voce vai usar para alterar o endereço na placa de rede no site http://www.portaladsl.com.br/download/amac.zip. Instale o programa no micro que está funcionando a NET Virtua, depois inicie o programa.



















1 - Selecione a placa de rede que voce está utilizando para a conexão. (caso voce tenha mais de uma instalada no micro) 2 - Anote o endereço MAC que esta aparecendo em MAC address of this computer. Instale o programa A-Mac no segundo micro que voce quer compartilhar a conexão e inicie ele.










domingo, 9 de novembro de 2008

Shadow Copy (Cópias de Sombra)

Shadow Copy é um tipo de Backup?

Conceitualmente não, porém, alguns administradores (no qual me incluo) considera que sim por ser uma forma de recuperação de dados. Essa recuperação é feita instântaneamente (diferente do processo convencional, o qual voce tem que colocar fitas, e dependendo da quantidade de informação e do tipo de backup pode levar bastante tempo.)


Imagina que voce sem querer, usando o texto original como base para outro documento fez modificações. Infelizmente, na hora de salvar, se distraiu e salvou o texto com o mesmo nome do arquivo original. (Isso acontece muito, não é mesmo?)




















Como usar as cópias de sombra para restaurar a versão “original” de um texto?
Vamos supor que eu tenha um texto importante em minha máquina e que tenha alterado sem querer.




















Que atire a primeira pedra quem nunca errou na hora de salvar um arquivo! Explicando melhor com um exemplo do Word: Você abriu um documento importante e usou o mesmo como “base” para criação de um novo documento. Porém, na hora de salvar, clicou (sem perceber) em “Salvar” ao invés de “Salvar como…”! Às vezes, um simples “Desfazer” resolve a situação, mas existem programas e situações em que ele não funciona.


Assim como o Windows XP, o Windows Vista possui um utilitário para Restauração do Sistema. Porém a versão do Windows Vista é muito mais completa! No Windows XP a Restauração do Sistema se resume basicamente à restauração dos arquivos do Windows e remoção das alterações do registro. Já no Windows Vista, a Restauração do Sistema permite também recuperar versões antigas de qualquer arquivo que tenha sido criado no micro rodando sobre Vista! É essa capacidade que permite aos usuários do Vista resolver problemas como aquele mostrado no início deste artigo.

O Windows Vista chama estas “cópias de segurança” dos arquivos ou pastas de versões anteriores. As versões anteriores são cópias de backup (cópias de arquivos e pastas de que você fez backup usando o Assistente de Backup de Arquivos) ou cópias de sombra (cópias de arquivos e pastas que o Windows salva automaticamente como parte de um ponto de restauração). As cópias de sombra podem ser cópias de arquivos no computador ou arquivos compartilhados em um computador em uma rede. Você pode usar versões anteriores de arquivos para restaurar arquivos que modificou ou excluiu acidentalmente ou que estavam danificados. Dependendo do tipo de arquivo ou pasta, você pode abrir, salvar em um local diferente ou restaurar uma versão anterior.

As cópias de sombra são salvas automaticamente como parte de um ponto de restauração em Propriedades do Sistema. Se a opção Proteção do Sistema estiver desativada, o Windows criará automaticamente cópias de sombra de arquivos que foram modificados desde que foi feito o último ponto de restauração, o que ocorrerá normalmente uma vez por dia. Se o disco rígido estiver particionado ou se houver mais de um disco rígido no computador, você precisará ativar a Proteção do Sistema nas outras partições ou discos rígidos.

quarta-feira, 5 de novembro de 2008

terça-feira, 4 de novembro de 2008

domingo, 2 de novembro de 2008

Classes de Ip's





IPv4 - Possui 32bits


11111111.11111111.11111111.11111111


Na classe A os 2(dois) primeiros bits valem 00.


Na classe B os 2(dois) primeiros bits valem 10.


Na classe C os 2(dois) primeiros bits valem 11.


Obs(1): Endereço de rede -> É quando todos os membros valem zero.


Obs(2): Endereço de Broadcast -> É quando todos os membros valem 1.


Obs(3): Membros ou Host's -> É tudo que está entre o endereço de rede e do endereço de broadcast.