Académique Documents
Professionnel Documents
Culture Documents
INTRODUO
Pode-se instalar numa mesma mquina vrios sistemas operacionais diferentes (Linux, Windows, Netware, OS/2, etc..) Para gerenciar a inicializao deles usado um boot manager que permite escolher qual o sistema que se quer inicializar. O Linux possui um boot manager chamado LILO (LInux LOader). Com o LILO, alm de ser possvel inicializar vrios sistemas operacionais diferentes, voc tambm pode inicializar verses diferentes do prrprio Linux. possvel instalar o Linux vrias vezes na mesma mquina, cada instalao em uma partio diferente, e usar uma nica configurao do LILO para iniciar todas elas. O LILO pode gerenciar mais de sessenta imagens diferentes de inicializao e pode ser instalado em um disquete, em uma partio de disco rgido ou como arquivo de inicializao mestre. O menu de boot do LILO , em geral, exibido automaticamente na inicializao do micro com uma lista dos sistemas operacionais que podem ser carregados:
No exemplo da figura acima, temos as seguintes opes de inicializao: linux memtest windows Se aps um tempo de espera, nenhuma opo for digitada, o LILO inicializar a primeira opo do menu. O tempo de espera padro de 5 segundos. Quando o Linux iniciado, o kernel carregado na memria em um formato compactado que em seguida descompactado de forma automtica atravs de um pequeno programa que est localizado no incio da imagem do kernel. O kernel ento verifica o hardware (discos rgidos, disquetes, placas de rede...) e configura os seus controladores de dispositivos. Neste meio tempo, diversas mensagens so apresentadas:
Em seguida o kernel tenta montar o sistema de arquivo raiz. O tipo de sistema de arquivos detectado automaticamente e montado com permisses somente de leitura. Aps isso, o kernel executa o programa init que cuida da ativao de diversos servios:
O init ento passar o sistema para o modo multiusurio e iniciar o getty, permitindo o uso de consoles virtuais e linhas seriais. O getty o programa que permite que os usurios acessem o sistema:
O parmetro single, faz com que o kernel inicie o Linux no modo monousurio. Este modo ignora os scripts de configurao e disponibiliza um shell de superusurio sem solicitar autenticao:
O modo monousurio do Linux semelhante ao modo de segurana do Windows. um modo de acessar o sistema para realizar tarefas de recuperao e administrao do sistema. Entretanto, este modo uma perigosa brecha de segurana que pode dar acesso total para usurios maliciosos. Um usurio mal intencionado pode at mudar a senha do root atravs desta brecha:
O ARQUIVO /etc/lilo.conf
O arquivo /etc/lilo.conf o arquivo de configurao do LILO. Nele esto todas informaes que definem como o LILO deve se comportar na inicializao. Veja abaixo um exemplo tpico do arquivo /etc/lilo.conf:
Onde:
boot=/dev/hda
especifica o local onde o LILO est instalado. Neste exemplo, o LILO est instalado no MBR do dispositivo /dev/hda, ou seja, do primeiro disco rgido IDE.
map=/boot/map
A opo map especifica a localizao do arquivo de mapa que o LILO cria quando instalado. Este arquivo contm a localizao fsica do kernel, de tal forma que ele possa ser encontrado e carregado pelo LILO.
install=/boot/boot.b
A opo install especifica o arquivo que contm o setor de inicializao do MBR.
default=win
A opo default define a imagem de inicializao padro. Caso default seja omitido, a primeira imagem listada no arquivo de configurao ser carregada.
prompt
A opo prompt fora a apresentao do prompt do LILO. no prompt do LILO que podemos digitar o nome de uma imagem a ser inicializada ou passar parmetros para a inicializao de um kernel do Linux.
timeout=50
Esta entrada define que LILO ir aguardar 5 segundos (50 dcimos de segundos) antes de inicializar o sistema default.
message=/boot/message
A opo message especifica um arquivo que contm uma mensagem a ser apresentada antes da linha de inicializao. O tamanho do arquivo de mensagem est limitado a 65535 bytes. Voc precisa reinstalar o LILO, sempre que o arquivo de mensagem for alterado ou movimentado para outra localizao.
mem=128M
O BIOS do sistema na maioria dos PCs detecta at 64MB de RAM instalada; o Linux usa esta informao para determinar a quantidade de memria instalada. Se voc tiver mais de 64MB, poder precisar usar este parmetro para permitir que o resto da memria do sistema seja usada. No exemplo acima, 128M especifica um sistema com 128 MB de RAM instalada. Observe que se voc informar ao sistema que ele tem mais memria do que na verdade tem instalada, vrios erros podero ocorrer, inclusive perda de dados ou problemas de carga do sistema.
image=/boot/vmlinux
A opo image indica onde est localizado a imagem de inicializao do kernel do Linux.
label=linux
A opo label define um nome curto e exclusivo que o LILO espera que seja digitado para inicializar o sistema correspondente. Portanto, digitar linux no prompt do LILO, ir carregar o kernel do Linux instalado na partio /dev/hda6.
root=/dev/hda6
A opo root especifica o dispositivo (partio) que deve ser montado como raiz (/) do sistema Linux.
read-only
Especifica que o sistema de arquivos raiz deve ser montado com permisses somente de leitura.
other=/dev/hda1
A opo other indica a partio de um sistema operacional diferente do Linux a ser iniciado. O LILO pode inicializar quase todos os sistemas operacionais existentes. Basta especificar aqui a partio. O LILO simplesmente carrega o setor de inicializao da partio e o executa.
label=windows
A opo label define um nome curto e exclusivo que o LILO espera que seja digitado para inicializar o sistema correspondente. Portanto, digitar windows no prompt do LILO, ir carregar o sistema instalado na partio /dev/hda1.
table=/dev/hda
A opo table especifica o dispositivo que contm a tabela de partio com o cdigo que carrega o sistema operacional. Em relao segurana do LILO, existem dois comandos que so teis para proteger o seu servidor contra o ataque do LILO: password e restricted.
password=senha
A opo password define uma senha que deve ser informada na reinicializao do sistema.
restricted
A opo restricted usada em conjunto com a opo password define que a senha s deve ser requerida quando algum parmetro for passado durante a inicializao. Por exemplo, se voc tentar passar o parmetro single com a inteno de iniciar o Linux em modo monousurio, a senha ser solicitada. password=POWER restricted
Salve o arquivo reinstale o LILO para que as mudanas feitas no arquivo /etc/lilo.conf tenham efeito: lilo
Para testar a segurana do novo LILO, reinicie o Linux e tente obter acesso de superusurio com: linux single
Como voc pode observar na figura acima, a tentativa de iniciar o Linux com o parmetro single, faz com que o LILO agora, requisite uma senha para prosseguir com a inicializao do modo monousurio.
Concluso: qualquer usurio do sistema pode visualizar o contedo do arquivo e descobrir a senha do LILO. Corrija esta vulnerabilidade mudando as permisses do arquivo /etc/lilo.conf de tal forma que ele possa ser lido apenas pelo usurio root: chmod 600 /etc/lilo.conf
Agora, um usurio comum ser impedido de visualizar o contedo do arquivo /etc/lilo.conf: cat /etc/lilo.conf
No pense que daqui pra frente voc poder domir com a cabea tranquila. Pois, proteger o LILO com senha no suficiente para prevenir ataques de inicializao com disquete. Qualquer usurio que tenha uma mquina com Linux em casa, pode criar um disco de boot que lhe dar acesso total como superusurio em um servidor Linux de uma empresa, mesmo que o LILO do servidor esteja protegido com senha. Veja como fcil: Um usurio malicioso, tendo Linux instalado em sua casa, e sabendo que o sistema raiz do servidor da empresa que deseja atacar, est instalado na partio /dev/hda6, por exemplo, pode criar um arquivo de configurao do LILO como o descrito a seguir: map=/boot/map install=/boot/boot.b prompt timeout=50 image=/boot/vmlinuz-2.4.5-9cl label=linux root=/dev/hda6 read-only
Aps digitar o arquivo, ele resolve grav-lo com o nome: lilo.hacking e com o comando abaixo ele transfere o LILO para um disquete: lilo -C /etc/lilo.hacking -b /dev/fd0
Tendo acesso fsico ao servidor que deseja atacar, o cracker configura a BIOS deste servidor para inicializar o sistema atravs de disquete:
O resto voc j sabe! Como o disquete no tem o LILO protegido por senha, quando o prompt do LILO do disquete aparecer, digite: linux single
Para previnir-se contra este ataque, voc deve desabilitar a opo de inicializao por disquete do BIOS/SETUP do servidor e proteger o BIOS/SETUP com senha. Ainda assim, o cracker poder abrir o micro, mudar alguns jumpers e resetar a CMOS o que ir desabilitar a senha do BIOS/SETUP e permitir que o ele configure a inicializao do sistema por disquete. Mas isso pode ser resolvido instalando-se arrebites no lugar dos parafusos do gabinete. Falando srio! A nica forma realmente segura de proteger o seu servidor de um ataque local trancando-o em uma sala com acesso restrito.