administracao e seguranca em sistemas linux

Upload: jackson-stone

Post on 31-Oct-2015

55 views

Category:

Documents


0 download

TRANSCRIPT

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 1

    - Instalao e Atualizao de Sistemas GNU/Linux -> Debian Debian a distribuio com a maior comunidade de mantenedores/desenvolvedores voltada exclusivamente para software livre. Aspectos gerais da plataforma GNU/Linux Conceitos fundamentais sobre o Linux Tipos e caractersticas de shells Tipos de sistema de arquivos do Linux Instalao do Debian GNU/Linux Customizando, compilando e instalando um novo kernel em seu servidor Configurando e instalando um Boot Manager - Uso do Shell Rene os principais e mais usados comandos de qualquer Sistema Operacional Linux Comandos para buscar e visualizar documentao no Linux Informaes sobre o Sistema Comandos administrativos Trabalhando com o ambiente de trabalho do usurio no shell (alias e variveis) Introduo a programao em Shell Script Trabalhando com modos de inicializao processo init e runlevels - Configurando e gerenciando hardware Identificao de discos e parties em sistemas GNU/Linux Recomendaes para configurao e armazenamento de dados Gerenciando hardware (disquete, cd-rom, pendrive e parties) Configurao de parties Conhecendo os mdulos de componentes da CPU Configurao de dispositivo Wireless LAN Configurando uma rede Wireless no Linux - Criando e manipulando texto com o Editor VI um editor de textos muito poderoso, ele pode: abrir vrios arquivos ao mesmo tempo, possui sistema de auto-correo, auto-identificao, seleo visual, macros, seleo vertical de texto, uso de expresses regulares, sintaxe colorida, e muito mais... Modo de insero e de comandos Copiando e colando textos no vi (utilizando o mouse) Usando o modo visual do vi Subcomandos para localizao de texto Opes para substituio de textos - Criando e gerenciando contas de usurio e grupos Conhecimentos para um bom gerenciamento de contas de usurio. Administrao de usurios Administrao de grupos Trabalhando com a senha em grupos Criando quotas para usurios e grupos - Permisses de acesso a recursos, arquivos, pastas e dispositivos do Sistema Nesta etapa o participante ir compreender e manipular as permisses de acesso a recursos,arquivos, pastas e dispositivos do Sistema. Tipos de permisses Definindo permisses para dono, grupo, outros usurios e todos os usurios

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 2

    SUIDBIT SGIDBIT STICKYBIT - Manipulao de pacotes Instalao de pacotes (programas) Remoo de pacotes (programas) Correo de pacotes Procedimentos de backup Empacotamento e Compresso de arquivos Descompactao e Desempacotamento de pacotes Compilao de programas a partir do cdigo fonte - Servidor X Configurando o Ambiente Grfico Instalao do X Window Configurando o X Informaes sobre os mdulos que devem ser carregados Servidor remoto: Xnest Gerenciadores de login Instalao de Ambientes Grficos Instalando e Configurando o Ambiente Grfico KDE Instalando e Configurando o Ambiente Grfico GNOME - Servios bsicos de rede Configurando a rede Procedimento de check-list dos servios de rede Telnet x SSH Aplicando regra de acesso a servidores no sistema: TCPWrappers Agendando tarefas Trabalhando com servidor de sincronizao de horrio NTP Gerenciando impresso no sistema - Clientes / Estaes de trabalho GNU/Linux Fornece habilidades e o conhecimento necessrio para fazer a integrao entre Windows e Linux.. Compartilhamento de arquivos em rede Linux Compartilhamento de arquivos em rede mista (Windows x Linux) Configurao do Servidor NFS Redes Windows x Redes Linux Instalao do Samba Configurando o Samba Compartilhando uma estao GNU/Linux com uma estao Windows Configurando um PDC com Samba Informaes importantes O curso tem foco na distribuio Debian, considerada a mais estvel e muito tradicional, possibilitando um ambiente que permite ao aluno capacitar-se no somente para o Linux mais tambm para outros sistemas Like Unix; Na sala de aula o curso ministrado em Debian, distribuio com a maior comunidade de mantenedores/desenvolvedores voltada exclusivamente para software livre.

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 3

    Instalao

    e atualizao do

    Sistema Operacional

    Debian GNU/Linux

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 4

    Aspectos gerais da plataforma GNU/Linux

    Projeto Debian O Projeto Debian um grupo mundial de voluntrios que se esforam para

    produzir um sistema operacional livre que composto inteiramente por software livre. O produto principal do projeto a distribuio Debian GNU/Linux, que inclui o kernel do sistema operacional Linux e centenas de aplicaes pr-empacotadas. Vrios tipos de processadores so suportados, incluindo o Intel i386 e superior, Alpha, ARM, Motorola 68k, MIPS, PowerPC, Sparc, e UltraSparc, HP PA-RISC, IBM S/390 e Hitachi SuperH.

    O Projeto Debian foi oficialmente fundado por Ian Murdock em 16 de Agosto de 1993, com a pretenso de que o Debian fosse uma distribuio criada abertamente, no mesmo esprito do Linux e do GNU. Naquele tempo, o conceito de uma "distribuio" de Linux era novo. A criao do Debian teve o apoio do projeto GNU da FSF (Free Software Foundation ou Fundao para o Software Livre) durante um ano (Novembro de 1994 a Novembro de 1995).

    A distribuio Debian pretendia ser cuidadosamente e conscientemente criada em conjunto e ser mantida e suportada com similar cuidado. Isso comeou com um pequeno e forte grupo de hackers do Software Livre e gradualmente cresceu se tornando uma grande e bem organizada comunidade de desenvolvedores e usurios.

    A pronncia oficial de Debian 'dbian'. O nome vem do nome do criador do Debian, Ian Murdock, e sua esposa, Debra.

    Debra + Ian = Debian

    Ian Murdock

    Detalhes da distribuio Debian:

    a nica distribuio que aberta para que todo desenvolvedor e usurio possam contribuir com seu trabalho;

    o nico distribuidor significativo de Linux que no uma entidade comercial; o nico grande projeto com uma constituio, um contrato social e

    documentos com polticas para organizar o projeto; A Debian tambm a nica distribuio que micro-empacotada, usando

    informaes detalhadas de dependncia de pacotes para garantir a consistncia do sistema em atualizaes.

    Para alcanar e manter um alto padro de qualidade, o Debian adotou um rico conjunto de polticas e procedimentos para empacotamento e distribuio de software.

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 5

    Backups so automatizados atravs de ferramentas e a documentao detalha todos os elementos chaves do Debian de uma forma aberta e visvel.

    O Projeto de Documentao do Debian pode ser encontrado neste endereo:

    http://www.debian.org/doc/index.pt.html .

    Projeto GNU

    O Projeto GNU foi iniciado em 1984 para desenvolver um sistema operacional completo, compatvel com o Unix, que fosse software livre: o sistema GNU. (GNU um acrnimo recursivo para GNU No Unix e pronunciado como guh-noo.) Variantes do sistema operacional GNU, que incluem o kernel Linux, so hoje amplamente utilizadas; embora estes sistemas sejam frequentemente chamados de Linux, eles seriam mais corretamente chamados de sistemas GNU/Linux.

    Se necessrio obter mais informaes, este o endereo:

    http://www.gnu.org/home.pt.html

    Quem quem no GNU?

    Este endereo est reservado para o nome de quem escreve e escreveu software livre para o Projeto GNU:

    http://www.gnu.org/people/people.pt.html

    Richard M. Stallman, criador e lder do projeto GNU.

    O Linux

    O que o Linux?

    Linux um sistema operacional Unix-like, isso quer dizer que o Linux foi desenvolvido de acordo com a filosofia Unix. Esse trabalho de desenvolvimento foi

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 6

    feito por Linus Torvalds, do Departamento de Cincia da Computao da Universidade de Helsinki, Finlndia, junto com um grupo de hackers pela Internet. O Linux segue o padro POSIX, que usado em estaes UNIX.

    Linus Torvalds iniciou cortando (hacking) o kernel como um projeto particular, inspirado em seu interesse no Minix, um pequeno sistema UNIX desenvolvido por Andrew Tannenbaum. Ele se limitou a criar, em suas prprias palavras, "um Minix melhor que o Minix". E depois de algum tempo de trabalho em seu projeto, sozinho, ele enviou a seguinte mensagem para comp.os.minix:

    Voc suspira por melhores dias do Minix-1.1, quando homens sero homens e escrevero seus prprios "device drivers" ? Voc est sem um bom projeto e esta morrendo por colocar as mos em um S.O. no qual voc possa modificar de acordo com suas necessidades ? Voc est achando frustrante quando tudo trabalha em Minix ? Chega de atravessar noites para obter programas que trabalhem correto ? Ento esta mensagem pode ser exatamente para voc.

    Como eu mencionei a um ms atrs, estou trabalhando em uma verso independente de um S.O. similar ao Minix para computadores AT-386. Ele est, finalmente, prximo do estgio em que poder ser utilizado (embora possa no ser o que voc esteja esperando), e eu estou disposto a colocar os fontes para ampla distribuio. Ele est na verso 0.02... contudo eu tive sucesso rodando bash, gcc, gnu-make, gnu-sed, compresso, etc. nele.

    Linus Benedictus Torvalds

    No dia 5 de outubro de 1991 Linus Torvalds anunciou a primeira verso "oficial" do Linux, verso 0.02. Desde ento muitos programadores tm respondido ao seu chamado, e tm ajudado a fazer do Linux o Sistema Operacional que hoje, uma grande maravilha.

    Ele inclui proteo entre processos, carregamento por demanda, redes TCP/IP, alem de nomes de arquivos com at 255 caracteres, multitarefa real, suporte a UNICODE, bibliotecas compartilhadas, memria virtual, etc.

    Conceitos fundamentais sobre o Linux

    O Linux como qualquer sistema baseado em Unix apresenta uma lgica de

    utilizao que preserva a segurana do sistema. Esse um dos aspectos fundamentais

    que o tem tornado o sistema operativo com maior crescimento no mundo.

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 7

    Assim, na lgica nativa do Linux existe uma diviso entre o administrador da

    mquina (ou superusurio) e o usurio sem privilgios.

    No Linux um usurio pode ser identificado de trs formas diferentes:

    Login do usurio - o nome que o usurio tem no sistema e que lhe serve para

    a ele ter acesso quando introduzido corretamente com uma password.

    Nome do usurio - o nome de batismo que o usurio tem. Por exemplo,

    Linus Torvalds. Este nome raramente utilizado, serve somente para acompanhar a

    leitura do nome completo do usurio.

    ID do usurio - (User ID) um nmero atribudo ao utilizador no momento da

    criao da sua conta de sistema. utilizado geralmente pelas aplicaes para se

    referirem a um usurio. Por norma, o root tem o ID 0 (zero) e um usurio pode ter, por

    exemplo, o nmero 1001 como ID.

    O superusurio ou root o administrador do sistema. Apenas ele poder executar

    alguns comandos e tarefas a que o usurio normal no tem acesso.

    Assim foi definido com o objetivo de um usurio no poder comprometer a

    estabilidade do sistema realizando operaes que o coloque em perigo.

    O superusurio tem uma rea de trabalho definida a partir da raiz do sistema:

    /root.

    O usurio tipicamente uma pessoa que trabalhar regularmente no sistema,

    tendo uma rea prpria que se encontra no diretrio /home/[nome do usurio]. Um usurio normal no consegue alterar, apagar, sobrescrever,...

    arquivos de sistema. Nenhum programa executado pelo mesmo consegue.

    Assim sendo, ningum se preocupa em fazer vrus para o Linux, pois o vrus no poder

    propagar-se devido s permisses sobre os arquivos lhe ser negado.

    Todos os arquivos criados pelo usurio sero guardados na sua prpria rea e

    outros usurios no tm acesso, a no ser que o superusurio o defina.

    A estrutura de diretrios no Linux

    A raiz do Linux fica no diretrio / e dentro deste diretrio existem vrios outros, cada um tem uma descrio.

    A estrutura de diretrios no Linux basicamente dividida assim:

    Diretrio Descrio

    /bin Arquivos executveis que so usados pelo sistema freqentemente. Aqui encontramos por exemplo os interpretadores de comandos (bash, ash,

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 8

    Diretrio Descrio

    etc), o df, chmod, date, kill, dmesg, pwd, ls e muito mais. So os comandos essenciais :)

    /boot Neste diretrio ficam os arquivos de boot, como os mapas de boot e as imagens do kernel.

    /dev Este um diretrio que carrega consigo todos os arquivos-dispositivos.

    /etc

    Arquivos de configurao do Linux. Este o diretrio que carrega todas as configuraes dos principais (seno todos) os programas do Linux. Ele contm por exemplo os arquivos de usurios e senhas, arquivos de inicializao, configuraes de rede e mais uma bolada de configurao pra deixar qualquer um doido.

    /home Diretrio dos usurios. Cada usurio tem um diretrio dentro deste diretrio :)

    /lib Algumas bibliotecas essenciais para o funcionamento do Linux e tambm os mdulos do kernel.

    /proc Este um diretrio especial, ele contm informaes que o kernel gera e algumas configuraes tambm.

    /root um diretrio HOME. S que aqui o do usurio administrador (root).

    /sbin

    Executveis que tm funes administrativas, geralmente usados pelo root. Aqui se encontram programas para verificar e criar sistemas de arquivos, optimizar o uso do HD, configurar dispositivos, gerenciar mdulos do kernel, etc.

    /tmp Diretrio temporrio. Neste diretrio, vrios utlitrios criam arquivos que s sero usados por um tempinho e depois descartados. No h nenhuma informao importante aqui, pois pode ser acessado por qualquer usurio.

    /usr Um dos maiores diretrios, este contm as bibliotecas e arquivos gerais dos vrios programas instalados no sistema. Sua estrutura bem parecida com a raiz em s. Ele tambm tem um lib, bin, sbin e por a vai.

    /var Informaes variveis que esto sempre em constante mudana, como arquivos de logs, de travas, informaes, e-mails do sistema, etc.

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 9

    Tipos e caractersticas de shells

    O shell o programa que permite a interao do usurio com o sistema, em

    modo texto. Em UNIX/Linux existem vrios tipos de shell, com funcionalidades

    diversas. Os principais so:

    Bourne shell (sh) - o mais antigo, est presente em todos os sistemas, pois necessrio para diversas operaes administrativas.

    C shell (csh) - de sintaxe mais simples, mais fcil de usar e por isso preferido pelos usurios iniciantes.

    Korn shell (ksh) - mistura caractersticas de ambos os anteriores. BASH Shell (bash) - Bourne-Again Shell, uma extenso do sh e utilizado

    como padro nas mquinas linux.

    Algumas caractersticas do shell no Linux:

    No prompt do Linux, quando existe com o smbolo $, isto quer dizer que o login foi feito com um usurio normal. Se estiver logado com o root, ao invs do

    smbolo $, no final do prompt existir o smbolo #.

    Nos nomes dos arquivos, os caracteres MAISCULOS e minsculos fazem a diferena. Isso quer dizer que os arquivos: PROGRAMA.tar.gz e

    programa.tar.gz, so dois arquivos completamente diferentes. Assim como: ls

    o comando na escrita certa e LS um comando que no existe.

    No Linux, no existem extenses .EXE, .COM especial para programas executveis. Ao invs disso, os arquivos tm permisso de executvel ou no.

    Alm de arquivos comuns, no Linux existem os chamados links simblicos, que so nada mais nada menos que uma espcie de atalhos.

    O Linux um sistema multitarefa, podendo ser acessado por vrios consoles ao mesmo tempo, assim como pode ser rodado vrios programas ao mesmo tempo.

    Para mudar o console do 1 a 6, utilize Alt-N, onde o N corresponde ao nmero do console. Exemplo: Alt-F1, Alt-F2, Alt-F3, Alt-F4, Alt-F5 e Alt-F6.

    Depois de logado, se quiser sair, utilize o comando exit, ou o comando logout ou ainda a combinao de teclas Ctrl-D.

    Se algum programa estiver rodando no seu console, aperte as teclas Ctrl-Z para suspender esse programa e voltar para o prompt. Para voltar ao programa, utilize

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 10

    o comando fg. Para listar os programas suspendidos na sesso atual, utilize o comando jobs.

    Um recurso muito interessante nas shells do Linux, o tab completion. Com ele voc pode completar comandos ou nomes de arquivos mais rapidamente sem

    precisar digitar tudo. Para utilizar esse recurso, basta apenas digitar as primeiras

    letras do comando ou arquivo e apertar a tecla Tab. O Linux ir completar o

    comando ou arquivo. Caso haja mais de um arquivo comeando com as letras

    digitadas, apertando Tab mais uma vez iro ser exibidas todas as opes.

    Referncia:

    The Linux Manual

    Tipos de sistema de arquivos do Linux

    Um sistema de arquivos um conjunto de estruturas lgicas e de rotinas, que

    permitem ao sistema operacional controlar o acesso ao disco rgido. Diferentes sistemas

    operacionais usam diferentes sistemas de arquivos. Os sistemas de arquivos do

    GNU/Linux evoluem de forma constante, juntamente com o kernel e outros

    subsistemas. Muitas melhorias so introduzidas em todos os formatos de sistemas

    suportados pelo GNU/Linux, tornando os mesmos: mais seguros, rpidos e estveis.

    O sistema de arquivos independente do hardware e da BIOS. por meio de um

    sistema de arquivos que ocorre a gravao e a recuperao dos dados em um dispositivo

    de armazenamento em um computador. O sistema de arquivos que define o modo

    como os arquivos so estruturados, nomeados, acessados, utilizados, protegidos e

    manipulados pelo sistema operacional.

    Os arquivos so armazenados, no sistema de arquivos, em diretrios que so

    uma subdiviso lgica e que funcionam como repositrios de arquivos ou de outros

    diretrios.

    O conjunto de diretrios e arquivos forma um sistema de arquivos raiz, ou

    "rvore" de diretrios, a mesma deve seguir um padro estabelecido. O sistema de

    arquivos hierrquico e admite que diversos dispositivos sejam mapeados e utilizados a

    partir do diretrio raiz. Para o usurio toda essa estrutura vista de forma nica.

    A caracterstica de recuperao implementada em sistemas de arquivos

    chamada de "journaling" (registro de aes). Sistemas que no possuem "journal" so

    mais suscetveis s falhas e perdas de dados. Alm disso, em caso de parada do sistema

    ou falta de energia, o tempo necessrio para retomar as operaes elevado, j que uma

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 11

    verificao de integridade realizada em cada arquivo do sistema. Nas parties que

    possuem milhares de arquivos essa verificao pode levar horas.

    Os sistemas de arquivos com suporte a "journal" so recomendados por

    aumentarem a disponibilidade (High Availability - HA) em servidores GNU/Linux. A

    alta disponibilidade medida pelo tempo em que o servidor se encontra fora de servio

    por falhas no sistema operacional ou no hardware.

    Quanto menor o tempo em que o sistema estiver indisponvel, maior o ndice

    de disponibilidade, medido em uma escala de casas decimais que tende a se aproximar

    de 100%.

    Caractersticas de alguns sistemas de arquivos:

    EXT3

    O sistema de arquivos EXT3 uma verso do EXT2; O ext3 tem as mesmas caractersticas do EXT2, mas com suporte journaling; A evoluo tornou o EXT3 um sistema de arquivos muito estvel e robusto; Podemos converter um sistema de arquivos EXT2 para EXT3, adicionado

    suporte a journaling, e tambm podemos converter um sistema de arquivos

    EXT3 para EXT2, removendo o suporte a journaling.

    ReiserFS

    O sistema de arquivos ReiserFS foi criado recentemente; Atualmente quase todas as distribuies Linux o suportam; Sua performance muito boa, principalmente para um nmero muito grande de

    arquivos pequenos;

    ReiserFS tambm possui suporte a journaling.

    JFS

    O JFS (Journaling FileSystem) um sistema de arquivos desenvolvido pela IBM, disponvel em licena open-source, com o intuito de rodar nos "UNIXes"

    que a IBM vendia;

    No incio o JFS sofreu uma perda de credibilidade devido a constantes instabilidades e bugs, caso este que atualmente encontra-se resolvido e assim

    muito estvel.

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 12

    Extremamente rpido e permite trabalhar com uma quantia de dados muito superior aos demais sistemas de arquivos;

    O sistema de arquivos JFS tambm usa a estrutura inode para armazenar a localizao dos blocos de cada arquivo nas estruturas fsicas do disco, a verso

    JFS2 armazena esses inodes em uma rvore binria para acelerar o acesso a

    essas informaes, esses blocos podem variar de 512 a 4096 bytes, a alocao

    dos inodes feita conforme vai sendo necessrio.

    Alm de possuir journal ele permite que as parties do sistema sejam redimensionadas sem que seja necessrio desligar o computador;

    XFS

    XFS um sistema de arquivos muito rpido na gravao; Desenvolvido originalmente pela Silicon Graphics e posteriormente

    disponibilizado o cdigo fonte;

    Considerado um dos melhores sistemas de arquivos para banco de dados; Possui journaling de metadados que vem com um robusto conjunto de funes e

    otimizado para escalabilidade;

    recomendado usar este sistema de arquivos em sistemas rodando Linux com equipamento SCSI de ponta e/ou armazenamento em canais de fibra e fonte de

    energia sem interrupo;

    Pelo fato de o XFS criar muitos caches de dados em uso na memria RAM, programas mal desenhados podem perder uma grande quantidade de dados se o

    sistema for desligado sem aviso.

    LVM

    LVM um acrnimo para a expresso inglesa Logical Volume Management para especificar um padro de gerenciamento de parties em disco

    IDE/SCSI/FC;

    Foi desenvolvido inicialmente pela IBM, e outras empresa e instituies, como: HP e a Open Group;

    A implementao LVM cria um grande disco virtual, que pode inclusive ter mais de um dispositivo de armazenamento , e divide em parties virtuais;

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 13

    A vantagem permitir o redimensionamento das reas de modo dinmico, ou seja, com o sistema operacional sendo utilizado;

    A desvantagem que por ser um nico disco virtual, a recuperao de dados em uma eventual pane no sistema de armazenamento bastante prejudicada.

    Inode

    Um inode um identificador nico que um arquivo recebe, nele contm uma

    lista com 12 blocos diretos de dados que o arquivo deve ter, se ele possui mais de 12

    blocos, ele segue uma regra para gravar esses blocos no disco e poder achar mais tarde.

    Os dados do arquivo so armazenados em unidades chamadas 'blocos'. Estes

    blocos podem ser numerados seqencialmente. Um arquivo tambm tem um inode.

    Como os blocos, os inodes so numerados seqencialmente, embora tenham uma

    seqncia diferente. Uma entrada de diretrio consiste do nome do arquivo e um

    nmero de inode. O inode tambm armazena o local dos blocos de dados.

    * Os nmeros dos blocos dos primeiros 12 blocos de dados esto armazenados

    diretamente no inode. Estes s vezes so chamados de blocos diretos.

    * O inode contm o nmero do bloco de um bloco indireto. Um bloco indireto

    contm os nmeros de blocos de 256 blocos de dados adicionais.

    * O inode contm o nmero do bloco de um bloco duplamente indireto. Um bloco

    duplamente indireto contm os nmeros de blocos de 256 blocos indiretos adicionais.

    * O inode contm o nmero do bloco de um bloco trs vezes indireto. Um bloco trs

    vezes indireto contm os nmeros de blocos de 256 blocos duplamente indiretos

    adicionais.

    Referncias: Guia Foca GNU/Linux Discos e Parties

    http://focalinux.cipsga.org.br/guia/inic_interm/ch-disc.htm Wikipdia

    http://pt.wikipedia.org/wiki/Sistema_de_arquivos

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 14

    Instalao do Debian Sarge

    Antes de iniciar o processo de instalao necessrio configurar a BIOS para

    que a inicializao do computador ocorra pelo drive de CD-ROM; Leia sempre e atentamente todas as telas do processo de instalao. Elas trazem

    informaes importantes para a compreenso do processo; Insira o CD;

    Logo na primeira tela do processo dever ser feita a opo do tipo de instalao

    a ser realizada. Como estamos em um curso bsico, voc deve digitar: linux26, o mesmo o modo de instalao automtica.

    Obs: tambm possvel entrar com a palavra: expert26, que o processo manual mas a orientao deste tipo de instalao no ser repassada neste momento.

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 15

    Aps digitar linux26, pressione a tecla ENTER:

    Obs: A tecla ENTER dever ser pressionada sempre que desejar prosseguir.

    O prximo passo selecionar o idioma a ser usado, em seguida, pressione

    ENTER:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 16

    Selecione o layout do teclado:

    Pressione ENTER:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 17

    Continuao da tela:

    Continuao da tela:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 18

    Configurao automtica da rede:

    Quando no houver um servidor DHCP, ser exibida a tela abaixo:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 19

    Selecione a opo continuar, pressione ENTER.

    Confirme a opo: Configurar a rede manualmente. Pode ocorrer de voc no precisar ajustar esta mquina a uma rede de computadores, neste caso voc seleciona No configurara rede agora e logo em seguida ser dado incio ao particionamento.

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 20

    Digite o IP e prossiga a instalao:

    Voc digita a mscara da rede e prossiga a instalao:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 21

    Digite o gateway e prossiga a instalao:

    Digite o nome de mquina e prossiga a instalao:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 22

    Para terminar de configurar a rede, digite o nome de domnio e prossiga a

    instalao. Ser exibida a tela para inicial do particionador:

    Tela para particionamento:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 23

    Selecione a opo: Apagar todo o disco.

    Marque ESPAO LIVRE e prossiga:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 24

    Selecione Criar uma nova partio:

    Digite o tamanho da partio 250MB:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 25

    Selecione como tipo de partio Primria:

    Esta partio ser criada no Incio do espao disponvel:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 26

    Selecione ponto de montagem, pressione ENTER e em seguida selecione

    /boot.

    Obs: Tendo como referncia a imagem abaixo, no kernel anterior era necessrio criar uma partio chamada /boot. Hoje em dia, com o kernel 2.6 no mais necessrio, o sistema j o cria automaticamente. O mesmo passar a existir dentro do diretrio /. Para esta aula, por favor selecione no ponto de montagem a opo /boot:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 27

    A seguir confirme a opo Finalizar a configurao da partio:

    Temos uma partio criada, a partio: /boot. Neste momento realize os mesmos

    passos e crie uma partio chamada / (Raiz). A mesma ter o tamanho de 400 MB.

    Teremos uma imagem semelhante imagem abaixo:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 28

    No Espao Livre, teremos de criar algumas parties lgicas, sempre ao incio

    do espao disponvel. As parties lgicas a serem criadas so:

    /usr 3.0 GB /home 3.1 GB

    Aps o trmino do particionamento, selecione Finalizar o particionamento e

    gravar as mudanas no disco:

    Selecione a opo Sim, assim voc estar permitindo que as mudanas na lista

    sejam gravadas nos discos.

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 29

    Aps a confirmao, ser dado o incio da Instalao do Sistema bsico Debian.

    O prximo passo confirmar a instalao do carregador de inicializao GRUB.

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 30

    Continuao da instalao do GRUB:

    Continuao da instalao do GRUB:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 31

    Instalao finalizada remova a mdia de instalao e confirme a opo

    Continuar.

    Abaixo, a tela de reinicializao da mquina, aps isso o sistema passar a ser iniciado a partir do disco rgido.

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 32

    Aps a reinicializao do sistema, ser exibida a seguinte tela:

    Confirme a opo OK.

    Em seguida, selecione a opo Sim para iniciar a configurao do fuso horrio:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 33

    Selecione seu fuso horrio:

    Selecione a rea de seu fuso horrio:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 34

    Selecione a cidade ou fuso horrio:

    A seguir, digite uma senha, a mesma ser a senha de root (administrador):

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 35

    Digite um nome para a conta de usurio a ser usada para atividades no

    administrativas:

    Informe uma senha para o usurio que est sendo criado:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 36

    Aps digitar a senha, ser necessrio inserir o CD 2 e confirmar OK.

    Logo a seguir, o sistema ir ler as informaes do CD2, como mostra a imagem

    abaixo:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 37

    Aps o trmino da leitura do CD2, ser o momento de retira-lo e inserir o CD3. Aps inserir o CD3, confirme a opo SIM.

    Tambm ser feita a leitura das informaes do CD3, logo a seguir teremos a

    seguinte tela:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 38

    Neste momento, o sistema j possui as informaes at o CD3. Os trs cds so

    necessrios para a instalao do sistema. Na tela acima, que ser exibida, voc confirma a opo NO.

    Se houver a necessidade de adicionar a leitura de outro(s) cd(s), selecione a opo SIM. Ao trmino da leitura da mdia, selecione NO.

    Ser exibida a tela de login. Voc ter de entrar com o usurio e a senha:

    ----------------------------------------------------------------------------------------------------------

    Customizando, compilando e instalando um kernel Linux em seu servidor

    O Kernel representa a camada mais baixa de interface com o Hardware, sendo

    responsvel por gerenciar os recursos do sistema computacional como um todo. no

    kernel que esto definidas funes para operao com perifricos (mouse, discos,

    impressoras, interface serial/interface paralela), gerenciamento de memria, entre

    outros. O kernel um conjunto de programas que fornece para os programas de usurio

    uma interface para utilizar os recursos do sistema.

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 39

    Antes de tudo:

    Quais so os requerimentos mnimos de hardware?

    Varia de acordo com a arquitetura e a verso do kernel. Mas tenha em mente o

    seguinte para ter um sistema mnimo funcional: 16 MB de RAM (memria fsica), 100

    MHz de clock de processamento e 100 MB de espao em disco (memria virtual).

    Qual o processador? Qual o clock? Qual a arquitetura?

    # cat /proc/cpuinfo # arch

    Qual a quantidade de memria?

    # cat /proc/meminfo

    Baixando o pacote

    Baixe o pacote que contm o cdigo fonte mais atualizado do kernel Linux da

    srie 2.6 em http://www.kernel.org.

    Fazendo o download com o comando wget: # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.x.tar.bz2

    Como superusurio (faa o login no sistema com o usurio root), descompacte e desempacote o arquivo assim:

    # tar xvjf linux-2.6.x.tar.bz2 -C /usr/src

    Crie o link simblico /usr/src/linux apontando para /usr/src/linux-2.6.x assim:

    # ln -sf /usr/src/linux-2.6.x /usr/src/linux

    Acesse /usr/src/linux assim:

    # cd /usr/src/linux

    Este ser o diretrio raiz de compilao, ou seja, o diretrio base para os passos

    seguintes.

    Caso j exista uma compilao anterior, execute o comando 'make mrproper'

    para retornar ao padro os arquivos de configurao do kernel.

    # make mrproper

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 40

    Edite o arquivo Makefile para personalizar a verso de sua compilao. Altere a

    varivel EXTRAVERSION na quarta linha para um valor que deseje como por exemplo

    -i386-mwsf-1. Salve este arquivo.

    VERSION = 2

    PATCHLEVEL = 6

    SUBLEVEL = x

    EXTRAVERSION = -i386-mwsf-1 Quais so os Softwares que preciso para iniciar a compilao?

    O arquivo /usr/src/linux/Documentation/Changes contm uma lista do software

    mnimo que deve estar corretamente instalado na mquina antes de iniciar a compilao.

    No inicie a compilao do kernel sem antes obtiver a certeza de que o mnimo de

    software est instalado. Existe um script que pode auxiliar nisto. O script

    /usr/src/linux/scripts/ver_linux imprime na tela uma lista do software mnimo e suas

    respectivas verses que esto instalados na mquina. Compare esta lista com a lista

    oferecida pelo documento /usr/src/linux/Documentation/Changes. Para executar este

    script, faa assim:

    # sh scripts/ver_linux

    Ser obrigatrio ter os itens da lista instalados, apenas aqueles que o kernel que

    voc est configurando suportar.

    O arquivo /usr/src/linux/.config armazena a configurao do kernel.

    Basicamente, este arquivo descreve o que dever ser incorporado ao kernel (y) e o que

    dever ser criado como mdulo (m). Incorpore ao kernel apenas o necessrio. O restante

    necessrio, configure como mdulo. O que no for necessrio, retire. Por exemplo, se

    voc no tem um determinado dispositivo em sua mquina, retire da configurao o

    suporte. Isto possibilita uma maior performance por parte do sistema.

    O kernel Linux pode ser modular, ou seja, o suporte bsico fica incorporado ao

    kernel constantemente e o suporte a outros dispositivos, como por exemplo, uma placa

    de som, pode ser configurado como mdulo. Assim sendo, este mdulo da placa de som

    carregado na memria e plugado ao kernel apenas quando for necessrio, ou seja,

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 41

    apenas quando o usurio estiver utilizando som no sistema. Isto otimiza o sistema,

    utilizando seus recursos sabiamente.

    Existe uma configurao padro para cada tipo de arquitetura de hardware no

    diretrio /usr/src/linux/arch. O nome do arquivo defconfig. Supondo que sua

    arquitetura de hardware seja i386, faa uma cpia do arquivo defconfig para o diretrio

    raiz de compilao com o nome .config:

    # cp -f /usr/src/linux/arch/i386/defconfig /usr/src/linux/.config

    Em alguns casos de arquitetura, pode existir um diretrio configs contendo configuraes especficas e testadas para cada modelo de mquina.

    Sendo isso ocorrer, ao iniciar a ferramenta de configurao, j existir alguns itens marcados. No ser necessrio iniciar do zero uma configurao.

    Execute a ferramenta de configurao assim:

    # make menuconfig

    ou

    # make xconfig (modo grfico)

    Observe a existncia de uma configurao j pr-definida, se deve ao fato de

    voc ter copiado o arquivo defconfig para o diretrio raiz de compilao com o nome de

    .config. Algumas dicas:

    Marque com * itens que sero incorporados ao arquivo do kernel como por exemplo, sistemas de arquivos que voc utiliza ou vai utilizar em suas parties.

    Marque com m itens que sero criados como mdulo, ou seja, sero plugados ao kernel apenas quando houver necessidade de uso.

    Esta uma etapa demorada e deve ser feito com ateno. Acompanhe o help de cada

    item para saber o que est incluindo ou no.

    Aps a configurao do kernel, vamos compil-lo realmente. Para isto, execute o comando:

    # make

    Este passo pode levar minutos ou de um dia para o outro. Depende do poder da mquina aonde voc vai compilar.

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 42

    Aps a compilao do kernel, vamos instalar os mdulos com o seguinte comando:

    # make modules_install

    Vamos copiar o kernel (bzImage) para o diretrio /boot. O arquivo est no diretrio de acordo com a arquitetura que voc estiver utilizando. Se voc compilou o kernel em um PC, o que mais comum, ento execute o comando para copiar:

    # cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.x-i386-mwsf-1

    Nomeie os arquivos de acordo com a verso do kernel que est compilando e de acordo com a arquitetura de hardware.

    Agora vamos copiar o arquivo System.map para /boot:

    # cp /usr/src/linux/System.map /boot/System.map-2.6.x-i386-mwsf-1

    Criando um link simblico para System.map:

    # ln -sf /boot/System.map-2.6.x-i386-mwsf-1 /boot/System.map

    Agora vamos copiar o .config para /boot:

    # cp /usr/src/linux/.config /boot/config-2.6.x-i386-mwsf-1

    Vamos criar um arquivo initrd assim:

    # mkinitrd -o /boot/initrd-2.6.x-i386-mwsf-1.img 2.6.x

    A opo (-o arquivo) diz onde salvar o arquivo initrd gerado. A prxima opo

    de parmetro a verso do kernel que voc compilou.

    O initrd utilizado mais para kernel's genricos que acompanham as

    distribuies Linux. As distribuies so lanadas com kernel's genricos para suportar

    o maior nmero de hardware possvel.

    Como o kernel novo foi instalado como um pacote Debian, uma boa hora pra

    usar mais uma facilidade da Debian: update-grub (se voc ainda usa lilo, uma boa

    hora pra mudar :).

    Instale o grub com:

    # grub-install /dev/hda

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 43

    Se for instal-lo na MBR, isso cria um diretrio /boot/grub. Depois disso, s

    rodar "update-grub" que ele gera um /boot/grub/menu.lst pra voc. Se voc j possui um

    menu.lst, faa o backup e remova-o, a no ser que voc tenha muitas modificaes nele.

    Edite o menu.lst, altere configuraes como:

    # kopt=root=/dev/hda3 ro

    # groot=(hd0,0)

    De acordo com seu sistema est configurado. Note que as linhas devem

    permanecer comentadas ("#" no comeo da linha), essas so meta-configuraes.

    Depois de acertar isso, rode update-grub de novo e... Ele gera as entradas no menu do

    grub automaticamente, a partir das imagens de kernel instaladas e das meta-

    configuraes que voc fez.

    Reinicie o Sistema

    Configurando e instalando um Boot Manager

    um programa que gerencia as parties que sero inicializadas em um sistema

    computacional. As verses atuais deste programa so instaladas no Setor de Boot

    Mestre (MBR - Master Boot Record) do disco rgido, fazendo com que um menu

    interativo seja apresentado toda a vez em que voc inicializa o micro, perguntando ao

    usurio que partio ele deseja para boot. Se existir sistemas operacionais diferentes

    instalados em parties separadas, conseqentemente ter de escolher qual sistema

    operacional o micro carregar em memria.

    Iremos, portanto, configurar o nosso boot loader (responsvel por carregar o

    sistema) para que o kernel seja chamado na inicializao, juntamente com o atual.

    LILO (Linux Loader)

    um aplicativo responsvel pela carga (boot) do sistema operacional na

    mquina, sendo que voc pode trabalhar com ele tanto para discos IDE ou SCSI. Ele

    considerado o gerenciador de boot padro dos sistemas Linux.

    Instalando o LILO:

    # apt-get install lilo

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 44

    Editando seu arquivo de configurao:

    # nano /etc/lilo.conf

    Aps terminar de instalar, execute o liloconfig.

    Editando o seu arquivo de configurao:

    # nano /etc/lilo.conf

    Adicione as seguintes linhas ao final do arquivo:

    --------------------------------------------------------------------------------------------------------

    image=/boot/[caminho da imagem gerada]

    label=Novo Kernel

    initrd=/boot/initrd-2.6.x-i386-mwsf-1.img

    read-only

    --------------------------------------------------------------------------------------------------------

    Para que as alteraes sejam lidas pelo sistema, precisamos dar o comando lilo:

    # lilo

    GRUB

    GRUB (GRant Unified Bootloader) um outro gerenciador de boot,

    desenvolvido pelo projeto GNU, tambm muito utilizado pelos sistemas Linux.

    Assim como o Lilo, o Grub possui um arquivo centralizado para configurar o

    menu utilizado por ele. Vamos editar este no arquivo:

    # nano /boot/grub/menu.lst

    Adicione as seguintes linhas ao final do arquivo:

    --------------------------------------------------------------------------------------------------------

    Title Novo Kernel

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 45

    root (hd0,0)

    kernel /boot/vmlinuz-2.6.x-i386-mwsf-1

    initrd /boot//initrd-2.6.x-i386-mwsf-1.img

    root=/dev/hdx1 ro

    savedefault

    boot

    --------------------------------------------------------------------------------------------------------

    Depois de alterar o arquivo, precisamos atualizar o GRUB na MBR:

    # grub-install /dev/hdx

    Aps a atualizao, reinicie o sistema.

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 46

    Uso do

    Shell

    Sistema Operacional GNU/Linux

    SHELL

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 47

    Usando o Shell

    Qual seu shell?

    # echo $SHELL Abrindo uma nova sesso para um usurio. Esta nova sesso assume o perfil do

    usurio, com todas as caractersticas associadas a ele:

    # login Tem como funo desconectar um usurio de uma determina sesso:

    # logout O objetivo encerrar uma sesso de trabalho:

    # exit Desligar:

    # halt # shutdown -h now # shutdown 18:00 # shutdown -h 10 # init 0 # shutdown

    Reiniciar:

    # reboot # shutdown -r now # shutdown -r 15 now # init 6

    Exibe a quantidade de tempo desde a ltima reinicializao do sistema:

    # uptime Pgina de manual e de informaes sobre os comandos:

    # man shutdown ou

    # info shutdown Processos em tempo real:

    # top Processos em execuo no sistema:

    # ps aux

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 48

    Matando um processo:

    # kill -15 pid Modificar data e hora do sistema:

    # date MMDDHHMMYY Atualizar a hora da bios de acordo com a hora do S.O:

    # hwclock -w Arquitetura de mquina:

    # arch Mostra o diretrio corrente:

    # pwd

    Comando que muda um subdiretrio corrente a partir do diretrio atual:

    # cd [diretrio] # cd /root # cd - (volta ao ltimo diretrio acessado) # cd .. (acessa o diretrio anterior na rvore de diretrios)

    Este comando acima mudar o diretrio atual de onde o usurio est. H tambm

    algumas abreviaes de diretrios no Linux para facilitar a identificao, estes so:

    Abreviao Significado . (ponto) Diretrio atual .. (dois pontos) Diretrio anterior ~ (til) Diretrio HOME do usurio / (barra) Diretrio Raiz - (hfen) ltimo diretrio

    Listar diretrio:

    /# ls /# ls --color

    Parmetro Significado -l Lista os arquivos em formato detalhado. -a Lista os arquivos ocultos (que comeam com um .) -h Exibe o tamanho num formato legvel (combine com -l) -R Lista tambm os subdiretrios encontrados

    Mostra o contedo detalhado do diretrio:

    # ls -lah

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 49

    # ls lah [diretrio] Mostra os arquivos no formato longo em ordem inversa de data:

    #ls ltr #ls ltr [diretrio] l = longo t = date r = inversa

    Criar novo diretrio:

    # mkdir [diretrio] # mkdir free

    Remover diretrio vazio:

    # rmdir [diretrio] Remover um diretrio e todo o seu contedo (cuidado com este comando):

    # rm rf [diretrio] # rm rf / ( No faa isso! )

    Mostra o tamanho do diretrio em Megabytes

    # du -msh # du msh [diretrio]

    du = a abreviao de se referir a disk usage (uso do disco). Indica o espao usado em

    disco pelos arquivos ou diretrios dados. Sintaxe: du [diretrio].

    Indica onde esto os binrios, fontes e pginas de manual de um comando dado:

    # whereis ls Indica o caminho completo para o comando dado:

    # which ls

    geralmente utilizado para atualizar a hora e a data de um determinado arquivo.

    Caso este arquivo no exista, ele ser criado pelo touch, porm sem contedo algum. A

    sua sintaxe do comando touch :

    Sintaxe: touch [opes] [arquivos] # touch arquivo

    Atualizando hora e data de um arquivo:

    # touch -t YYYYMMDDhhmm arquivo Listagem colorida:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 50

    # ls - -color # ls color [diretrio]

    Criando um arquivo:

    # : > [arquivo] # : > linux

    Criando vrios arquivos:

    # touch gnu linus unix hurd

    Linkando arquivos:

    ln -s [arquivo_origem] [link simblico]

    Este comando usado para gerar links simblicos, ou seja, que se comportam

    como um arquivo ou diretrio, mas so apenas redirecionadores que mandam seu

    comando para outro arquivo ou diretrio, por exemplo:

    $ ln -s /etc /home/user/atalho

    Este comando criar o link /home/user/atalho, se voc digitar o comando ls -l

    voc ver que o diretrio /home/user/atalho est apontando para /etc. Se voc for para o

    /home/user/atalho, voc na verdade estar no /etc, mas como um link, no h

    diferena.

    Movendo um arquivo:

    # mv /root/debra /home/user/ Movendo um arquivo para o diretrio local:

    /home/user# mv /root/debra . Copiando um arquivo:

    # cp gnu /home/user/ # cp /root/gnu /home/user

    Copiando um arquivo para o diretrio local:

    /home/user# cp /root/gnu . Listando em detalhes todos os arquivos de um diretrio:

    # ls -lah Listando em detalhes todos os arquivos de um diretrio e exibe em cores

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 51

    : # ls -lah --color Simulao de resultado do comando:

    -rw-r--r-- 2 user user 100k 2007-02-24 11:00 gnu Exibe um calendrio:

    # cal Mostra o contedo de um arquivo binrio ou texto:

    # cat gnu Mostra o arquivo na ordem invertida de leitura:

    # tac ian Exibe as primeiras linhas de um determinado arquivo:

    # head [arquivo] # head n [arquivo] # head -3 gnu

    Exibe as ultimas linhas de um determinado arquivo:

    # tail [arquivo] # tail n [arquivo] # tail -3 gnu

    Localiza um determinado arquivo especificado:

    # locate linus Atualiza a base de dados do locate:

    # updatedb O comando cat possibilita exibir o texto de um arquivo. Com o more existir

    uma pausa a cada tela cheia, possibilitando a leitura do arquivo. Exemplo:

    # cat [arquivo] | more # more [arquivo]

    Possibilita exibir o arquivo de maneira paginada, com opo de rolagem para

    trs e para frente:

    # cat /proc/cpuinfo | less Para redirecionar a sada de um comando para o less use o pipe.

    Exibindo um arquivo em linhas numeradas:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 52

    # nl gnu Contador de linhas, palavras e bytes:

    # wc [opes] [arquivo] # wc gnu # wc -l gnu # wc -w gnu # wc -c gnu

    Visualiza de forma crescente as informaes do arquivo:

    # sort gnu Visualiza de forma decrescente as informaes do arquivo:

    # sort -r gnu Mostra informaes de um arquivo:

    # file [arquivo] # file gnu

    Indica o tipo de arquivo:

    # type [arquivo] # type gnu

    Mostra inode com atributos MAC (Modify, Access, Changes):

    # stat [arquivo] # stat gnu

    Exibe a rvore de diretrios:

    /# tree

    Para exibir informaes do sistema, tais como: o sistema operacional, verso do

    kernel, arquitetura da mquina e muitos outros:

    # uname [opes] Verso de kernel:

    # uname -r Arquitetura de mquina:

    # uname -m Mostra o hostname:

    # uname -n Mostra o tipo de processador:

    # uname -p

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 53

    Mostra a data da verso do kernel: # uname -v

    Mostra o nome do Sistema Operacional: # uname -o

    Mostra o nome do Kernel: # uname -s

    Mostra uma listagem de entrada e sada de usurios no sistema:

    # last Exibe o histrico:

    # history Logins mal sucedidos:

    # lastb

    Alias e Variveis

    Alias O que alias?

    Alias significa atalho, nome falso ou pseudnimo e pode ajudar em muito

    sua vida no Linux.

    Um alias para todos os usurios voc edita em: # vi /etc/bash.bashrc

    Um alias para root voc edita em: # vi /root/.bashrc

    Atualize o arquivo toda vez que voc adicionar contedo ao arquivo: source /etc/bash.bashrc

    ou source /root/.bashrc

    Exemplos: alias opencd=eject; sleep 5s; eject -t alias ls=ls --color -lah OBS: sempre editar ao final do arquivo.

    Variveis

    O shell executado no sistema controlado por variveis de ambiente (espaos de

    memria que armazenam valores), as mesmas podem ser:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 54

    Variveis locais - so as variveis disponveis somente pelo shell corrente e que

    no est sendo acessado por subprocessos do sistema.

    Variveis globais - esto disponveis tanto para o shell corrente como para os

    subprocessos que fazem uso delas.

    Descrio de algumas variveis de ambiente, que so importantes para facilitar o

    entendimento:

    HOME - Esta varivel identifica o diretrio do usurio domstico, use o comando echo $HOME para saber qual o seu diretrio HOME.

    PATH - Esta a varivel de ambiente que define quais diretrios pesquisar e a ordem na qual eles so pesquisados para encontrar um determinado comando,

    para saber como o sistema faz esta pesquisa e quais diretrios ele procura um

    comando use o comando echo $PATH.

    OSTYPE - Essa varivel define o tipo de sistema operacional em uso. Para saber qual o sistema operacional em uso use o comando echo $OSTYPE.

    SHELL - Esta varivel identifica qual shell est sendo usado, use o comando echo $SHELL para saber qual o shell que o seu sistema est usando.

    TERM - Esta varivel define o tipo de terminal que est sendo usado, use o comando echo $TERM para saber qual o tipo de terminal est sendo usado pelo

    sistema.

    USER - Pr-define o nome de conta como varivel de ambiente, ou seja, ao se logar ao sistema a ID do usurio combinada com um nome de conta, para

    saber qual o usurio corrente use o comando echo USER.

    MAIL - Esta a varivel de correio eletrnico. Para saber como seu mail est definido use o comando echo $MAIL.

    LOGNAME - Esta varivel um sinnimo para USER. Para saber qual o seu logname use o comando echo $LOGNAME.

    Existem vrios tipos de shell, entre os quais podemos visualiz-los no arquivo

    /etc/shells com os seguintes comandos:

    # cat /etc/shells

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 55

    Para visualizar as variveis de ambiente no sistema podemos utilizar os

    comandos a seguir:

    Variveis locais:

    $ set

    Variveis globais:

    $ env

    ou

    $ printenv

    Para atribuir um valor a uma varivel local. Exemplo:

    $ LINUX=free $ echo $LINUX free

    O comando echo exibe o valor de uma varivel de ambiente.

    Vamos verificar se a varivel aparece na relao de variveis locais. Exemplo:

    $ set | grep LINUX LINUX=free

    Agora vamos transformar esta varivel local uma varivel global. Para isso

    devemos usar o comando export:

    # export LINUX # env | grep LINUX LINUX=free

    Para deletar uma varivel de ambiente, usamos o comando unset e para

    verificarmos se a varivel foi excluda usaremos o comando echo. Exemplo:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 56

    # unset LINUX # echo $LINUX

    Agora vamos editar o nosso prompt de comando que representado pela varivel PS1. Podemos utilizar os seguintes argumentos para esta tarefa:

    Argumento Descrio \h Host da mquina. \W Diretrio corrente. \w Caminho completo do diretrio corrente. \u Nome do usurio. \t Hora do sistema. \d Data. \\$ $ para usurio comum e # para root.

    # export PS1="[\h@\w]\\$" [trabalho@~]#

    Observe que o prompt mudar, ele deve mostrar o host (trabalho), o caminho completo do diretrio corrente (~) e o tipo de caractere que faz referncia ao prompt.

    Podemos criar variveis globais editando-as no arquivo /etc/profile:

    # vi /etc/profile

    Podemos criar variveis que so executadas somente no ambiente do usurio editando o arquivo ~/.bash_profile, sendo executadas automaticamente no login:

    # vi /home/user/.bash_profile

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 57

    Introduo a programao em Shell Script

    Passos para criar um Shell Script

    Escolha um nome para o script

    Use apenas letras minsculas e evite acentos, smbolos e espao em branco.

    nome: sistema

    Escolha o diretrio onde colocar o script

    Para que o script possa ser executado de qualquer parte do sistema, movao para

    um diretrio que esteja no seu PATH. Para ver quais so estes diretrios, use o

    comando:

    echo $PATH

    Se no tiver permisso de mover para um diretrio do PATH, deixeo dentro de

    seu HOME.

    Crie o arquivo e coloque nele os comandos

    Use o editor de textos de sua preferncia para colocar todos os comandos dentro

    do arquivo.

    Coloque a chamada do Shell na primeira linha

    A primeira linha do script deve conter: # !/bin/bash para que ao ser executado, o

    sistema saiba que o Shell quem ir interpretar estes comandos.

    Torne o script um arquivo executvel

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 58

    Use o seguinte comando para que seu script seja reconhecido pelo sistema como um

    comando executvel:

    chmod +x sistema

    Problemas na execuo do Script

    "Comando no encontrado"

    Descrio:

    O Shell no encontrou o seu script. Verifique se o comando que voc est chamando

    tem exatamente o mesmo nome do seu script. Lembrese que no Linux as letras

    maisculas e minsculas so diferentes, ento o comando "SISTEMA" diferente do

    comando "sistema".

    Caso o nome esteja correto, verifique se ele est no PATH do sistema. O

    comando echo $PATH mostra quais so os diretrios conhecidos, mova seu script para

    dentro de um deles, ou chameo passando o caminho completo.

    Se o script estiver no diretrio corrente, chameo com um ./ na frente. Exemplo:

    $ ./sistema

    Caso contrrio especifique o caminho completo desde o diretrio raiz:

    $ /tmp/scripts/sistema

    "Permisso Negada"

    Descrio:

    O Shell encontrou seu script, mas ele no executvel.

    Use o comando chmod +x nome_escript para tornlo um arquivo executvel.

    "Erro de Sintaxe"

    Descrio:

    O Shell encontrou e executou seu script, porm ele tem erros.

    Um script s executado quando sua sintaxe est 100% correta. Verifique os

    seus comandos, o erro pode ser algum IF ou aspas que foram abertos e no foram

    fechados. A prpria mensagem informa o nmero da linha onde o erro foi encontrado.

    Criando um Shell Script

    Aps ler e executar os passos para a criao de um Shell Script, voc j sabe o

    bsico para fazer um script em Shell do zero e executlo.

    O Shell Script que vamos criar serve para melhorar a sada de algumas aes.

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 59

    Executar vrios comandos seguidos resulta num bolo de texto na tela,

    misturando as informaes e dificultando o entendimento. Vamos trabalhar um pouco,

    fazendo a sada do script de uma forma legvel.

    O comando echo serve para mostrar mensagens na tela. Vamos criar uma

    mensagem de cada comando antes de execut-lo:

    Crie um diretrio:

    mkdir /tmp/shells

    Acesse o diretrio:

    cd /tmp/shells

    Escreva o arquivo:

    nano msg.sh

    Para usar o echo, basta colocar o texto entre "aspas". Se nenhum texto for

    colocado, uma linha em branco ser exibida.

    Para o script ficar melhor, vamos colocar uma interao com o usurio,

    solicitando uma confirmao antes de executar os comandos:

    O comando "read" leu o que o usurio digitou e guardou na varivel

    RESPOSTA. Logo em seguida, o comando "test" checou se o contedo dessa varivel

    era "n". Se afirmativo, o comando "exit" foi chamado e o script foi finalizado. Nessa

    linha h vrios detalhes importantes:

    O contedo da varivel acessado colocandose um cifro "$" na frente;

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 60

    O comando test muito til para fazer vrios tipos de checagens em textos e arquivos;

    O operador lgico "&&", s executa o segundo comando caso o primeiro tenha sido OK. O operador inverso o "||".

    Com o tempo, os scripts crescem e quanto maior, mais difcil encontrar o ponto

    certo onde fazer a alterao ou corrigir algum erro.

    Para poupar horas de estresse e facilitar as manutenes futuras, necessrio

    deixar o cdigo visualmente mais agradvel e espaado, devemos colocar comentrios

    esclarecedores.

    Basta iniciar a linha com um "#" e escrever o texto do comentrio em seguida.

    Estas linhas so ignoradas pelo Shell durante a execuo. O cabealho com informaes

    sobre o script e seu autor tambm importante para se ter uma viso geral do que o

    script faz, sem precisar decifrar seu cdigo. Exemplo:

    Alguns dos conceitos vistos no script anterior

    Variveis As variveis so a base de qualquer script. dentro delas que os dados obtidos

    durante a execuo do script sero armazenados. Para definir uma varivel, basta usar o sinal de igual "=" e para ver seu valor, usase o "echo":

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 61

    No podem haver espaos ao redor do igual "=" Ainda possvel armazenar a sada de um comando dentro de uma varivel. Ao

    invs de aspas, o comando deve ser colocado entre "$(...)", veja:

    O comando "unset" apaga uma varivel. Para ver quais as variveis que o Shell j define por padro, use o comando:

    env

    Trabalhando com modos de inicializao

    Processo init

    O init o primeiro processo iniciado no Linux, logo aps a carga do kernel do

    sistema. Quando disparado, o init continua a carga do sistema, geralmente executando

    vrios scripts que iro verificar e montar sistemas de arquivos, configurar teclado e

    iniciar servidores, entre outras tarefas.

    O init utilizado no Linux permite que existam diversos nveis de execuo no

    sistema. Um nvel de execuo uma configurao de software do sistema que define

    quais processos devem ser inicializados e quais no devem, e tambm de que modo so

    inicializados.

    O administrador do sistema quem define qual ser o nvel de execuo em que

    o sistema e os processos sero executados.

    Runlevels

    Toda a inicializao do sistema baseada em runlevels, ou seja, nveis de

    execuo. Os sistemas Linux possuem 6 runlevels:

    Nveis de Execuo Ao 0 desligar o sistema 1 modo monousurio, tambm chamado de modo single2 modo multiusurio, texto 3 modo multiusurio, texto, com servios 4 no utilizado 5 modo grfico (X11) 6 reinicializar o sistema

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 62

    A descrio do sistema de runlevels normalmente pode ser encontrada no

    arquivo /etc/inittab, onde voc tambm poder alterar o runlevel padro do sistema.

    Alguns runlevels que merecem destaque so o 1, 3 e 5.

    O runlevel 1 nunca deve ser utilizado, a no ser para manuteno do sistema,

    devido a falta total de segurana.

    O runlevel 3 o mais comum.

    O runlevel 5 o mais indicado para usurios novatos, que dependem

    completamente do sistema grfico para trabalhar. Com o uso do runlevel 5, gasta

    recursos de mquina, se a sua placa de vdeo estiver configurada incorretamente, o

    servidor X tentar forar a inicializao grfica e sua tela ocasionalmente ficar

    piscando, tornando impossvel qualquer comunicao com o sistema, o que tambm

    dificultar a reconfigurao da placa de vdeo.

    Editando o arquivo: nano /etc/inittab

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 63

    Configurando

    e gerenciando

    Hardware

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 64

    Identificao de discos e parties em sistemas GNU/Linux

    No GNU/Linux, os dispositivos existentes em seu computador (como discos rgidos, disquetes, tela, portas de impressora, modem, etc) so identificados por um

    arquivo referente a este dispositivo no diretrio /dev.

    A identificao de discos rgidos no GNU/Linux feita da seguinte forma:

    /dev/hda1 | | | | | | | |_Nmero que identifica o nmero da partio no disco rgido. | | | | | |_Letra que identifica o disco rgido (a=primeiro, b=segundo, etc...). | | | |_Sigla que identifica o tipo do disco rgido (hd=ide, sd=SCSI, xt=XT). | |_Diretrio onde so armazenados os dispositivos existentes no sistema.

    Abaixo algumas identificaes de discos e parties em sistemas Linux:

    /dev/fd0 - Primeira unidade de disquetes.

    /dev/fd1 - Segunda unidade de disquetes.

    /dev/hda - Primeiro disco rgido na primeira controladora IDE do micro (primary master).

    /dev/hda1 - Primeira partio do primeiro disco rgido IDE.

    /dev/hdb - Segundo disco rgido na primeira controladora IDE do micro (primary slave).

    /dev/hdb1 - Primeira partio do segundo disco rgido IDE.

    /dev/sda - Primeiro disco rgido na primeira controladora SCSI.

    /dev/sda1 - Primeira partio do primeiro disco rgido SCSI.

    /dev/sdb - Segundo disco rgido na primeira controladora SCSI.

    /dev/sdb1 - Primeira partio do segundo disco rgido SCSI.

    /dev/sr0 - Primeiro CD-ROM SCSI.

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 65

    /dev/sr1 - Segundo CD-ROM SCSI.

    /dev/xda - Primeiro disco rgido XT.

    /dev/xdb - Segundo disco rgido XT.

    As letras de identificao de discos rgidos podem ir alm de hdb, em meu

    micro, por exemplo, a unidade de CD-ROM est localizada em /dev/hdg (Primeiro

    disco - quarta controladora IDE).

    importante entender como os discos e parties so identificados no sistema,

    pois ser necessrio usar os parmetros corretos para monta-los.

    Referncia sobre algumas identificaes de discos e parties em Sistemas

    Linux:

    http://focalinux.cipsga.org.br/guia/intermediario/ch-disc.htm

    Recomendaes para configurao e armazenamento de dados

    H vrias vantagens, e algumas poucas desvantagens, em se usar um esquema de

    particionamento. Neste curso usaremos um aspecto do particionamento do disco rgido

    de um servidor Linux, tendo em vista aspectos de segurana.

    Observe o esquema de particionamento, as recomendaes direcionam a um

    esquema para particionar:

    Partio Tamanho / 250 MB /var 2 ou 3 GB /usr 4 a 6 GB /tmp 100 MB /swap 2 x RAM /home 100 MB por usurio

    /home swap /tmp /usr /var

    /

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 66

    Gerenciando Hardware

    Parties montadas automaticamente no processo de boot:

    # cat /etc/fstab Mostra os sistemas de arquivos montados:

    # df # df -h

    Gerenciador de parties no HD:

    # cfdisk # fdisk

    Criando uma partio com o cfdisk:

    Selecione o ESPAO LIVRE New Primary Write Quit REBOOT # mkfs.ext3 /dev/hda4 # mkdir /partition # vi /etc/fstab

    /dev/hda4 /partition ext3 defaults 0 2

    Informaes sobre o hardware de sua mquina:

    # lspci # scanpci

    Informaes de processamento /proc:

    # cd /proc Exemplo:

    # cat /proc/bus/pci/devices Verificando uma placa:

    # lspci | grep audio Verificando as irqs que esto sendo utilizadas:

    # cat /proc/interrupts Verificando endereos de I/O que esto sendo utilizados:

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 67

    # cat /proc/ioports Verificando informaes de processamento:

    # cat /proc/cpuinfo Sabendo qual a sua partio swap:

    # cat /proc/swaps Verificando detalhes de memria:

    # cat /proc/meminfo

    Configurando o teclado:

    # loadkeys -d br-abnt2 # loadkeys -d us

    Configurando o mouse serial:

    # apt-get install gpm # gpm -m /dev/ttySO -t ms3 /dev/ttySO => corresponde a porta serial 1 ms3 => o mouse que tem a barra de rolamento no meio Mouse PS/2: gpm -m /dev/psaux -t ms3

    Montando um CDROM:

    # mount /dev/cdrom /media/cdrom Montando um pendrive:

    # mkdir /media/pen # mount /dev/sda /media/pen

    Formatando uma partio que voc criou:

    # mkfs -t ext3 /dev/hda4 # mkfs.ext3 /dev/hda4

    Montando a partio:

    # mkdir /mnt/aula # mount -t ext3 /dev/hda4 /mnt/aula

    Desmontando uma partio:

    # umount /dev/cdrom # umount /mnt/aula

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 68

    Conhecendo os mdulos de componentes da CPU

    Lista os mdulos em memria:

    # lsmod # cat /etc/modules

    Identifica um hardware:

    # lspci | grep -i ethernet Informaes do mdulo:

    # modinfo sis900 Verifica se tem suporte ao mdulo:

    # modprobe -l | grep -i sis900 Subindo o mdulo:

    # modprobe sis900 Verifica todo o relatrio se a placa subiu:

    # dmesg | grep sis900 Consulta se o mdulo est carregado:

    # lsmod | grep sis900 Adiconando o mdulo ao boot:

    # echo nomedomdulo >> /etc/modules

    mdulos

    Modprobe -r snd_intel8x0 Remove considerando

    dependncias

    rmmod snd_intel8x0 Remove sem considerar

    dependncias

    S.O

    modprobe snd_intel8x0

    Levanta considerando dependncias

    insmod snd_intel8x0 Levanta sem considerar

    dependncias

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 69

    Configurao de dispositivo Wireless LAN Referncia: www.guiadohardware.net

    Depois dos modems, as placas wireless so provavelmente a categoria de

    perifricos que mais causam dores de cabea no Linux. Quase todas as placas

    funcionam no Linux de uma forma ou de outra, mas muitas usam drivers ou firmwares

    binrios, que, assim como no caso dos softmodems, precisam ser instalados

    manualmente.

    Com relao aos drivers, as placas wireless podem ser divididas em dois grupos:

    O primeiro o das placas com drivers nativos, como as com chipset Prism, Lucent Wavelan (usado, por exemplo, nas placas Oricono),

    Atmel, Atheros, Intel IPW2100 e IPW2200, ACX100 e 111 e,

    recentemente, tambm as Ralink e Realtek 8180.

    O segundo grupo o das placas que no possuem drivers nativos, mas podem ser usadas atravs do Ndiswrapper, que permite ativar a placa

    usando o driver do Windows.

    Muitos dos drivers so parcialmente proprietrios, outros so completamente

    abertos, mas precisam do arquivo de firmware da placa, que por sua vez proprietrio.

    Muitas distribuies incluem um conjunto bastante reduzido de drivers por padro,

    outras incluem os drivers, mas no incluem os firmwares, que so igualmente

    necessrios.

    OBS: para usar qualquer placa wireless no Linux, voc deve ter instalado o pacote

    "wireless-tools", que contm os comandos necessrios para configurar a placa, como o

    iwconfig. Hoje em dia, quase todas as distribuies o instalam por padro, mas no

    custa verificar.

    Ndiswrapper

    O Ndiswrapper uma espcie de Wine para drivers de placas de rede wireless.

    Ele funciona como uma camada de abstrao entre driver e o sistema operacional,

    permitindo que placas originalmente no suportadas no Linux funcionem usando os

    drivers do Windows.

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 70

    Voc pode encontrar vrias dicas sobre placas testadas por outros usurios do

    Ndiswrapper no: http://ndiswrapper.sourceforge.net/wiki/index.php/List .

    Cada placa diferente; por isso, os drivers de uma no funcionam na outra. Mas,

    todos os drivers conversam com o sistema operacional usando uma linguagem

    especfica de comandos. Ou seja, do ponto de vista do sistema operacional todos os

    drivers so parecidos.

    O Ndiswrapper consegue executar o driver e "conversar" com ele usando esta

    linguagem. Ele trabalha como um intrprete, convertendo os comandos enviados pelo

    Kernel do Linux em comandos que o driver entende e vice-versa.

    O Ndiswrapper no funciona com todas as placas e, em outras, alguns recursos

    como o WPA no funcionam. Apesar disso, na maior parte dos casos ele faz um bom

    trabalho.

    A verso mais recente pode ser baixada no:

    SourceForge.net: ndiswrapper

    Para compilar o pacote voc precisa ter instalados os pacotes kernel-headers e/ou

    kernel-source e os compiladores.

    Descompacte o arquivo e acesse a pasta que ser criada. Para compilar e instalar,

    basta rodar o comando:

    # make install O Ndiswrapper composto de basicamente dois componentes:

    Um mdulo, o ndiswrapper.ko (ou ndiswrapper.o se voc estiver usando uma distribuio com o Kernel 2.4), que vai na pasta

    "/lib/modules/2.x.x/misc/".

    Um executvel, tambm chamado "ndiswrapper", que usado para configurar o driver, apontar a localizao do driver Windows que ser

    usado, etc.

    Se voc estiver usando uma distribuio que j venha com uma verso antiga do

    Ndiswrapper instalada, voc deve primeiro remover o pacote antes de instalar uma

    verso mais atual.

    Caso a localizao do mdulo ou do executvel no pacote da distribuio seja

    diferente, pode acontecer de continuar sendo usado o driver antigo, mesmo depois que o

    novo estiver instalado.

    Depois de instalar o Ndiswrapper, o prximo passo rodar o comando:

    # depmod -a

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 71

    O comando serve para que a lista de mdulos do Kernel seja atualizada e o novo

    mdulo seja realmente instalado. Isto normalmente feito automaticamente pelo script

    de instalao, apenas uma precauo.

    Antes de ativar o Ndiswrapper voc deve apontar a localizao do arquivo ".inf"

    dentro da pasta com os drivers para Windows para a sua placa. Em geral os drivers para

    Windows XP so os que funcionam melhor, seguidos pelos drivers para Windows 2000.

    Voc pode usar os prprios drivers includos no CD de instalao da placa. Se eles no

    funcionarem, experimente baixar o driver mais atual no site do fabricante, ou pesquisar

    uma verso de driver testada no ndiswapper no:

    http://ndiswrapper.sourceforge.net/wiki/index.php/List

    Para carregar o arquivo do driver rode o comando, seguido do caminho completo

    para o arquivo:

    # ndiswrapper -i /mnt/hda6/Driver/WinXP/GPLUS.inf Verificando se o drive foi mesmo ativado:

    # ndiswrapper l Se o driver estiver carregado, carregue o mdulo:

    Antes de carregar o mdulo da placa. Voc deve carregar o mdulo genrico

    wlan.

    # modprobe ndiswrapper

    O led da placa ir acender se tudo estiver OK, indicando que ela est ativa.

    Se a placa no for ativada, voc ainda pode tentar uma verso diferente do

    driver. Voc precisa primeiro descarregar o primeiro driver. Rode o ndiswrapper -l para

    ver o nome do driver e em seguida descarregue-o com o comando:

    # ndiswrapper e [nome_driver] Para que a configurao seja salva e o Ndiswrapper seja carregado durante o

    boot, voc deve rodar o comando:

    # ndiswrapper m Em seguida, adicione a linha ndiswrapper no final do arquivo

    "/etc/modules", para que o mdulo seja carregado no boot.

    Voc pode fazer a configurao utilizando o ndisgtk, um utilitrio grfico,

    disponvel nos repositrios do Debian, no Ubuntu e em outras distribuies.

    ---------------------------------------------------------------------------------------------------------

    Configurando uma rede wireless no Linux

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 72

    Numa rede wireless, o dispositivo central o access point (ponto de acesso). Ele

    ligado no hub da rede, ou diretamente no modem ADSL ou cable, e se encarrega de

    distribuir o sinal para os clientes.

    Ao contrrio de um hub, que um dispositivo "burro", que trabalha apenas no

    nvel fsico e dispensa de configurao, o access point possui sempre uma interface de

    configurao, que pode ser acessada via navegador, a partir de qualquer um dos micros

    da rede. Basta acessar o endereo IP do access point, veja no manual qual o endereo

    padro do seu.

    Se o endereo for 192.168.1.254 por exemplo, configure seu micro para usar um

    endereo dentro da mesma faixa (192.168.1.50 por exemplo), de forma que ele faa

    parte da mesma rede que ele. Depois de acessar da primeira vez, aproveite para definir

    uma senha de acesso e alterar o endereo padro por um dentro da faixa de endereos IP

    usada na sua rede.

    Para detectar os pontos de acesso disponveis (a partir do cliente), use o

    comando: # iwlist wlan0 scan Lembre-se que, dependendo do driver usado, o dispositivo de rede usado ser diferente. Ao utilizar o driver para placas ADM8211 por exemplo, a placa wireless ser vista pelo

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 73

    sistema como "eth0", e no como "wlan0", que seria o mais comum. Para que o comando funcione, preciso que a placa esteja ativada. se necessrio, antes de execut-lo use o comando:

    # ifconfig wlan0 up Se voc estiver dentro do alcance de algum ponto de acesso, o iwlist lhe retorna

    um relatrio.

    # iwlist wlan0 scan Se houver algum ponto de acesso dentro da rea de alcance. Faltar apenas

    configurar a placa para se conectar a ele.

    Veja um exemplo, de ponto de acesso com a encriptao via Wep ativa (Encryption key:on) e no est divulgando seu ESSID (ESSID:""). Este um exemplo de configurao de um ponto de acesso no pblico, onde necessrio saber ambas as informaes para se conectar rede.

    Um exemplo de resultado ao escanear uma rede pblica, onde o objetivo permitir que os clientes conectem-se da forma mais simples possvel.

    Neste caso esto disponveis dois pontos de acesso, ambos usam o ESSID "vex"

    e ambos esto com a encriptao de dados desativada (Encryption key:off). Por usarem

    o mesmo ESSID, eles fazem parte da mesma rede, por isso voc no precisa especificar

    em qual deles quer se conectar. Basta configurar a rede wireless e, em seguida, obter a

    configurao da rede via DHCP.

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 74

    Em outra situao, pode haver mais de uma operadora oferecendo acesso no

    mesmo local, ou mesmo outros pontos de acesso de particulares, que intencionalmente

    ou no estejam com a encriptao desativada, oferecendo acesso pblico. Neste caso,

    voc escolhe em qual rede quer se conectar especificando o ESSID correto na

    configurao da rede.

    comum tambm que os pontos de acesso sejam configurados para usar um

    canal especfico, neste caso, ao rodar o "iwlist wlan0 scan" voc ver tambm uma

    linha "channell=x", onde o x indica o nmero do canal, que tambm precisa ser

    especificado na configurao da rede.

    Tome cuidado ao se conectar a pontos de acesso pblico. Com a encriptao

    desativada, todos os dados transmitidos atravs da rede podem ser capturados com

    muita facilidade por qualquer um dentro da rea de alcance. Lembre-se de que o alcance

    de uma rede wireless cresce de acordo com a potncia da antena usada no cliente. Com

    uma antena de alto alcance, possvel se conectar a um ponto de acesso a 500 metros de

    distncia, ou at mais, caso no exista nenhum tipo de obstculo pelo caminho.

    Sempre que precisar transferir arquivos, use um protocolo que transmita os

    dados de forma encriptada (como o SSH). Jamais d upload de arquivos para o servidor

    do seu site via FTP. Acesse e-mails apenas em servidores que oferecem suporte a pop3

    com SSL. No acesse pginas de bancos, pois a encriptao usada nos navegadores

    pode ser quebrada com uma relativa facilidade, e obter senhas bancrias o tipo de

    situao onde o trabalho necessrio vale a pena.

    Existem sniffers bastante poderosos, como o kismet, que podem descobrir

    muitas informaes sobre a rede, incluindo o ESSID e a chave de encriptao em pouco

    tempo, principalmente ao usar chaves de encriptao Wep de 64 bits. Voc pode baix-

    lo no: http://www.kismetwireless.net/

    Ele oferece um conjunto bastante completo de testes de segurana, que podem

    tanto ser usados para verificar a segurana da sua prpria rede, quanto invadir redes mal

    configuradas. O principal obstculo para usar o Kismet que ele compatvel com um

    nmero relativamente pequeno de placas, basicamente apenas modelos baseados nos

    chips Orinoco, Prism, Intel IPW 2100, Atheros e Aironet. Ele no funciona, por

    exemplo, em conjunto com as placas suportadas atravs do ndiswrapper.

    ESSID

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 75

    A primeira configurao necessria para se conectar rede o ESSID, o cdigo

    de identificao da rede (definido na configurao do ponto de acesso), que deve ser

    fornecido pelo cliente ao se conectar no ponto de acesso.

    Se o ESSID da sua rede fosse "aula", por exemplo, o comando seria:

    # iwconfig wlan0 essid aula Lembre-se sempre de verificar qual o dispositivo usado pela sua placa de rede

    wireless, ele varia de acordo com o driver usado (a placa pode ser vista pelo sistema

    como wlan0, ath0 ou mesmo eth0). Voc pode verificar isso rapidamente rodando o

    comando ifconfig.

    Canal

    Caso voc tenha configurado o ponto de acesso para utilizar um canal especfico,

    configure a placa para utiliz-lo com o comando:

    # iwconfig wlan0 channel 10

    A lista dos canais disponveis varia de acordo com a configurao de pas no

    ponto de acesso. Em teoria, podem ser usados 17 canais, de 0 a 16. Porm, apenas 14

    deles, de 1 a 14 so licenciados pelo FCC e a lista diminui mais um pouco de acordo

    com o pas escolhido. Nos EUA permitido o uso dos canais de 1 a 11, na Europa de 1

    a 13 e no Japo de 1 a 14. At na data 07/03/2007, no existia legislao sobre isso no

    Brasil, mas provvel que seja seguido o padro dos EUA.

    Usar canais diferentes uma forma de minimizar interferncias caso voc esteja

    colocando vrios pontos de acesso dentro da mesma rea, ou perceba que existem

    pontos de acesso de vizinhos, muito prximos do seu.

    Existe uma diferena de freqncia de apenas 5 MHz entre cada canal, porm o

    sinal das placas 802.11b ocupa uma faixa de 30 MHz. Por isso, para que realmente no

    exista possibilidade de interferncia entre dois pontos de acesso prximos, preciso

    usar canais distantes, como por exemplo 1, 6 e 11 ou 1, 7 e 14.

    De qualquer forma, a moral da histria que, independentemente do canal

    usado, preciso usar o mesmo tanto na configurao do ponto de acesso quanto na

    configurao dos clientes para que a rede funcione.

    Encriptao WEP

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 76

    Caso voc tenha ativado a encriptao via Wep no ponto de acesso, configure a

    chave usada. Na configurao do ponto de acesso voc tem a opo de criar uma chave

    usando caracteres hexadecimais (onde temos 16 dgitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B,

    C, D, E, F e cada dgito equivale a 4 bits) ou usar caracteres ASCII, onde possvel

    misturar letras, nmeros caracteres especiais.

    Ao usar caracteres hexadecimais, a chave ter 10 dgitos (123456789A no

    exemplo) e o comando ser:

    # iwconfig wlan0 key restricted 123456789A

    Se a chave for em ASCII, onde cada caracter equivale a 8 bits, a chave ter

    apenas 5 dgitos (qwert no exemplo) e o comando ser:

    # iwconfig wlan0 key restricted s:qwert

    Ao usar uma chave em ASCII voc precisa adicionar o "s:" antes da chave. Se

    voc tiver configurado o ponto de acesso para usar uma chave de 128 bits (a segurana

    contra acessos no autorizados muito maior), ento a chave ter 26 dgitos em hexa ou

    13 em ACSII.

    10 caracteres hexadecimais formam uma chave de apenas 40 bits (4 por

    caracter). Este justamente o problema fundamental das chaves de 64 bits: na verdade,

    so duas chaves separadas, uma de 40 bits e outra de 24 bits (chamada de vetor de

    inicializao), muito fcil de quebrar depois que a primeira descoberta. Uma chave de

    64 bits sem problemas bvios poderia oferecer uma segurana aceitvel, mas uma chave

    de 40 bits fraca em todos os aspectos. No caso das chaves de 128 bits, a chave de

    encriptao tem 104 bits, com mais os mesmos 24 bits do vetor.

    Ativando a rede

    Depois de terminar a configurao inicial, voc pode ativar a interface com o

    comando:

    # ifconfig wlan0 up

    O ltimo passo configurar os endereos da rede, da mesma forma que seria

    feito em uma placa convencional.

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 77

    Configurando tambm a rede manualmente, use os comandos:

    # ifconfig wlan0 192.168.0.2 netmask 255.255.255.0 # route del default # route add default wlan0 # route add default gw 192.168.0.1 (remove qualquer configurao anterior, colocando a placa wireless como rota padro do sistema e configurando o gateway da rede).

    Se preferir configurar a rede via DHCP, rode o comando:

    # dhcpcd wlan0

    No se esquea de configurar tambm os endereos dos servidores DNS no

    arquivo "/etc/resolv.conf". Um exemplo de configurao do arquivo :

    # cat /etc/resolv.conf nameserver 200.199.252.68

    nameserver 200.248.155.11

    nameserver 200.199.201.23

    Com a rede funcionando, voc pode monitorar a qualidade do link, taxa de

    transmisso de dados, tipo de encriptao, informaes sobre o ponto de acesso, entre

    outros detalhes da conexo usando o "wavemon", um pequeno utilitrio includo na

    maioria das distribuies.

    Ativando durante a inicializao

    O prximo passo ao configurar manualmente fazer com que a configurao

    seja carregada durante o boot. Muitos utilitrios de configurao (como o Kwifimanager

    que veremos adiante) fazem isso para voc.

    Mas, se voc preferir do jeito mais ortodoxo, crie o arquivo

    "/etc/sysconfig/network-scripts/ifcfg-wlan0". Todos os arquivos dentro da pasta

    /etc/sysconfig/network-scripts/ so lidos durante o boot. Voc ver um arquivo separado

    para cada placa de rede instalada no sistema. O arquivo ifcfg-eth0 configura a placa

    eth0 e assim por diante.

    Crie o arquivo de acordo com o nome com que sua placa reconhecida pelo

    sistema. Se a sua placa reconhecida como "ath0", por exemplo, o arquivo ser o

    "ifcfg-ath0".

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 78

    Dentro do arquivo vo os parmetros da rede, como em:

    DEVICE=wlan0

    ONBOOT=yes

    BOOTPROTO=dhcp

    TYPE=Wireless

    MODE=Managed

    ESSID="casa"

    CHANNEL=10

    IPADDR=

    DOMAIN=

    NETMASK=255.255.255.0

    GATEWAY=192.168.0.1

    USERCTL=no

    PEERDNS=no

    IPV6INIT=no

    RATE=Auto

    Ou:

    DEVICE=wlan0

    ONBOOT=yes

    TYPE=Wireless

    MODE=Managed

    ESSID="casa"

    CHANNEL=10

    IPADDR=192.168.0.2

    NETMASK=255.255.255.0

    NETWORK=192.168.1.0

    BROADCAST=192.168.0.255

    GATEWAY=192.168.0.1

    USERCTL=no

    PEERDNS=no

    IPV6INIT=no

    RATE=Auto

  • Administrao e Segurana em Sistemas GNU/Linux

    www.clubedohacker.com.br 79

    Voc pode tambm criar um script com os comandos para fazer a configurao

    manual e execut-lo manualmente quando quiser usar a rede wireless, como por

    exemplo o caso de quem tem um notebook que fica a maior parte do tempo plugado na

    rede de 100 megabits da empresa, mas que em casa usa uma rede wireless.

    Neste caso, crie um arquivo de texto, como por exemplo /home/usuario/wireless.

    Dentro dele vo os comandos, um por linha, como em:

    #!/bin/sh

    iwconfig wlan0 essid casa

    iwconfig wlan0 channel 10

    iwconfig wlan0 key restricted 1234567890

    ifconfig wlan0 up

    ifconfig wlan0 192.168.0.2 netmask 255.255.255.0

    route del default

    route add default wlan0

    route add default gw 192.168.0.1

    Transforme o arquivo num executvel com o comando "chmod +x

    /home/usuar