redes linux_ sesc pompeia

Upload: plugadoweb

Post on 08-Jul-2015

118 views

Category:

Documents


0 download

TRANSCRIPT

Manual de Instrues Redes Linux Sesc Pompia

ndice:1. Redes de Computadores 2. Topologias de Redes (Estrela, Anel e Barramento) 3. Tipos de Redes 4. Instalao de Sistema Operacional (Ubuntu Server 10.04.1 LTS) 5. Comando bsicos do GNU/Linux 6. VIM Editor de Texto 7. Configurao Bsica (Endereamento IP DNS) 8. APT Gerenciador de Pacotes 9. Cron Agendador de Tarefas 10. Ferramentas de Rede (Nmap SSH SCP) 11. Servios de Redes Linux 12. DHCP (DHCP3-SERVER) 13. SERVIDOR FTP (VSFTPD) 14. SAMBA (COMPARTILHAMENTO DE ARQUIVOS) 15. CUPS (GERENCIAMENTO DE IMPRESSO) 16. PROXY (SQUID) 17. SARG (GERADOR DE RELATRIO) 18. FIREWALL (IPTABLES)

Redes de Computadores:

O primeiro experimento conhecido de conexo de computadores em rede foi feito em 1965, nos estados unidos, por obra de dois cientistas: Lawrence Roberts e Thomas Merril. A experincia foi realizada por meio de uma linha telefnica discada de baixa velocidade, fazendo a conexo entre dois centros de pesquisa em Massachusetts e na Califrnia. Estava plantada ali a semente para o que hoje a Internet me de todas as redes. O nascimento das redes de computadores, no por acaso, esta associada a corrida espacial. Boa parte dos elementos e aplicaes essenciais para a comunicao entre computadores, como o protocolo TCP/IP, a tecnologia de comutao de pacotes de dados e o correio eletrnico, esto relacionados ao desenvolvimento da Arpanet, a rede que deu origem a internet. Ela foi criada por um programa desenvolvido pela Advanced Research Projects Agency (ARPA) mais tarde rebatizada como DARPA. A agencia nasceu de uma iniciativa do departamento de defesa dos estados unidos, na poca preocupado em no perder terreno na corrida tecnolgica deflagrada pelos russos com o lanamento do satlite Sputinik, em 1957. Roberts, acadmico do MIT (Instituto de Tecnologia de Massachusetts), era um dos integrantes da DARPA e um dos pais da Arpanet, que comeou em 1969 conectando quatro universidades: UCLA Universidade da Califrnia em Los Angeles, Stanford, Santa Brbara e Utah. A separao dos militares da Arpanet s ocorreu em 1983, com a criao da Milnet. Alguns dos marcos importantes para a evoluo das redes locais de computadores ocorreram nos anos 70. Ate a dcada anterior os computadores eram maquinas gigantescas que processavam informaes por meio da leitura de cartes ou fitas magnticas. No havia interao entre o usurio e a maquina. No final dos anos 60 ocorreram os primeiros avanos que resultaram nos sistemas multiusurios de tempo compartilhado. Por meio de terminais interativos, diferentes usurios revezavam-se na utilizao do computador central. A IBM reinava praticamente sozinha nessa poca. A partir de 1970, com o desenvolvimento dos minicomputadores de 32 bits, os grandes fabricantes, como IBM, HP e Digital, j comeavam a planejar solues com o objetivo de distribuir o poder de processamento dos mainframes e assim facilitar o acesso s informaes. O lanamento do VAX pela Digital, em 1977, estava calcado numa estratgia de criar uma arquitetura de rede de computadores. Com isso, a empresa esperava levar vantagem sobre a rival Big Blue.

Quando um Vax era iniciado, ele j comeava a procurar por outras maquinas para se comunicar, um procedimento ousado numa poca em que poucas pessoas tinham idia do que era uma rede. A estratgia deu certo e o VAX alcanou grande popularidade, principalmente em aplicaes cientificas e de engenharia. Muitos anos depois, a Digital acabaria sendo comprada pela Compaq, que por sua vez, foi incorporada a HP. Mas as inovaes surgidas com o VAX e seu sistema operacional, o VMS, teriam grandes influencias nos computadores que viriam depois. O sistema operacional Unix, desenvolvido em 1969 nos laboratrios Bell, trouxe inovaes que logo o tornou popular nas universidades e nos centros de pesquisa a partir de 1974. Era um sistema portvel e modular, capaz de rodar em vrios computadores e evoluir junto com o hardware. Os sistemas operacionais da poca eram escritos em assembly, linguagem especifica para a plataforma de hardware. O Unix foi escrito quase totalmente em C, uma linguagem de alto nvel. Isso deu a ele uma indita flexibilidade. No comeo da dcada, ferramentas importantes foram criadas para o Unix, como o e-mail, o Telnet, que permitia o uso de terminais remotos, e o FTP, que se transformou no padro de transferncia de arquivos entre computadores em rede. Foi essa plataforma que nasceu a maior parte das tecnologias que hoje formam a Internet. ETHERNET Um dos principais saltos tecnolgicos que permitiram a popularizao das redes foi o desenvolvimento da tecnologia ethernet. Para se ter uma idia do avano que essa inveno representou, basta lembrar que, at aquela poca, os computadores no compartilhavam um cabo comum de conexo. Cada estao era ligada a outra numa distancia no superior a 2 metros. O pai da Ethernet Robert Metcalfe, um dos gnios produzidos pelo MIT e por Harvard e fundador da 3Com. Topologias das Redes de Computadores Ao longo da historia das redes, varias topologias foram experimentadas, com maior ou menor sucesso. Os trs tipos abaixo so esquemas bsicos empregados na conexo dos computadores. Os outros so variantes deles: ESTRELA

Todas as conexes partem de um ponto central (concentrador), normalmente um hub ou switch. o modelo mais utilizado atualmente. Segue imagem abaixo:

ANEL

Todos os computadores so conectados em um anel. a topologia das redes Token Ring, popularizadas pela IBM nos anos 80. Hoje, esse modelo mais utilizado em sistemas de automao industrial. Segue imagem abaixo:

BARRAMENTO

Os computadores so conectados num sistema linear de cabeamento em sequncia. Esse arranjo era usado nas primeiras geraes de redes Ethernet. Est sendo lentamente abandonado. Segue imagem abaixo:

Tipos de Redes de Computadores Uma rede pode ser definida por seu tamanho, topologia, meio fsico e protocolo utilizado. PAN (Personal Area Network, ou rede pessoal). Uma PAN uma rede de computadores usada para comunicao entre dispositivos de computador (incluindo telefones e assistentes pessoais digitais) perto de uma pessoa. LAN (local Area Network ou rede local) uma rede onde seu tamanho se limita a apenas uma pequena regio fisca.

MAN (Metropolitan Area Network)

Metropolitan Area Network ou Rede de rea Metropolitana, abrange uma cidade. O exemplo mais conhecido de uma MAN a rede de televiso a cabo disponvel em muitas cidades. A partir do momento que a internet atraiu uma audincia de massa, as operadoras de redes de TV a cabo, comearam a perceber que, com algumas mudanas no sistema, elas poderiam oferecer servios da Internet de mo dupla em partes no utilizadas do espectro. A televiso a cabo no a nica MAN. Os desenvolvimentos mais recentes para acesso internet de alta velocidade sem fio resultaram em outra MAN, que foi padronizada como IEEE 802.16.

WAN (Wide Area Network) A Wide Area Network (WAN), Rede de rea alargada ou Rede de longa distncia, tambm conhecida como Rede geograficamente distribuda, uma rede de computadores que abrange uma grande rea geogrfica, com freqncia um pas ou continente. Difere, assim, das PAN, das LAN e das MAN. A histria da WAN comea em 1965 quando Lawrence Roberts e Thomas Merril ligaram dois computadores, um TX-2 em Massachussets a um Q-32 na Califrnia, atravs de uma linha telefnica de baixa velocidade, criando a primeira rede de rea alargada (WAN). Um exemplo de WAN a prpria Internet.

RAN (Regional Area Network) RAN a sigla para Regional area network, uma rede de dados que interconecta negcios, residncias e governos em uma regio geogrfica especfica. RANs so maiores que local area networks (LANs) e metropolitan area networks (MANs), mas menores que wide area networks (WANs). RANs so comumente caracterizadas pelas conexes de alta velocidade utilizando cabo de fibra tica ou outra mdia digital.

CAN (Campus Area Network)

CAN (campus Area Network) uma rede que usa ligaes entre computadores localizados em reas de edifcios ou prdios diferentes, como em campus universitrios ou complexos industriais. Deve tambm usar links (ligaes) tpicos de LANs (Local Area Networks) ou perde-se seu carter de CAN para tornar-se uma MAN ou WAN, dependendo de quem seja o dono do link usado. Wi-Max Wi-Max, tambm chamado de Wi-MAX ou WiMAX, um acrnimo para Worldwide Interoperability for Microwave Access (Interoperabilidade Mundial para Acesso por Microondas). Trata-se de uma tecnologia de banda larga sem-fio, capaz de atuar como alternativa a tecnologias como cabo e DSL na construo de redes comunitrias e provimento de acesso de ltima milha. Em teoria, espera-se que os equipamentos Wi-Max tenham alcance de at 50 Km e capacidade de banda passante de at 70 Mbps. Na prtica, alcance e banda dependero do equipamento e da freqncia usados, bem como da existncia ou no de visada (significa dizer: se a antena de um ponto consegue "ver" a antena de outro, se no h obstculos no caminho construes, montanhas). O WiMAX atualmente trabalha com os padres IEEE 802.16d e IEEE 802.16e. O 802.16d (ratificado em Junho de 2004, vide IEEE Scores 802.16d) o padro de Acesso sem Fio de Banda Larga Fixa (WiMAX Fixo) e cujos equipamentos faro os testes de aderncia ao padro e de inter-operabilidade no 2S04 e estaro disponveis comercialmente no 1S05. O 802.16e (ratificado no final de 2004) o padro de Acesso sem Fio de Banda Larga Mvel - WiMAX Mvel (assegurando conectividade em velocidades de at 100 Km/h) e cujos equipamentos comearam a ser disponibilizados em 2006. O padro 802.16d opera em faixa de freqncias de 2 a 11 GHz e o 802.16e de 2 a 6 GHz. O padro 802.16d uma evoluo do padro anterior 802.16a homologado em Janeiro de 2003 e j permite um menor consumo de energia e menores CPEs (Customer Premises Equipment) como tambm inova na incorporao do conceito de Antena MIMO (Multiple Input and Multiple Output). O WiMAX suporta topologias ponto-multiponto e malha (Mesh). Um lado tambm bastante inovador nesta tecnologia que ela opera em bandas de freqncias no licenciadas (2,4 e 5,8 GHZ) e em bandas licenciadas (3,5 e 10,5 GHZ). Existe um movimento da FCC americana de buscar mais espectro de freqncia a partir da reengenharia de espectro na banda da tecnologia MMDS/ITFS em 2,5 GHz buscando espao de freqncia para novos servios incluindo o WiMAX. Este movimento poderia ser seguido no Brasil pela Anatel. A modulao OFDM utilizada no WiMAX pode ser utilizada para proporcionar a conexo "sem linha de visada" (NLOS = Non-Line of Sight) entre Estaes Base e equipamentos de clientes. WiMAX pode atingir um alcance de at 50 Kms, com taxas de dados compartilhadas aproximando-se de 75 Mbps em canalizao de 20 MHz. A performance NLOS assegurada mais fortemente quando se est mais prximo da Estao Base. No alcance mximo de 50 Km espera-se apenas uma performance LOS (Line of Sight). Um raio tpico de BWA em NLOS varia de 5 a 8 Km. Como dito inicialmente, o WiMAX uma soluo de BWA completa para voz, dados e vdeo (Streaming) com QoS (Quality of Service) e Segurana intrnsecas. A Segurana do WiMAX suporta a autenticao com certificados X.509 e criptografia de

dados utilizando DES (Data Encryption Standard). O WiMAX pode transportar IPv4, IPv6, Ethernet ou ambos simultaneamente com QoS.

Redes AD HOC

Em telecomunicaes, redes ad hoc so um tipo de rede que no possui um n ou terminal especial - geralmente designado como ponto de acesso - para o qual todas as comunicaes convergem e que as encaminha para os respectivos destinos. Assim, uma rede de computadores ad hoc aquela na qual todos os terminais funcionam como roteadores, encaminhando de forma comunitria as comunicaes advindas dos terminais vizinhos. Um dos protocolos usados para redes ad hoc sem fio o OLSR. Ad hoc uma expresso latina que significa "para esta finalidade" ou "com este objetivo". Geralmente se refere a uma soluo destinada a atender a uma necessidade especfica ou resolver um problema imediato - e apenas para este propsito, no sendo aplicvel a outros casos. Portanto, tem um carter temporrio. Em um processo ad hoc, nenhuma tcnica de uso geral empregada pois as fases variam a cada aplicao, conforme a situao assim o requeira. O processo nunca planejado ou preparado antecipadamente. Como imagem abaixo:

Instalao do Ubuntu Server 10.04.1 LTSInsira a imagem ou CD de inicializao do ubuntu server 10.04.1 LTS e slecione a linguagem desejada, como na figura a abaixo.

Obs.: preferencialmente escolha a linguagem de seu pais de origem portugus do Brasil. Em seguida prescione a tecla ENTER.Ir aparecer a tela para que selecione o tipo de instalao que deseja fazer, como na figura abaixo:

Aps ter escolhido a instalao desejada (INSTALAR O UBUNTU SERVER) prescione ENTER.

Em seguida ir aparecer a tela para que possa selecionar o teclado que estar usando nesse microcomputador.

Lembrando que no nosso caso temos usar a opo GENERIC, por que no estamos usando nenhum tipo de teclado especifico de algum fabricante, e prescione a tecla ENTER.

Na tela seguinte escolha qual a origem(Pas) de seu teclado.

Em seguida pressione a tecla ENTER, para seguirmos com nossa instalao.

Na tela seguinte nos perguntar qual no layout de teclado, ou seja o sistema quer saber se nosso teclado padro ABNT2 ou ABNT, como saber ?

Identificamos nosso teclado como ABNT2 quando nele temos a tecla e quando no temos a tecla nosso teclado e conhecido como ABNT ou USA INTERNATIONAL.

Em nosso caso estaremos usando a opo Brasil que nos indicar o padro ABNT2, como na seguinte tela.

Em seguida prescione ENTER, para continuarmos.

A seguinte tela ir reconhecer todos os perifricos de hardware e identificando nossa placa de rede.

A prxima tela ser para configurao de nossa rede (locahost).

Em seguida prescione ENTER.

Agora iremos configurar nosso fuso horrio, escolhendo a regio onde estamos localizado.

Pressionando ENTER iremos formatar nosso disco rgido de forma adequada para um bom funcionamento de nosso servidor.

Agora iremos determinar quais parties sero criadas e para que fins sero usadas.

Tabela de Particionamento: /boot / /home /var /tmp /usr/local swap arquivos estticos do carregador de inicializao. o sistema de arquivos raiz diretrio pessoal do usurio dados variveis arquivos temporrios hierarquia local memria de troca.

Na seguinte tela escolha a opo MANUAL para que possamos particionar nosso disco as parties necessrias para um servidor de rede.

Na tela seguinte selecione o Disco Rgido de seu computador, em meu caso ele esta marcado como SCSI (0,0,0) (sda) 42.9 GB ATA VBOX HARDDISK.

Pressione Enter para podermos criar uma nova tabela de parties, j que nosso disco rgido nunca foi usado para eventual instalao de sistema operacional.

Escolha a opo sim para darmos inicio ao nosso particionamento. E selecione a opo onde esta indicando seu disco rgido vazio(ESPAO LIVRE).

Com a opo selecionada, tecle ENTER para o particionamento dar inicio. Ir aparecer uma janela perguntando se queremos criar uma nova partio, responda que sim .

Indique qual ser o tamanho da partio /boot (inicializao) que ser representado por 100 MB, j que sabemos que a imagem do kernel no ocupa mais do que 50 MB.

Em seguida ir mostrar uma tela perguntando se essa partio ser PRIMRIA ou LGICA, tendo o conhecimento de que parties primrias indicam que o espao determinado ser separado fisicamente e parties logicas o espao determinado ser virtual, iremos escolher a opo primria.

Por questes de ordem no sistema de arquivos do sistema operacional iremos colocar nossa primeira partio no inicio da tabela.

Voltando para o questionrio de criao de partio escolha a opo usar como o SISTEMA DE ARQUIVOS COM JOURNALING EXT4. Na opo Flag inicializvel ir aparecer como desligado selecione-a e clique na

tecla ENTER de seu teclado para que modifique para ligado, assim sempre que seu servidor for ligado a partio /boot ser responsvel por colocar o kernel em funcionamento.

Em seguida selecione e clique em Finalizar a configurao da partio e clique no ENTER.

Pronto nossa partio foi configurado com sucesso. Bem podemos continuar a criao das parties restantes citadas acima na pgina

14 de Manual de Instrues da mesma forma que criamos a primeira partio. Onde nosso disco rgido ficar particionado da forma que mostra a imagem abaixo.

Pronto basta selecionar e clicar em FINALIZAR O PARTICIONAMENTO E ESCREVER AS MUDANAS NO DISCO. Ir aparecer uma tela perguntando se voc tem certeza se quer escrever as mudanas no disco rgido, selecione e clique na opo SIM.

Em seguida ir ser iniciado a formatao do disco rgido.

Aps a formatao e o particionamento comeara e ser instalado o sistema basico para o funcionamento do sistema operacional.

Logo aps ser necessrio a criao de usurio e senha para ingresso ao sistema operacional.

Coloque uma senha deseja para o usurio que acabou de criar,como a figura abaixo mostra.

Na tela seguinte repita sua senha e pronto clique em Continuar.

Na opo de encriptao selecione a opo no, j que estamos montando um servidor de rede para visando a segurana de nosso ambiente.

A prxima tela referesse a a configurao de proxy em seu sistema operacional, ou seja se onde voc estiver instalando esse servidor houver um outro tipo de servidor de internet que esteja sendo o proxy de sua rede configure-o na tela seguinte, que ser usado para a comunicao com a Internet para que possamos baixar e instalar arquivos e programas em nosso computador atraves do gerenciador de pacotes do sistema operacional Ubuntu Server 10.04.1 LTS (APT).

Aps a insero do endereo proxy(se houver) clique em continuar que a tela de atualizao automtica aparecer.

Escolha a opo SEM ATUALIZAES AUTOMTICAS, por que no recomendado a atualizao automtica de um servidor, inda mais quem ir fazer a segurana de trafego de dados do nosso ambiente. Na prxima tela no sette nenhuma opo por que iremos instalar diretamente da internet, assim que o sistema operacional for totalmente instalado.

Se caso voc estiver instalando esse sistema operacional e onde voc estiver no houver internet disponivel, selecione o que deseja instalar de complemento.

Parece demorado, mas no j estamos acabando. Aps termos dado continuidade na instalao sem que precisssemos selecionar nenhum software que esteja no CD de instalao do Ubuntu Server 10.04.1 LTS, segue a tela de instalao configurao do sistema operacional.

Prontinho agora s aguarda o termino da barra de porcentagem chegar ao fim para que possamos instalar o gerencioador de sistemas operacionais (GRUB).

Clique em Sim para terminarmos com a instalao do GRUB (gerenciador de sistemas operacionais).

Pronto finalmente acabamos a instalao do sistema operacional do nosso servidor.

Comandos do GNU/LinuxO Linux (na verdade, GNU/Linux), assim como qualquer sistema operacional moderno, perfeitamente capaz de oferecer interao com o usurio por meio de grficos, fazendo com que seja possvel utilizar a maioria de seus recursos atravs do mouse. Porm, em dado momento, o modo grfico pode no estar disponvel, restando apenas o modo texto (para a insero de comandos). Alm disso, determinadas tarefas s podem ser executadas por comandos digitados. Para no ficar perdido em qualquer dessas situaes, necessrio conhecer alguns comandos do Linux. Onde e como digitar os comandos? Se o Linux que voc utiliza entra direto no modo grfico ao ser inicializado (que o que acontece na grande maioria das distribuies atuais), possvel inserir comandos no sistema atravs de uma aplicao de terminal. Esse recurso facilmente localizvel em qualquer distribuio. A imagem abaixo, por exemplo, mostra um terminal no Ubuntu Linux:

Se o computador que voc acessa no estiver com o modo grfico ativado, ser possvel digitar comandos diretamente, bastando se logar. Quando o comando inserido, cabe ao interpretador de comandos (conhecido como shell) execut-lo. O linux conta com mais de um, sendo os mais conhecidos o bash e o sh. Quando um terminal acessado, uma informao aparece no campo de insero de comandos. importante saber interpret-la. Para isso, veja os exemplos abaixo: Exemplo 1 : root@nome_do_pc:~# Exemplo 2 : usurio@nome_do_pc:~$ Obs.: dependendo de sua distribuio e de seu shell, a linha de comandos pode ter um formato ligeiramente diferente do que mostrado nos exemplos. Nos exemplos, a palavra existente antes do smbolo @ diz qual o nome do usurio que est usando o terminal. Os nomes que aparecem depois do @ indicam o computador que est sendo acessado seguido do diretrio. O caractere que aparece no final indica qual o "poder" do usurio. Se o smbolo for #, significa que usurio tem privilgios de administrador (root). Por outro lado, se o smbolo for $, significa que este um usurio comum, incapaz de acessar todos os recursos que um administrador acessa. Independente de qual seja, depois do caractere

que o usurio pode digitar os comandos. Agora que voc j sabe como agir em um terminal, vamos aos comandos do Linux mais comuns. Para utiliz-los, basta digit-los e pressionar a tecla Enter de seu teclado. importante frisar que, dependendo de sua distribuio Linux, um ou outro comando pode estar indisponvel. Alm disso, alguns comandos s podem ser executados por usurios com privilgios de administrador. A relao a seguir mostra os comandos seguidos de uma breve descrio: cal: exibe um calendrio; cat arquivo: mostra o contedo de um arquivo. Por exemplo, para ver o arquivo txt, basta digitar cat nome_do_arquivo.txt; cd diretrio: abre um diretrio. Por exemplo, para abrir a pasta /mnt, basta digitar cd /mnt. Para ir ao diretrio raiz a partir de qualquer outro, digite apenas cd; chmod: comando para alterar as permisses de arquivos e diretriosl, segue exemplos: g = grupo u = usuario r = read w = write x = execute 7 igual rwx (permisso total) 4 igual r--(permisso de leitura) 2 igual -w- (permisso de escrita) 1 igual --x (permisso de execuo) 0 igual --- (permisso negada)

clear: elimina todo o contedo visvel, deixando a linha de comando no topo, como se o terminal acabasse de ter sido acessado; cp origem destino: copia um arquivo ou diretrio para outro local. Por exemplo, para copiar o arquivo teste.txt para o /home(diretrio dos usurios) basta digitar cp teste.txt /home/; date: mostra a data e a hora atual; df: mostra as parties usadas; diff arquivo1 arquivo2: indica as diferenas entre dois arquivos, por exemplo: diff calc.c calc2.c; du diretrio: mostra o tamanho de um diretrio; file arquivo: mostra informaes de um arquivo; find diretrio parmetro termo: o comando find serve para localizar informaes. Para isso, deve-se digitar o comando seguido do diretrio da pesquisa mais um parmetro (ver lista abaixo) e o termo da busca. Parmetros: name - busca por nome type - busca por tipo size - busca pelo tamanho do arquivo mtime - busca por data de modificao Exemplo: find /home name tristania finger usurio: exibe informaes sobre o usurio indicado; free: mostra a quantidade de memria RAM disponvel; halt: desliga o computador;

history: mostra os ltimos comandos inseridos; id usurio: mostra qual o nmero de identificao do usurio especificado no sistema; kill: encerra processados em andamento. ls: lista os arquivos e diretrios da pasta atual; lpr arquivo: imprime o arquivo especificado; lpq: mostra o status da fila de impresso; lprm: remove trabalhos da fila de impresso; lynx: abre o navegador de internet de mesmo nome; mv origem destino: tem a mesma funo do comando cp, s que ao invs de copiar, move o arquivo ou o diretrio para o destino especificado; mkdir diretrio: cria um diretrio, por exemplo, mkdir infowester cria uma pasta de nome infowester; passwd: altera sua senha. Para um administrador mudar a senha de um usurio, basta digitar passwd seguido do nome deste; ps: mostra os processos em execuo. Saiba mais no artigo Processos no Linux; pwd: mostra o diretrio em que voc est; reboot: reinicia o sistema imediatamente (pouco recomendvel, prefervel shutdown -r now); rm arquivo: apaga o arquivo especificado; rmdir diretrio: apaga o diretrio especificado, desde que vazio; shutdown: desliga ou reinicia o computador, veja: shutdown -r now: reinicia o computador shutdown -h now: desliga o computador O parmetro now pode ser mudado. Por exemplo: digite shutdown -r +10 e o sistema ir reiniciar daqui a 10 minutos; su ou sudo su -: passa para o usurio administrador, isto , root (perceba que o smbolo $ mudar para #); tar -xzvf arquivo.tar.gz: extrai um arquivo compactado em tar.gz. top: exibe a lista dos processos, conforme os recursos de memria consumidos; uname: mostra informaes do sistema operacional e do computador. Digite uname -a para obter mais detalhes; useradd usurio: cria uma nova conta usurio, por exemplo, useradd marvin cria o usurio marvin; userdel usurio: apaga a conta do usurio especificado; uptime: mostra a quantas horas seu computador est ligado; whereis nome: procura pelo binrio do arquivo indicado, til para conhecer seu diretrio ou se ele existe no sistema; w: mostra os usurios logados atualmente no computador (til para servidores); who: mostra quem est usando o sistema.

ifconfig: Visualizar os ips da nossa mquina, entre outras funes relacionadas com ips ping: Pingar um determinado host, ou seja, enviar pacotes icmp para um determinado host e medir tempos de resposta, entre outras coisas Vim: indica o editor de texto; Veja Explicao abaixo. Introduo "vi" a sigla para "Visual Interface". A origem desse nome se deve ao seguinte fato: quando o vi foi criado (comeo da dcada de 80), no era comum existirem editores de textos como nos dias de hoje. Naquela poca, voc digitava um texto mas no podia v-lo! Isso mesmo! Em 1992, foi criado o vim (Vi IMitator), um clone fiel ao vi, porm com muitas outras funcionaliades, que s foram sendo adicionadas. Algum tempo depois, o vim passou a ser chamado de `Vi IMproved' (vi melhorado). O vim um dos editores de textos mais utilizados no mundo Unix. Em alguns sistemas, existe um link simblico (/bin/vi) apontando para o /usr/vim. Em outros, o /bin/vi o executvel, s que executa diretamente o vim. Muita gente acha que usa vi, mas na verdade utiliza o vim, e eles tm algumas diferenas. O que voc ver abaixo fala sobre o vim. exclusivo Existe tambm o gvim, que o vim em modo grfico, com todas as funcionalidades do vim em pleno funcionamento, o que muda apenas o modo grfico mesmo. O vim possui vrios modos, ou seja, estados em que ele se encontra. So eles: modo de insero, comandos, linha de comando, visual, busca e reposio. Abordarei os dois principais: Modo de insero e de comandos Para identificar o modo (estado) do vim, basta visualizar o rodap da tela. Agora, vamos prtica. Para executar o vim, utilize: $ vi => Abre o vim vazio, sem nenhum arquivo e exibe a tela de apresentao. $ vi arquivo => Abre o arquivo de nome "arquivo". $ vi arquivo + => Abre o arquivo de nome "arquivo", com o cursor no final do mesmo. $ vi arquivo +10 => Abre o arquivo de nome "arquivo", com o cursor na linha 10. $ vi arquivo +/Copag => Abre o arquivo de nome "arquivo", na primeira ocorrncia da palavra "Copag". Ao executar o vim, ele inicia diretamente em modo de comando. Para comprovar, s olhar na ltima linha (rodap) e no vai haver nada l. Isso quer dizer que voc no conseguir escrever nada, pode digitar a vontade que s vai ouvir beeps. Para comear a escrever, pressione "i" em seu teclado. O vim entra em modo de insero, que voc comprova (como falado anteriormente) pelo rodap da tela, onde fica a seguinte marcao: - - -- INSERT -Suponha que voc j digitou o bastante, e quer salvar, por segurana. Pressione a tecla ESC para voltar em modo de comandos. E veja os comandos para salvar/sair: :w => Salva o arquivo que est sendo editado no momento. :q => Sai.

:wq => Salva e sai. :x => Idem. ZZ => Idem. :w! => Salva forado. :q! => Sai forado. :wq! => Salva e sai forado. Ento, voc editou uma boa quantidade de textos e quer salvar: :w Agora, quer voltar a editar o texto: i Lembre que utilizando o "i" para insero, a mesma se inicia inserindo texto antes do cursor. Veja agora outros subcomandos de insero de texto: A => Insere o texto no fim da linha onde se encontra o cursor o => Adiciona uma linha vazia abaixo da linha corrente O => Adiciona uma linha vazia acima da linha corrente Ctrl + h => Apaga ltimo caracter esquerda Voltando ao modo de comando: Veja agora subcomandos para movimentao pelo texto: Ctrl + f => Passa para a tela seguinte. Ctrl + b => Passa para a tela anterior. H => Move o cursor para a primeira linha da tela. M => Move o cursor para o meio da tela. L => Move o cursor para a ltima linha da tela. h => Move o cursor para caracter a esquerda. j => Move o cursor para linha abaixo. k => Move o cursor para linha acima. l => Move o cursor para caracter a direita. w => Move o cursor para o incio da prxima palavra (no ignorando a pontuao). W => Move o cursor para o incio da prxima palavra (ignorando a pontuao). b => Move o cursor para o incio da palavra anterior (no ignorando a pontuao). B => Move o cursor para o incio da palavra anterior (ignorando a pontuao). 0 (zero) => Move o cursor para o incio da linha corrente. ^ => Move o cursor para o primeiro caracter no branco da linha. $ => Move o cursor para o fim da linha corrente. nG => Move o cursor para a linha de nmero "n" (susbstitua n pelo nmero da linha).. G => Move o cursor para a ltima linha do arquivo. Copiando e colando textos no vim (utilizando o mouse) Selecione o texto necessrio com o boto esquerdo do mouse. Quando voc for colar, saiba que o texto ser colado a partir de onde se encontra o cursor (esse que aparece, s vezes piscando e s vezes no, quando voc est digitando). Para colar, depois de ter selecionado o texto, voc pode utilizar uma dessas opes: 1) Pressionando o boto direito do mouse; 2) Pressionando o boto direito + boto esquerdo juntos; 3) Pressionando o boto do meio do mouse (mouse de 3 botes);

Observao: Lembre-se que o vim deve estar no modo de insero. Usando o modo visual do vim Entre no modo visual: v Agora, utilize as teclas direcionais (setas) do teclado, para selecionar o texto desejado. Pressione e cole, utilizando a tecla "p" (paste). Veja agora como apagar um determinado texto: Utilizando normalmente as teclas Backspace/Delete, ou entrando em modo visual (v) e pressionando a tecla Delete. Voc pode remover at o final de uma palavra, utilizando: dw Pode tambm remover at o final de uma frase: d$ Desfazendo uma ao claro que voc pode desfazer uma ao que voc considera errado, ou que errou ao digitar o texto. s utilizar: u Se voc precisar voltar o texto na tela, utilize as teclas Ctrl + r. Subcomandos para localizao de texto /palavra => Procura pela palavra ou caracter acima ou abaixo do texto. ?palavra => Move para a ocorrncia anterior da palavra (para repetir a busca use "n"). n => Repete o ltimo comando utilizando / ou ?. N => Repete o ltimo comando / ou ? ao contrrio (baixo para cima). Ctrl+g => Mostra o nome do arquivo, o nmero da linha corrente e o total de linhas. Mais opes para remoo de caracteres x => Apaga o caracter onde o cursor estiver. dd => Apaga a linha inteira onde o cursor estive D => Apaga a linha a partir da posio do cursor at o fim. J => Une a linha corrente prxima. :5dd => Removeas prximas 7 linhas a partir da posio do atual do cursor (qualquer nmero). :yy => Copia a linha onde o cursor se encontra. :5yy => Copia as prximas 5 linhas a partir da posio atual do cursor. :p => Cola o que foi copiado na linha abaixo do cursor atual. Opes para substituio de textos rCARACTER => Substitui o caracter onde o cursor se encontra pelo caracter especificado em CARACTER. RTEXTO => Substitui o texto corrente pelo texto digitado (sobrepe). cw => Remove a palavra corrente para substituio. cc => Remove a linha corrente para substituio. C => Substitui o restante da linha corrente, esperando o texto logo aps o comando. J => Une a linha corrente prxima. :s/velho/novo => Substitui a primeira ocorrncia de "velho" por "novo" na linha corrente. :% s/velho/novo => Substitui em todo o arquivo (%) a primeira ocorrncia de "velho" por "novo" em cada linha. :% s/velho/novo/g => Substitui em todo o arquivo (%), todas (g) as ocorrncias de "velho" por "novo". :% s/velho/novo/gc => Igual ao anterior, mas pedindo confirmao para cada substituio.

:% s/^String[0-9]//gc => Expresses regulares tambm funcionam, como no sed. :% s/./\u&/gc => Converte para maisculas (\u) o primeiro caracter (.) de cada linha. Abreviaes :ab => Mostra todas as abbr. :abc[lear] => Remove todos. :iab => Apenas para modo de insero. :iabc[lear] => Tira todos de insero. :cab => Apenas p/modo de comando ( : ). :cabc[lear] => Tira todos os modos de comando. :una vc => Tira ab para vc. Observao: Pontuao, espao ou o ENTER, disparam a expanso de uma abreviao. Porm, Ctrl+] tambm pode ser usado, para expandir sem adicionar caracteres. Opes para o comando SET :set autowrite aw => Salva a cada alterao. backspace bs => Comportamento backspace (1 ou 2). errorbell eb => Campainha de erro. expandtab et => Troca tab por espacos. fileformat=dos ff => Converte o arquivo para DOS. hidden hid => Preserva o buffer. hlsearch hls => Elumina a ltima procura. ignorecase ic => Case insensitive na busca. incsearch is => Ilumina procura enquanto digita. laststatus=2 => Mostra linha de estado. lazyredraw lz => No redesenha em macros. lines=N => Mmero de linhas na tela. magic => Usar mgicas na procura de padres. number nu => Mostra nm da linha. report=N => Mostra aviso quando N linhas mudaram (0=sempre). showcmd => Mostra o comando que se est fazendo. showmatch sm => Mostra o casamento de {},[],(). smartcase scs => Assume "noic" quando tiver maisculas. textwidth=N => Quebra de linha do texto. undolevels ul=N => Guarde os N ltimos comandos para desfazer (padro=1000). vb t_vb= => Retira o "beep" de erro. Agora invertendo maisculas/minsculas 5~ => Inverte os 5 prximos caracteres. g~$ => Inverte todos os caracteres at o fim da linha. seleciona, u => Converte para minsculas. seleciona, U => Converte para maisculas. seleciona, ~ => Inverte. Observao: Onde est escrito "seleciona", para fazer utilizando o modo visual (v). Agora veja como definir coluna de quebra de linha (problema que eu tive quando iniciei no aprendizado do vim): :set textwidth=N

Se voc j estiver num arquivo pronto: :set wm=5 => O nmero 5 aqui so as colunas que sero "cortadas". gqG => At o final do arquivo. Vamos ver agora o que podemos fazer pressionando a tecla "Ctrl": claro que segurando Ctrl + . No modo de COMANDO: A => Incrementa um nmero (Add) X => Decrementa um nmero S => ScrollLock L => Redesenha tela V => Modo visual (Visual Vertical) G => Status do arquivo M => Incio da prxima linha E => Linha abaixo sem mover cursor Y => Linha acima sem mover cursor N => Prxima linha (Next) P => Linha anterior (Previous) F => PageDown (Forward) B => PageUp (Backyard) U => PageUp / 2 (Up) D => PageDown / 2 (Down) Agora, no modo de INSERO: A => Insere o ltimo texto inserido I => TAB S => ScrollLock H => BackSpace T => 2 tab's no incio da linha (Two Tabs) V => Anula expanso do prximo caractere J => Enter - quebra de linha M => Enter - quebra de linha L => Redesenha tela R => Insere contedo do registrador [a-z] (Veja abaixo) K => Insere um dgrafo (Veja abaixo) N => Procura palavra no texto atual (Next) P => Procura palavra no texto atual (Previous) Y => Copia caractere que est acima (Yank) Veja os caracteres especiais: ga => Mostra o cdigo da letra sobre o cursor. :dig => Mostra todos os dgrafos disponveis (tabela). Exemplos: Para fazer um , use Ctrl+K,-,o ("Ctrl"+"K"+"-"+"o"). Para fazer um , use Ctrl+K,1,2 ("Ctrl"+"K"+"1"+"2").

Trabalhando com arquivos e janelas mltiplas Voc pode abrir mltiplos arquivos, por exemplo: $ vim arquivo1 arquivo2 E pode alternar entre as janelas. Veja: :wn => Grava o atual e vai ao prximo. :wN => Grava o atual e vai ao anterior. :args => Mostra todos os arquivos atuais. :qa => Sai de todas as janelas de uma vez. :all => Abre todos os arquivos em janelas individuais. Tecla chave das janelas = Crtl+W j, seta abaixo => Move para janela abaixo. k, seta acima => Move para janela acima. o => Apenas esta janela, fecha todas as outras (Only). +, - => Muda o tamanho da janela. = => Deixa todas as janelas com tamanhos iguais.

Configurao Bsica do Sistema Operacional Primeiramente, iremos configurar um endereo IP em nosso servidor, para isso iremos usar comando ifconfig, como a imagem abaixo:

Veja que na figura acima quando digitamos o comando ifconfig ele nos mostra quais as interfaces de redes esto em funcionamento e qual IP esta configurado nessa interface de rede. Siga o exemplo abaixo para a configurao do IP.

Para que possamos configurar nossa interface de rede precisamos eeditar o arquivo de configurao as interfaces de rede(Placas de Redes), para isso edite o arquivo /etc/network/interfaces. #vim /etc/network/interfaces ## Aqui voc coloca o seguinte contedo para o navegao de nosso servidor

Explicando o contedo do arquivo de configurao de rede: auto lo iface eth0 inet static iniciar automaticamente o loopback interface de rede primeira placa de rede endereo IP IP estatico

Aps ter configurado sua placa de rede, ser necessrio salvar e sair do editor de texto(vim) e reiniciar a placa de rede, ao voltar para o terminal digite o seguinte comando: # /etc/initi.d/networking restart Aps ter reiniciado a placa de rede termos que indicar um DNS externo para nosso servidor poder navegar na internet. DNS significa Domain Name System (sistema de nomes de domnio ). O DNS converte os nomes de mquinas para endereos IPs que todas as mquinas da Internet possuem. Ele faz o mapeamento do nome para o endereo e do endereo para o nome e algumas outras coisas. Um mapeamento simplesmente uma associao entre duas coisas, neste caso um nome de computador, como www.meusite.com.br, e o endereo IP desta mquina (ou endereos) como 200.245.157.9. O DNS foi criado com o objetivo de tornar as coisas mais fceis para o usurio, permitindo assim, a identificao de computadores na Internet ou redes locais atravs de nomes ( como se tivssemos apenas que decorar o nome da pessoa ao invs de um

nmero de telefone). A parte responsvel por traduzir os nomes como www.nome.com.br em um endereo IP chamada de resolvedor de nomes. O resolvedor de nomes pode ser um banco de dados local (controlador por um arquivo ou programa) que converte automaticamente os nomes em endereos IP ou atravs de servidores DNS que fazem a busca em um banco de dados na Internet e retornam o endereo IP do computador desejado. Um servidor DNS mais difundido na Internet o bind.

Para configurarmos endereos de DNS`s em nosso servidor devemos editar o arquivo de configurao que o representa. Edite o arquivo resolv.conf da seguinte forma: # vim /etc/resolv.conf

Salve e saia do arquivo de configurao, pronto agora teste se seu servidor esta navegando na rede(internet). Como testar, para isso use o comando ping, da seguinte forma:

Ao ter usado o comando ping e aparecer a mesma resposta que mostra a imagem acima, prontinho seu servidor esta navegando na rede e pronto para comearmos a instalao dos pacotes que iremos trabalhar.

APT Gerenciador de PacotesO problema que instalar programas a partir dos fontes demorado e nem sempre simples, j que voc precisa ter instalados uma grande quantidade de compiladores e bibliotecas, necessrios para compilar os mais diversos programas. Existem incontveis pequenas bibliotecas e ferramentas de desenvolvimento por a e no muito vivel tentar manter todas elas instaladas. Compilar significa transformar o cdigo fonte, escrito pelo programador, nos arquivos binrios que so executados pelo sistema. Ao compilar um programa, so gerados vrios executveis, bibliotecas e arquivos de configurao, que so copiados para pastas especficas do sistema. Os executveis vo para a pasta "/usr/bin", as bibliotecas para a "/usr/lib", os arquivos de configurao para o "/etc" e assim por diante. Algum chegou, ento, a uma concluso obvia: ao invs de cada um ter que ter o trabalho de compilar o programa na sua prpria mquina, seria mais simples se algum compilasse e distribusse um arquivo pronto, com os componentes j compilados, em um formato simples de instalar. Nasciam ento os pacotes pr-compilados :). Os pacotes so uma idia muito simples. Voc cria um arquivo compactado contendo a mesma estrutura de pastas e arquivos que seria criada ao instalar o programa manualmente. Ao instalar o pacote, os arquivos so descompactados no diretrio raiz, fazendo com que todos os arquivos sejam colocados nos diretrios corretos. Ao desinstalar o pacote, os arquivos so removidos, deixando o sistema da forma como estava inicialmente. Uma forma rpida e limpa de instalar programas. Existem basicamente trs formatos de pacotes diferentes: os pacotes .deb, usados pelas distribuies derivadas do Debian (incluindo o Kurumin, Ubuntu e Kubuntu), os pacotes .rpm, usados pelas distribuies derivadas do Red Hat (Fedora, Mandriva e outros) e os pacotes .tgz, usados pelo Slackware e derivados. No existe nada de fundamentalmente diferente entre os trs formatos e inclusive possvel transformar um pacote .rpm em um pacote .deb. Entretanto, devido s diferenas que existem entre uma distribuio e outra, no existe garantia de que um pacote do Fedora funcionar no Debian, por exemplo. O prximo passo foi a criao dos gerenciadores de pacotes, programas que permitem baixar e instalar novos programas de forma automtica, verificando as dependncias e, caso necessrio, baixar outros programas e bibliotecas de que o programa inicial precisa. J vimos alguns exemplos do uso do apt-get, o gerenciador usado nas distribuies derivadas do Debian. Alm dele, temos tambm o urpmi, usado no Mandriva, o yum, usado no Fedora, e o emerge, usado no Gentoo. Voc pode perguntar por que no fazem como no Windows, onde cada programa tem seu instalador. Na verdade, muitos programas so distribudos desta forma, como o

Java, OpenOffice, Firefox, Thunderbird, VMware e diversos games. Nestes casos, voc simplesmente executa o arquivo e o instalador se encarrega do resto da instalao. O inconveniente que estes pacotes so desenvolvidos para funcionar em qualquer distribuio, por isso incluem todo tipo de bibliotecas e mdulos de que o programa possa precisar, sem reaproveitar os componentes que voc j tem instalados. Isso faz com que os pacotes sejam prticos de instalar, mas em compensao bem maiores (e mais pesados), assim como muitos dos programas do Windows. Em resumo, podemos dizer que existem trs formas de instalar programas no Linux: 1- Usar o apt-get ou outro gerenciador de pacotes para instalar pacotes prprios da distribuio em uso. Esta a forma mais simples e menos passvel de problemas, que voc usa sempre que possvel. 2- Programas com instaladores prprios, destinados a funcionar em vrias distribuies. Eles tambm so simples de instalar, mas no to simples quanto usar o apt-get. Muitos programas so distribudos apenas desta forma, como o VMware. 3- Instalar o programa a partir do cdigo fonte, o que pode ser necessrio no caso de aplicativos pouco comuns, que no estejam disponveis de outra forma. Digite no terminal ou console: Para atualizar a lista local de pacotes: $ sudo apt-get update Para instalar todas as atualizaes disponveis: $ sudo apt-get upgrade Para instalar um pacote: $ sudo apt-get install nomedopacote Para remover um pacote: $ sudo apt-get remove nomedopacote Obs.: Muitos pacotes, se no todos, deixam arquivos ou registros de configurao. Para remover completamente um pacote: $ sudo apt-get --purge remove nomedopacote Para listar outros comandos e opes do apt: $ apt-get --help

O que cron Para executar as tarefas, o cron usa uma espcie de tabela conhecida como crontab. O arquivo crontab geralmente fica localizado no diretrio /etc, mas tambm pode estar em um diretrio que cria um crontab para cada usurio do sistema (geralmente em /var/spool/cron/), tudo depende das configuraes do sistema operacional utilizado. Como usar o cron O primeiro passo abrir o crontab. Para isso, voc pode usar editores de textos como vim, emacs ou nano. Tambm possvel digitar o comando crontab -e para editar o arquivo exclusivo de seu usurio. Neste caso, a edio feita como se voc estivesse usando o vim. O crontab tem o seguinte formato: [minutos] [horas] [dias do ms] [ms] [dias da semana] [usurio] [comando] O preenchimento de cada campo feito da seguinte maneira: - Minutos: informe nmeros de 0 a 59; - Horas: informe nmeros de 0 a 23; - Dias do ms: informe nmeros de 0 a 31; - Ms: informe nmeros de 1 a 12; - Dias da semana: informe nmeros de 0 a 7; - Usurio: o usurio que vai executar o comando (no necessrio especific-lo se o arquivo do prprio usurio for usado); - Comando: a tarefa que deve ser executada. Repare que a ordem desses valores indica o nome correspondente do campo. Por exemplo, no campo ms, 1 a 12 quer dizer de "janeiro a dezembro". No caso de dias da semana, 0 a 6 quer dizer de "domingo a sbado". Note que o nmero 7 tambm pode ser usado. Neste caso, assim como o nmero 0, o 7 equivale ao dia de "domingo". No lugar desses valores, voc pode informar * (asterisco) para especificar uma execuo constante. Por exemplo, se o campo dias do ms conter *, o comando relacionado ser executado todos os dias. Voc tambm pode informar intervalos no preenchimento, separando os nmeros de incio e fim atravs de - (hfen). Por exemplo, se no campo horas for informando 2-5, o comando relacionado ser executado s 2, 3, 4 e 5 horas. E se o comando tiver que ser executado s 2 horas, entre 15 e 18 horas e s 22 horas? Basta informar 2,15-18,22. Nestes casos, voc separa os parmetros por vrgula. Vamos a um exemplo: #tarefa teste 30 22 3,14 * * echo "No entre em pnico" > /home/usurio/arquivo.txt Neste exemplo, a frase "No entre em pnico" inserida no arquivo infowester.txt, dentro do diretrio /home/alecrim/, s 22 horas e 30 minutos, nos dias 3 e 14, em todos os meses e em todos os dias da semana. Repare na linha "#tarefa infowester". Trata-se de um comentrio. Digite # e tudo o que for digitado na linha no ser considerado pelo cron. um recurso til para inserir descries quando se tem vrias tarefas a serem executadas.

Comandos do crontab Para acessar o crontab, basta digitar esse nome em um terminal seguido de um parmetro. Eis a lista de parmetros disponveis: crontab -e: conforme j informado, serve para editar o arquivo atual do crontab e criar um, caso no exista; crontab -l: este comando mostra o contedo atual do crontab; crontab -r: remove o arquivo atual do crontab. Como exemplo, analise a imagem abaixo:

Ferramentas de RedeNMAP Podemos citar o Nmap (Network Mapper) como um portscan de uso geral. Ele tambm uma ferramenta livre muito famosa pela sua qualidade e pela sua rapidez. uma ferramenta de anlise que pode nos dar informaes sobre um host local ou remoto. Por informaes entenda-se portas e servios de banner. Por exemplo se eu fizer uma varredura bruta em minha rede local eu posso obter algumas informaes bem interessantes. O Nmap pode ser usado para o bem (como o intuito deste artigo) ou pode ser usado para o mal. Como assim usado para o mal? Vamos supor que um cracker esteja planejando um ataque ao servidor da sua empresa. Ele precisar saber as portas que esto abertas, o sistema operacional e a verso dos servios que esto rodando. Ele vai fazer esta varredura e, dependendo da verso de algum servio, ele pode pegar um exploit e obter acesso privilegiado ao servidor. O Nmap est disponvel em vrias distribuies Linux, ou melhor dizendo, nas principais e mais usadas: o YaST do SUSE, yum do Fedora, urpmi do Mandriva, apt-get etc. Exemplos de comandos para instalao: # yast -i nmap ou # yum install nmap ou # urpmi nmap ou # apt-get install nmap

Ok, agora que instalamos vamos verificar a verso e verificaremos tambm se ele est instalado. Para isso use o comando: # nmap -v Ele deve lhe retornar a verso do Nmap que est instalada com mais algumas informaes:

Utilizando o NMAPA forma de utilizao do Nmap simples: nmap [Scan Type(s)] [Options] {target specification} como visto no prprio Nmap. Vamos agora fazer um scan simples, que s mostrar as portas abertas em minha rede local. Use o comando como root: # nmap 127.0.0.1 ou localhost Ele me retornar as portas abertas e os respectivos servios:

Neste caso estou com as portas 21, 22, 631 abertas em meu computador. Vamos agora usar alguns parmetros ou opes. Esses parmetros servem para especificar que tipo de informaes desejamos saber sobre o host. Neste caso vamos ver que tipo de sistema operacional est rodando. Para isso usaremos o parmetro "O". Obs.: Antes de especificar um parmetro use um sinal de menos (-). Ento vamos usar o comando: # nmap -O 127.0.0.1 ou localhost

veja o resultado:

Interessante, no acham ? O nmap informou que este host est rodando Linux com kernel 2.6. Outra coisa interessante que vale ressaltar que voc pode varrer toda uma faixa de IP's, por exemplo: # nmap 192.168.0.1-254 Agora uma coisa que no pode faltar a verso dos servios que esto rodando. Por exemplo: # nmap -sV 127.0.0.1

Reparem no CUPS por exemplo, eu estou usando a verso 1.4 Outra coisa interessante que voc pode obter informaes sobre uma porta especfica. Usando o CUPS como exemplo novamente, poderamos fazer um:

# nmap -sV -p 631 127.0.0.1 Neste caso essa varredura iria se focar apenas na porta 631 (CUPS). O 127.0.0.1, como explicado anteriormente, refere-se a rede local. Outra coisa interessante o parmetro "sS", que quando est sendo usado com "-p 0-65535" pode localizar servios que esto "escondidos" em portas altas, porm eles no podem nos fornecer tantas informaes.

Utilizando SSHO SSH (Secure Shell ou shell seguro) um protocolo de comunicao segura que foi criada em Julho de 1995, por Tatu Ylonenque com objetivo substituir protocolos cuja comunicao no cifrada, apresentando graves problemas de segurana como o caso do telnet, rlogin, rsh, rcp e outros, ou seja, qualquer dado que for transportado por esses protocolos so passados atravs da internet como texto puro, permitindo assim o possvel uso de sniffers por pessoas mal intencionadas para captura de dados como senhas e logins. Cifrando a comunicao entre dois pontos, o SSH permite maior segurana na comunicao de dados, visto que seria bastante complicado para um atacante decifrar a informao transmitida j que essa informao est criptografada. Este protocolo serve tanto para servios remotos de terminal, como para efetuar transferncias seguras de arquivos (sftp), substituindo assim clientes de Telnet e de FTP. O SSH muito usado devido sua grande escalabilidade, segurana suportado por vrios sistemas operacionais ( Linux, *BSD ,Windows , MS-DOS, BeOS , Solaris e outros). O SSH utiliza um poderoso mtodo de criptografia chamado de Public Key Cryptography que permite a autenticao e encriptao entre o cliente e servidor de maneira que nenhuma senha e nenhuma transferncia de dados sejam facilmente interceptados por outros hosts. Esse mtodo usa uma chave pblica (public key) para encriptao dos dados e uma chave privada (private key) para desencriptao. Assim, antes do PC da Maria estabelecer conexo com o Mac da Joana, eles passam por um processo de autenticao e troca de chaves pblicas: o PC envia sua public key para o Mac da Joana, e o Mac faz o mesmo com o PC da Maria. Depois de feita essa troca, a comunicao pode prosseguir com segurana. A forma de encriptao na comunicao entre duas mquina torna o SSH uma poderosa ferramenta muito til na administrao de mquinas remotas, uma vez que permite ao administrador verificar e at mesmo configurar uma mquina remotamente de forma segura, podendo ele at mesmo executar aplicaes como o Linuxconf na maquina remota. O canal de comunicao utiliza uma encriptao forte, que garante a privacidade dos seus dados na rede entre as duas mquinas. Ficando assim impossvel (ou quase) que algum consiga ler os seus pacotes durante o trfego pela rede. Voc pode configurar a shell, em suas contas em dois hosts de sua confiana, de tal forma que voc possa passar de um host para o outro de forma pratica e segura, sem ter de ficar digitando suas senhas a cada seo. Pode-se tambm configurar a shell para fazer um pipe-through de conexes X11 por dentro do canal encriptado, de forma que fica muito mais simples abrir em sua mquina janelas de aplicativos X11 que voc rode

em sistemas remotos, pois no ser mais necessrio a preocupao com as variveis e autorizaes de display. Junto com o SSH vem alguns aplicativos adicionais como o scp e sftp, que substituem os comandos tradicionais de cpia remota de arquivos como o rcp e ftp. Estes novos comandos dificilmente falham por causa de erros de autenticao, como fazem os comandos tradicionais. Em vez disso, exigido o password sempre que a autorizao automtica no for bem sucedida. Configurando o sshd_conf Ao editar o arquivo de configurao do servidor SSH edite as linhas mostradas abaixo: # vim /etc/ssh/sshd_conf Modificaremos ento as seguintes linhas. 5: Porta Padro 22 coloque porta altas, por exemplo 2222 26: No Permitir o acesso do usurio root coloque NO no lugar de YES 79: AllowUsers usurio que tero acesso remoto. Feche o arquivo de configurao e reinicie o servio com o comando abaixo: # /etc/init.d/ssh restart Como j foi dito, o SSH visa substituir antigos protocolos de acesso remoto. Vamos a uma pequena descrio dos principais comandos do SSH. Comandos : ssh : Usado para fazer o login e executar comandos dentro de uma mquina remota. Exemplo: ssh usuario@servidor

Utilizando SCPO comando scp muito utilizado quando voc quer copiar dados entre servidores. Por exemplo: eu tenho o servidor X, estou logado nele e preciso copiar a pasta /arquivos para o servidor Y. Como fazer isso!? Aqui vai uma dica: # scp /arquivos [email protected]:/home/usurio/

Explicao: Estou copiando a pasta /arquivos, do servidor que estou logado, para o servidor com IP 192.168.100.1, utilizando neste servidor o login de root. Estou definindo a pasta de destino /home/usurio, onde ser copiada a pasta arquivos. Muito bem agora iremos realmente colocar a mo na massa trabalhando com a parte de instalao e configurao dos servios que iremos usar para montar nosso Servidor Linux. Iremos ento instalar o nosso servidor DHCP, para que nossos microcomputadores clientes da rede possa ter acesso a internet, compartilhamento de arquivos, e toda a segurana de uma rede linux. DHCP DYNAMIC HOST CONFIGURATION PROTOCOL A configurao automtica e dinmica de computadores ligados a uma rede TCP/IP, no que tange aos inmeros parmetros de rede, j possvel utilizando-se o Dynamic Host Configuration Protocol (DHCP) ([RFC2131]). O DHCP, que hoje um protocolo recomendado, em vias de ser padronizado pelo Internet Activities Board (IAB), facilita, e at mesmo viabiliza, a gerencia de grandes redes IPs, assim como a vida dos usurios itinerantes com seus computadores portteis. Para o perfeito funcionamento de um computador ligado a uma rede Internet, no apenas precisa-se configurar o seu endereo IP, mas tambm uma serie de outros parmetros de rede. Um cliente DHCP busca encontrar um ou mais servidores DHCP que possam fornecer os parmetros desejados, para que sua maquina possa ser automaticamente configurada. Embora no seja o nico parmetro indispensvel, o endereo IP , sem dvida, o mais importante deles, assim como o mais peculiar, posto que um determinado endereo no deve ser utilizado por mais de um cliente ao mesmo tempo. O DCHP possibilita a implementao uma poltica de alocao dinmica de endereos IPs, que possibilita a reutilizao de endereos disponveis ao longo do tempo. Como Funciona? Um servidor DHCP, respondendo a uma solicitao de parmetros de um cliente, oferece uma opo, dentre as que tiver disponvel, para o solicitante, informando-lhe o tempo de arrendamento (leasing) dos parmetros oferecidos. Em resposta aos oferecimentos dos diversos servidores, o cliente poder optar por aceitar, ou no, uma das proposta, indicando o fato ao servidor da proposta eleita, ou optando por fazer nova requisio. Recebendo o aceite do cliente, o servidor reserva o endereo IP (se ainda estiver disponvel) e indica o fato ao cliente, que, a partir de ento, poder fazer a correta e almejada configurao do seu computador. facultado ao cliente, solicitar um re-arrendamento dos parmetros obtidos ao servidor. Tal solicitao devera' ser feita quando atingido a metade do tempo de arrendamento combinado, minorando assim a possibilidade de ocorrncia de problemas com eventuais descompassos entre os relgios dos dois equipamentos. Espera-se tambm que o cliente informe ao servidor quando no for mais utilizar os recursos alocados - por exemplo, quando estiver sendo desligado. Porm, esta atitude

cordial do cliente, se no ocorrer, no far com que o endereo seja indefinidamente inutilizado, posto que, ao final do tempo de arrendamento, o servidor assumir que tal endereo poder ser realocado sem problemas. possvel que o servidor DHCP no esteja no mesmo enlace do cliente e que entre eles haja algum roteador que no faa o roteamento dos pacotes DHCP. Deve-se lembrar que o cliente DHCP, por no saber inicialmente quem o servidor DHCP, utiliza o broadcast para procura-lo, e que o mesmo pode ser feito pelo servidor ate' que o cliente tenha um endereo IP fixo. No caso ento de, entre o servidor e o cliente, haver um roteador que no encaminhe devidamente pacotes DHCP, h a necessidade de um elemento intermedirio: o relay DHCP. O relay DHCP uma mquina capaz de receber pacotes dos clientes DHCP de sua rede, por exemplo, e encaminhar essas solicitaes a um ou mais servidores em outras redes.

Instalando o servidor DHCP3-SERVERPrimeiramente em seu terminal (Shell) iremos utilizar o principal gerenciador de pacotes do nosso sistema operacional (Ubuntu Server 10.04.1 LTS) o APT, logado como root em seu sistema digite o seguinte comando descrito abaixo. # apt-get install dhcp3-server

Com o comando aplicado ser instalado o software que solicitamamos, apo termos instalado o servio de DHCP, iremos agora configura-lo. Acessando o diretrio onde fica o arquivo de configurao do sevidor DHCP iremos renome-lo para termos uma cpia de backup caso acontea algo em nosso servidor e necessite de ter que configurar novamente, vamos l ento renomear o arquivo, com o seguinte comando: # mv /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.old

Pronto j renomeamos o arquivo de configurao, agora abra um novo arquivo com nosso editor de texto vim da seguinte forma: # vim /etc/dhcp3/dhcpd.conf

ddns-update-style none; default-lease-time 600; max-lease-time 7200; authoritative; subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.10 192.168.100.200; option routers 192.168.100.1; option domain-name-servers 200.235.120.200,200.235.120.220; option broadcast-address 192.168.100.255; }Agora vamos entender o porque de cada linha: default-lease-time 600; Esta linha controla o tempo de renovao do IP. Este 600 indica que o servidor ir verificar a cada 10 minutos se o IP est sendo usado para passar para outro computador na rede, caso ele no esteja sendo usado. max-lease-time 7200; Esta linha determina o tempo que cada mquina pode usar um determinado IP. authoritative; Se um cliente requisitar um endereo que o servidor no conhea, ou seja, o endereo incorreto para aquele segmento, o servidor no enviar um DHCPNAK, o qual diz para ao cliente para parar de usar aquele endereo. Subnet 192.168.100.0 netmask 255.255.255.0 { Define sua "sub-rede" 192.168.100.0 com a mscara 255.255.255.0, e abre o bloco com {. range 192.168.100.10 192.168.100.200; Define o range, ou seja, define qual a faixa de IPs que os clientes podem usar. option routers 192.168.100.1; Este o gateway padro.

option domain-name-servers 200.235.120.200,200.235.120.220; Aqui voc ir especificar os servidores DNS, voc pode verificar eles em /etc/resolv.conf. option broadcast-address 192.168.100.255; } Aqui, voc est definindo o endereo do broadcast e fechando o bloco com }. Agora reinicie o servio: # /etc/init.d/dhcp3-server restart

FTP - INSTALANDO SERVIDOR FTP (VSFTP) Introduo O Vsftpd e provavelmente o ftpserver mais seguro e rapido para sistemas unix e seus derivados. Para se ter uma ideia, os seguintes sites usam ele com seu ftpserver padrao: ftp.redhat.com ftp.suse.com ftp.debian.org ftp.gnu.org ftp.gnome.org ftp.kde.org rpmfind.net ftp.linux.org.uk ftp.gimp.org ftp-stud.fht-esslingen.de ftp.openbsd.org gd.tuwien.ac.at ftp.sunet.se ftp.ximian.com ftp.engardelinux.org

Para instalarmos nosso servidor FTP, basta o rodar o seguinte comando em seu shell (bash linux). # apt-get install vsftpd

Ir aparecer a mensagem acima que pergunta se voc quer ou no continuar com a instalao, digite S (SIM) e pressione a tecla ENTER para a instalao ser concluida.

Depois disso o programa esta instalado e funcionando. Existem alguns parmetros na configurao que podem deixar o seu servidor um pouco mais completo e vou falar um pouco sobre eles. Para editar as configuraes do programa basta editar o arquivo vsftpd.conf, com seu editor de texto VIM. Se voc instalou pelo apt-get ele esta em /etc/vsftpd.conf. # vim /etc/vsftpd.conf

Para que o vsftp aceite conexes annimas basta atribuir o valor YES na opo anonymous_enable. anonymous_enable = YES Para trocar a mensagem de boa vindas que exibida quando algum se conecta, basta descomentar , tirando o # da frente do comando ftpd_banner e atribuir a mensagem de boas vindas a este parmetro. ftp_banner = Sua mensagem de entrada Para que os usurios tambm possam escrever nas pastas do servidor a opo write_enable, que por padro esta comentada, tem que estar descomentada e com o valor YES. write_enable = YES Para que os usurios possam ler apenas o seu diretrio home voc tem que

colocar chroot_local_user = YES Depois so dar restart no servio usando o seguinte comando : #/etc/init.d/vsftpd restart ou o comando # service vsftpd restart. Aps ter reiniciado o servio basta acessar de qualquer navegador de Internet como o prprio mozilla-firefox, nativo em qualquer distribuio Linux o e bem conhecido Internet Explore, usando o seguinte endereo: ftp://numero_do_seu_ip.

Servidor SAMBA o que ?Introduo O Samba um "software servidor" para Linux (e outros sistemas baseados em Unix) que permite o gerenciamento e compartilhamento de recursos em redes formadas por computadores com o MS Windows. Assim, possvel usar o Linux como servidor de arquivos, servidor de impresso, entre outros, como se a rede utilizasse servidores Windows (NT, 2000, XP, Server 2000 e 2003). Este artigo faz uma abordagem introdutria ao Samba, mostrando suas principais caractersticas e um pouco de sua histria. Breve histria do Samba O Samba uma criao de Andrew Tridgell. De acordo com informaes dadas no site oficial Network File Server Message Block e o implementou no Unix. Isso fez com que o servidor Unix aparecesse como um servidor de arquivos Windows em seu PC com DOS. Esse cdigo foi disponibilizado publicamente por Tridgell em 1992. Porm, tempos depois, o projeto foi posto de lado at que um determinado dia Tridgell decidiu conectar o PC de sua esposa ao seu computador com Linux. Porm, no encontrou nenhum meio melhor que seu cdigo para fazer isso e assim o utilizou. Atravs de contatos feitos por e-mail, Tridgell descobriu que as documentaes dos protocolos SMB e NetBIOS estavam atualizadas e assim voltou a dedicar-se ao projeto. Porm, uma empresa entrou em contato com ele reivindicando os direitos sobre o nome usado no software at ento. Diante disso, Andrew Tridgell teve a idia de procurar em um dicionrio uma palavra que tivesse as letras s, m e b (de SMB) e acabou encontrando o termo "samba". A partir da o projeto Samba cresceu e hoje Andrew Tridgell conta com uma excelente equipe de programadores e com milhares de usurios de sua soluo espalhados pelo mundo. O que o servidor Samba faz Com o servidor Samba, possvel compartilhar arquivos, compartilhar impressoras e controlar o acesso a determinados recursos de rede com igual ou maior eficincia que servidores baseados em sistemas operacionais da Microsoft. Mas, neste caso, o sistema operacional utilizado o Linux. O Samba compatvel com praticamente qualquer verso do Windows, como NT 4.0, 9x, Me, 2000, XP e Server 2003, alm de mquinas com o Linux, claro. Como no poderia deixar de ser, o Samba tambm permite que sua configurao seja feita por meio de computadores remotos. Para os casos mais crticos, o

administrador da rede pode at ser notificado de anormalidades por e-mail (para isso necessrio usar um script especfico que busca informaes nos arquivos de log e cria um arquivo que pode ser enviado por e-mail). Instalando o Samba O Samba um software livre que est disponvel sob a licena GNU (GNU's not Unix). Muitas distribuies Linux j o incluem, mas caso queira instal-lo, possvel baix-lo de seu site oficial - www.samba.org. Neste, possvel notar que h pacotes especficos para as distribuies mais famosas, como Fedora, Mandriva, SuSE, Debian, entre outros. Isso significa que a instalao depende do tipo de pacote utilizado (tar.gz, RPM, deb, entre outros). Assim, como exemplo, os usurios do Debian devem usar o seguinte comando: # apt-get install samba smbclient smbfs

O arquivo smb.conf Um fato que agrada muitos usurios do Samba que sua configurao feita em um nico arquivo: o smb.conf. Esse arquivo geralmente fica localizado no diretrio de instalao do Samba. O arquivo smb.conf estruturado da seguinte maneira: os parmetros de configurao so agrupados em sees. Cada seo identificada por um nome entre colchetes, por exemplo, [global]. A seguir, segue a descrio de trs exemplos de sees pr-definidas no Samba:

[global] - como o nome indica, contm configuraes que afetam todo o Samba. Por exemplo, nome do servidor; [homes] - contm as configuraes do diretrio home para cada usurio; [printers] - contm as configuraes que controlam impressoras compartilhadas. Com isso iremos agora editar o arquivo smb.conf que esta localizado em /etc/samba/, com o editor de texto VIM'. Mas primeiro iremos criar uma cpia do arquivo smb.conf por segurana, com o seguinte comando: # cp /etc/samba/smb.conf /etc/samba/smb.conf.bkp Agora criaremos um novo arquivo smb.conf com o VIM, e colocarmos uma configurao bem simples e objetiva para compartilhamento de arquivos e/ou diretrios. # vim /etc/samba/smb.conf

#===== Global Settings ===== [global] # nome do domnio da rede ou grupo de trabalho. Voc vai substituir a # palavra pelo nome. workgroup = Servidor # Nome do servidor na rede. Substitua server string = Servidor # Acesso de usurios. Irei usar para acesso pblico s pastas. security = share hosts allow = ALL # Se seu servidor vai compartilhar impressora, coloque no lugar do load printers = no # Arquivo de log de acesso log file = /var/log/samba.%m

# Tamanho mximo do log de acesso max log size = 50 socket options = TCP_NODELAY # Endereo IP da mquina na qual est sendo configurado o samba # Substitua xxx.xxx.xxx.xxx pelo seu IP. Ex.: 192.168.X.X interfaces = xxx.xxx.xxx.xxx local master = no domain master = no preferred master = no dns proxy = no # Se houver compartilhamento com mquinas Windows, deixe encrypt passwords = yes read only = no # Para acessar o servidor, pode ser digitado um nome que voc colocar abaixo netbios name = NOME # Se os arquivos so somente leitura, coloque . Se nos arquivos # qualquer um pode manejar, deixe . Opto por deixar read only = no #===== Share Definitions ===== # Primeiramente voc vai colocar o nome da pasta entre colchetes [ARQUIVOS] # Agora voc vai setar o endereo da pasta dentro do servidor path = /home/ARQUIVOS guest ok = yes # Se a pasta for pblica, deixe public = yes

[printers] comment = All Printers print command = lpr -P %p -o raw %s -r lpq command = lpstat -o %p lprm command = cancel %p-%j path = /var/spool/samba printable = Yes browseable = yes guest ok = yes writable = noComo exemplo prtico veja a imagem abaixo:

Bem, aps feitas as configuraes no smb.conf, normal as pessoas tentarem acessar para ver se deu certo. Infelizmente no vai dar certo por um simples motivo: tem como andar num carro sem dar a partida? Com certeza no! Portanto necessrio um comando para dar o "play" no servidor: # service smbd restart Aps digitado, pode demorar cerca de 10 segundos, mas ir aparecer uma mensagem dizendo que o servidor foi iniciado. Aps esta mensagem, a sim voc pode ir para uma mquina Windows, abrir o Windows Explorer e digitar \\ENDEREO_IP_DO_SERVIDOR que ir aparecer a pasta cujo foi configurada no smb.conf para compartilhar. At aqui o servidor est funcionando. Poder ter alguns problemas para fazer a manipulao de arquivos dentro da pasta por causa de permisses. Portanto, de primeira instncia, opto por abrir setar acesso livre (777) para a pasta digitando o seguinte comando: # chmod 777 /home/Arquivos O endereo "home" o endereo da pasta no qual voc colocou compartilhada.

CUPS Gerenciamento de ImpressoPrimeiramente teremos que instalar nosso servidor CUPS, da seguinte forma: #apt-get install cups O CUPS responde na porta 631 como padro, utilizando o browser de sua preferncia basta especificar o seguinte endereo: http://localhost:631 Para adicionar um compartilhamento de impressora em um Servidor de Impresso, d um clique sobre a opo Manage Printers, e siga os seguintes passos:

Clique em Add Printer para acrescentar um novo compartilhamento de impressora. Como essa rea restrita ao administrador, aparecer uma caixa de dilogo pedindo para seja informado um login, que ser "root" e sua senha.a.

Logo em seguida, o administrador dever informar o nome do compartilhamento (nome da fila de impresso), a localizao (hostname do servidor de impresso) e uma breve descrio do compartilhamento. Name: lp1 Location: estacao.localdomainb.

c. Escolher um dispositivo para este compartilhamento. O dispositivo pode ser portas paralelas, seriais, filas de impresses remotas de outros servidores de impresso, impressoras remotas compartilhadas pela Internet, impressoras compartilhadas com o tradicional LPD e at mesmo imprimir para um arquivo. Para impressora local escolha a Parallel Port, ou Serial Port, conforme descrito no manual de sua impressora

Parallel Port #1 Serial Port #1 Internet Printer Protocol (ipp) Unknown Network Device (SMB)

d. Agora escolha o modelo

e. Agora escolha o filtro para sua impressora.

Pronto podemos fechar no arquivo browser e reiniciar o servio de impresso. #/etc/init.d/cups restart

Proxy (Squid)Introduo Atualmente, os servidores proxy deixaram de ser um simples privilgio e passaram a ser uma necessidade dentro das mesmas. Neste guia eu darei uma introduo ao assunto e explicarei (Ou pelo menos tentarei) como montar um proxy. Ns veremos tambm que existem vrios tipos de proxies, como o proxy transparente, o proxy autenticado ou simplesmente um NAT, roteando os pacotes oriundos da internet. Proxy e Cache Provavelmente ao ler este guia voc j saiba o qu um servidor proxy e s quer saber como voc faz para montar um. Para os inexperientes, voc pode continuar a ler isto aqui. Um proxy serve para basicamente uma coisa: tratar as requisies dos clientes nos protocolos suportados por ele, seja bloqueando URL's de sites indevidos ou controlando o acesso WWW pelos usurios. O Squid alm de um servidor proxy, tambm integra um sistema de caching para requisies feitas internet. Um servidor cache aquele que armazena informaes de

requisies temporariamente em disco para uma visualizao mais rpida posterior. Eis o funcionamento de um servidor proxy-cache passo-a-passo: 1 - O usurio Joo faz uma requisio para o site X, cujo endereo "www.x.com.br"; 2 - Ele aperta enter logo depois que ele digitou o endereo do site na barra de endereos de seu navegador predileto; 3 - O navegador faz uma requisio pela pgina para o servidor proxy; 4 - O servidor proxy recebe a requisio cliente e checa se a pgina est em cache. Em caso positivo, ele manda para o cliente requisitante a pgina armazenada em cache. e a histria morre por aqui. Em caso negativo, ele salta para o prximo passo; 5 - Ele faz uma requisio para a internet da pgina que o cliente solicitou. Feita a transferncia da pgina, ele armazena a mesma no cache e envia a pgina para o cliente solicitante; Nota-se que com a implementao de servidores proxy-cache sua banda melhor utilizada e melhor controlada, pois o navegador no faz inmeras requisies duplicadas para a internet.

O que o Squid? O Squid o servidor proxy HTTP mais comum em plataformas UNIX-Like. Ele surgiu de um projeto entre o governo americano e a Universidade do Colorado. Atualmente o Squid trabalha com os protocolos HTTP, HTTPS, FTP, Gopher e WAIS e o proxy que possui o maior nmero de co-projetos. ATENO! O Squid no suporta NENHUM outro protocolo que no seja um dos citados acima! Isto inclui: SMTP, POP e IMAP! Proxy? NAT? Transparente? Voc deve estar se pergunta nesta altura do campeonato um pouco da terminologia que eu vou usar neste guia (Caso voc seja um faixa-branca). As diferenas entre proxy transparente, proxy autenticado, proxy isso, aquilo e por a vai. Proxy Transparente - um redirecionamento de portas feito com o IPTables. Todos os pacotes com destino porta 80 para a internet so redirecionados para a porta do Squid. Ele chamado de "transparente" porque o usurio muitas vezes nem sabe qeu ele est passando por um proxy para conseguir a sua pgina. Muito utilizado em migraes de outros tipos de proxy e para garantir que todo mundo esteja passando pelo proxy, como medida de segurana. Proxy Autenticado - um proxy que exige autenticao para liberar a navegao. Quando o usurio abre o navegador, aberta uma janela a mais, solicitando um login e uma senha para a liberao da internet. NAT - O NAT (Network Address Translator) um redirecionamento de pacotes oriundos da rede local para a rede pblica e vice-versa, s roteando os pacotes, sem tratamento algum.

Vantagens e desvantagens Bem, talvez voc ainda precise de mais algumas informaes sobre qual tipo de proxy utilizar e quais sobre qual tipo de proxy utilizar e quais sero os empecilhos que voc pode encontrar na utilizao de cada um destes itens. Proxy Transparente - A grande vantagem do proxy transparente que todo o trfego referente ao protocolo HTTP redirecionado para ele. Sendo assim, no h como o usurio alterar alguma configurao na mquina localmente para tentar "burlar" o controle feito pelo Squid. Por outro lado, o proxy transparente incompatvel com o proxy autenticado e com algumas tecnologias utilizadas hoje em dia na internet, como alguns softwares da Caixa e algumas tecnologias de criptografia SSL com HTTP (HTTPS); Proxy Autenticado - Uma grande vantagem do proxy autenticado que ele permite o controle individual de acesso a nvel de usurio, e no por mquinas (hosts). Algo que eu acho que uma desvantagem que se voc fechar a janela de navegao utilizada e abri-la novamente, a senha ser requisitada novamente. Por outro lado, imagine se voc est navegando, fecha o navegador e sai pra almoar. Ento o cara que senta ao seu lado e est concorrendo uma vaga com voc vai na sua mesa e acessa um site de sacanagem, como sendo voc. Outra coisa que eu acho um defeito no proxy autenticado que alguns softwares que utilizam tunneling por HTTP, mas que no so navegadores - como alguns anti-vrus - no oferecem suporte configurao deste tipo de proxy, tendo voc que ou editar a sua regra de redirecionamento ou desativar o proxy por alguns minutos enquanto voc atualiza o anti-vrus; NAT - O NAT no s muito til, como uma necessidade, tornando-se impossvel o ato de construir um gateway para a internet sem o uso do mesmo. Lembrem-se que o Squid no trabalha com todos os protocolos. Sendo assim, sem NAT, sem SMTP, POP e IMAP. O NAT tambm timo para uma "situao temporria" caso o seu servidor proxy esteja em manuteno, intermitente, em fase de implementao ou morto. As desvantagens do NAT que ele no oferece nenhum controle do que est sendo visualizado pelos seus clientes na internet e tampouco um servio de cache. Outros servidores proxy para GNU/Linux e Microsoft Windows claro que o Squid no o nico servidor Proxy para GNU/Linux. Aqui eu irei listar outros conhecidos tanto para GNU/Linux quanto para Microsoft Windows. Delegate - um proxy de autoria de Yutaka Sato, suportando uma gama de protocolos. um projeto mais recente que o Squid, mas que vem evoluindo rapidamente. Uma desvantagem que no h tanta documentao para a instalao. O site oficial http://www.delegate.org OOPS! - um proxy que quebra alguns dogmas da informtica, como a utilizao de arquivos grandes como arquivos de cache, ao invs de "um site, um arquivo". Olhando a sua configurao, eu cheguei concluso que ela um pouco parecida com a configurao do BIND. um projeto interessante pelo qual eu vou buscar mais informaes assim que eu tiver um tempo livre. O site oficial http://zipper.paco.net/igor/oops.eng Internet Connection Sharing (ICS) - o proxy oficial da Microsoft e que utilizado

nos sistemas operacionais Microsoft Windows. Possui uma facilidade em sua configurao e utilizao, porm no possui opes de configurao e vrios bugs que prejudicam sua segurana e funcionamento. s vezes acontecem problemas cuja causa voc simplesmente no sabe qual . Instalao do Squid # apt-get install squid O Arquivos Squid.conf O arquivo squid.conf o principal arquivo de configurao do Squid. Ele zela pela simplicidade das tags, mas no muito pelo tamanho. Isto porque ele em si um manual das configuraes disponveis. Ele possui cerca de 2 mil linhas. Limpando o arquivo squid.conf Pode parecer uma futilidade para a maioria dos administradores, mas recomendvel uma limpeza no squid.conf, pois ele vem com muitas opes e comentrios (que so explicaes das tags) e que geralmente no tm tanta utilidade se voc possuir um guia ao seu lado ou simplesmente sabe o que est fazendo. Por outro lado, no recomendvel que os novatos faam isso, mesmo para alcanarem um conhecimento melhor das demais tags. Antes de fazer a limpeza, recomendvel que voc faa um backup do seu arquivo original, em caso quaisquer problemas: # cp /etc/squid/squid.conf /etc/squid/squid.conf.defaults Depois limpe executando o seguinte comando: # egrep -v "^#|^$" squid.conf Algumas das tags mais importantes Aqui eu irei descrever as tags mais bsicas para o funcionamento do Squid. Aqui ainda no sero citadas as ACL's. Quero lembrar que um proxy que apenas sejam configuradas estas tags ainda no um proxy funcional. http_port Padro: http_port 3128 Este parmetro define a porta em que o servio Squid ir escutar por requisies. Por padro esta opo estar comentada, no necessitando ser descomentada caso no desejando alter-la. cache_mem Padro: cache_mem 8 MB Embora parea tentador imaginar que essa seja a quantidadede memria que o processo do Squid poder utilizar, tal pensamento est errado. Este parmetro configura a

quantidade de memria utilizada para cache e objetos em trnsito, e no a quantidade de memria reservada para o Squid. cache_dir Padro: cache_dir ufs /var/spool/squid 100 16 256 Nesta opo so configurados os nmeros de diretrios, subdiretrios e tamanho do cache. Desfragmentando a linha para estudo, ficaria assim: cache_dir - Nome da tag; ufs - a forma de armazenamento de cache. Existe tambm a opo aufs, que usa posix threads, o UFS recomendado at 5 req/s, acima disto voce pode usar um dos sistemas a seguinte: AUFS, DISKD, COSS /var/spool/squid - Diretrio onde o cache do Squid ficar; 100 - Espao em disco que o cache do Squid poder ocupar, contado em MB; 16 - Quantidade de diretrios que o cache do Squid possuir; (dica, cuidado para nao usar um valor muito grande e aumentar o seek time do hd) 256 - Quantidade de subdiretrios que o cache do Squid possuir; (dica, no altere este valor, 256 um valor j otimizado) cache_access_log Padro: cache_access_log /var/log/squid/access.log Define o arquivo de log de acessos do Squid. Caso queira saber quem acessou determinada pgina da internet, atravs deste arquivo que descobrir. cache_mgr Padro: cache_mgr email Este parmetro tem a finalidade de especificar o e-mail do administrador do proxy. Caso o servio Squid venha a ser terminado de forma anormal, o usurio do correio eletrnico especificado ser alertado atravs de um e-mail. Este e-mail tambm informado quando alguma pgina de erro mostrada ao usurio cliente. cache_effective_user Padro: cache_effective_user squid Informa ao Squid com qual nome de usurio ele deve rodar. recomendvel no utilizar qualquer servio rodando como o usurio root, uma vez que se o servidor seja invadido utilizando brechas do servio em questo, o invador possuir privilgios de root no sistema.

Nas ltimas verses do Squid foi criado um bloqueio que impede que o mesmo seja executado como root. cache_effective_group Padro: cache_effective_group squid Tem a mesma funo da tag acima, mas ao invs de trabalhar com o usurio do Squid, ele vai trabalhar com o grupo. visible_hostname Padro: visible_hostname none Tenho lido muito na internet problemas relacionados esta tag. Ela que define o hostname que fica visvel nas mensagens de erro do Squid apresentadas para os clientes e, caso no seja setada, o Squid no starta. Por isso coloque alguma coisa nela parecida com isto: visible_hostname squid.seudominio.com.br Access Control Lists (Tambm conhecidas como ACL's) Esta a melhor parte (E consequentemente a que vai te dar mais dor de cabea para entender) do Squid, o uso das ACL's. Uma ACL nada mais do que a ferramenta que o Squid utiliza para especificar quem pode, quem no pode, o qu pode e o que no pode. Concluso: D pra fazer muita coisa legal com as ACL's. Tipos de ACL's src Endereo IP de origem. Utilizada para especificar um determinado host ou uma determinada rede de origem. dst Endereo IP de destino. Utilizada para especificar um determinado host ou uma determinada rede de destino. dstdomain Domnio de destino. Utilizado para restringir acesso um determinado ou para identificar um domnio de destino. time

Hora e dia da semana. Especifica um determinado horrio. port Nmero da porta de destino, usado para especificar acesso determinada porta de um servidor. url_regex Utilizado para comparar uma string uma URL inteira. Muito utilizado para fazer o bloqueio de sites indevidos. urlpath_regex Tem uma funo semelhante anterior, porm procura apenas em pedaos do caminho da URL. Muito utilizado para bloquear extenses, como veremos mais frente. proto Especifica um protocolo de transferncia. proxy_auth Somente utilizada caso voc esteja utilizando autenticao. Serve para especificar nomes de usurios.

Definindo ACL's Dentro do arquivo de configurao do Squid, o squid.conf, voc vai encontrar uma rea que a mais ideal para declarar as suas ACL's. Este espao onde as ACL's comeam a ser definidas, facilmente identificada pela presena das mesmas. Para declarar ACL's, a sintaxe bsica a seguinte: acl |"" Um exemplo prtico de ACL: acl palavra_proibida url_regex -i sexo A ACL acima bloqueia todos os sites que contenham em seu endereo a palavra "sexo". Outros exemplos sero dados mais frente, dependendo do tipo da ACL.

A tag http_access simplesmente intil o uso de ACL's sem o uso da tag http_access. ela que trava ou libera o que a ACL est estipulando. Exemplo: http_access deny proibido Se ns considerarmos o conjunto ACL + http_access, ficaria: acl proibido url_regex -i sexo http_access deny proibido

O que o conjunto acima faz proibir que qualquer site que possua em seu endereo a palavra "sexo" seja exibido para o requisitante. Nem sempre voc vai utilizar um http_access para cada ACL que voc fizer, s vezes voc pode combinar duas ACL's em um nico http_access, como ns veremos mais frente. Ordem das ACL's Esta uma outra dvida que comum entre os iniciantes: "Qual a ordem que devo utilizar as minhas ACL's? Porque eu estou colocando tudo certinho e no est funcionando!". Bem, a resposta para essa pergunta no to simples assim. Eis o que o Squid faz quando vai tratar das ACL's. 1 - O Squid vai ler todas as ACL's e testar se todas as ACL's declaradas possuem uma sintaxe correta e se elas esto sendo referenciadas por algum http_access; 2 - Depois disso, se ele iniciar normalmente (Pode ser que outros fatores impeam isto), ele ir comear a testar todas as requisies que so feitas para ele e tentar casar as mesmas com as regras que as ACL's estipulam em conjunto com os http_access; 3 - Caso uma URL case com uma ACL, ele ignorar todas as outras ACL's para aquela requisio. Uma outra maneira mais prtica de tentar implementar isso fazer da seguinte maneira: 1 - Primeiro coloque as ACL's que estipulam uma excesso alguma regra de bloqueio que vir seguir; 2 - Depois coloque as suas ACL's que vo bloquear sites e tudo o mais; 3 - S ento voc coloca as suas ACL's liberando o acesso. Casos Bom, aqui eu vou citar alguns casos e alguns modos principais para configurar o seu Squid. nesse captulo que ns vamos entrar mais a fundo na prtica do Squid.

Habilitando o Squid Essa a coisa mais fcil de se fazer com o Squid: botar ele para funcionar sem filtro nenhum. Claro que se voc optou por fazer isso, mais fcil que voc utilize um NAT. Para botar o Squid para rodar, basta encontrar a linha: http_access deny all Para: http_access allow all E depois reinicie o servio: # /etc/init.d/squid restart Restringindo o acesso ao Squid Se ns quisermos que somente uma rede da nossa empresa acesse o proxy, ns podemos definir faixas de IP's ou redes inteiras para a utilizao do proxy. Quando voc encontrar a linha http_access allow all, ela vai estar liberando acesso todos os hosts, j que a ACL "all" est especificando todos os hosts. Para arrumar isto, voc deve encontrar e comentar as linhas: acl all src 0.0.0.0/0.0.0.0 http_access allow all Agora crie uma nova ACL do tipo "src", especificando a rede interna: acl rede_interna src 192.168.0.0/24 Agora autorize a ACL que voc acabou de criar por meio de um http_access: http_access allow rede_interna Como visto acima, ns estamos somente permitindo o uso ao proxy pela rede interna. Agora, caso voc queira especificar uma range de IP's, faa assim: acl faixa_adm src 192.168.0.10-192.168.0.50 http_access allow faixa_adm Pronto, est tudo certo. S ressalto a importncia que voc deve dar para a ordem das ACL's. Bloqueando sites indevidos no proxy Bem, este exemplo j foi citado l em cima, mas de qualquer jeito, vamos abrang-lo um pouco mais. O tipo de ACL url_regex serve para ns compararmos termos dentro de uma URL para que possamos compar-la e saber se esta palavra est ou no liberada e se os usurios vo ou no, visualizar a pgina. Ns utilizamos muito isso quando desejamos que sites pornogrficos no sejam vistos por usurios dentro de uma empresa. Vamos ao exemplo:

Adicione a seguinte ACL: acl palavra url_regex -i sex Agora bloqueie o acesso com o http_access: http_access deny palavra Com este exemplo, todos os sites que possuam a palavra "sex" em seu endereo no sero visualizados pelos usurios. O parmetro "-i" serve para que o Squid no distingua entre maisculas ou minsculas. Porm neste momento voc deve estar pensando que no prtico definir uma ACL para cada palavra que voc deseje bloquear. E realmente no . Por isso ns vamos declarar listas inteiras de palavras negadas. Eis o exemplo: Primeiro ns vamos criar o arquivo texto que nos vai servir como lista de palavras bloqueadas e damos ela permisses de leitura: # touch /etc/squid/bloqueados # chmod 755 /etc/squid/bloqueados Nele insira todas as palavras proibidas. Lembre-se que voc deve adicionar uma palavra por linha. Aps isto, ns criamos a ACL da seguinte maneira: acl bloqueados url_regex -i "/etc/squid/bloqueados" E bloqueamos o acesso com o http_access: http_access deny bloqueados Feito isto, todos os sites que contm em seu endereo palavras como "sex", "sexo", "sexologia" vo ser bloqueados, porm como visto no ltimo exemplo, nem todos os sites que contm a palavra "sex" um site de sacanagem. Mas como distinguir os sites que podem ser liberados dos que no podem? Simples, vamos criar uma outra lista para as excesses como "sexologia". Vamos seguir o mesmo procedimento. Criamos uma lista tambm para as palavras no bloqueadas. # touch /etc/squid/liberados # chmod 755 /etc/squid/liberados Nesta lista ns tambm vamos colocar todos os sites que so excesses regra, como "www.sexologia.org". Tambm um site por linha. Se voc preferir colocar as palavras somente, tudo bem tambm. Depois voc vai ter que juntar as duas ACL's em um nico http_access, desta maneira: http_access deny bloqueados ! Liberados

Note a utilizao do sinal de exclamao, significando uma inverso no sentido da regra. V se acostumando com este sinal, porque ele extremamente til no seu dia-adia. Pronto, o procedimento est feito. Agora tudo o que voc deve fazer reiniciar o servio do Squid: # /etc/init.d/squid restart O SARG (sigla para Squid Analysis Report Generator) um gerador de relatrios que prov informaes sobre a atividade dos usurios do squid com riqueza de detalhes e interface agradvel. Eu tenho usado com sucesso o SARG para gerar relatrios completos do trfego de todos os usurios da rede que acessam a Internet contendo informaes como tempo on-line, bytes de