Escolar Documentos
Profissional Documentos
Cultura Documentos
A evolução dos sistemas operacionais foi uma conseqüência dos avanços ocorridos no
hardware dos computadores. Temos três níveis de gerações de sistemas operacionais:
O primeiro nível integrado pelos sistemas operacionais básicos, surgidos nos anos
cinqüenta, limitava-se a auxiliar os programas nas operações de entrada e saída e na
tradução nos programas fonte, escritos em linguagem pouco evoluídas.
O segundo nível esteve disponível na década de 60 e a sua ajuda à programação foi mais
decisiva, proporcionando tradutores simbólicos mais evoluídos, programas de serviços para
transferência de informação entre periféricos e programas de controle de entrada e saída, ou
seja, os famosos IOCS( Input Output Control System).
O terceiro nível de sistemas operacionais surgiu na década de 70. A contribuição destes
sistemas à programação foi tão grande que foram rompidas as normas clássicas do processo
informático. Os tradutores de altíssimo rendimento então incorporados têm permitido hoje
em dia a utilização de linguagem de programação simbólica quase idênticas à linguagem
utilizada pelo homem, reduzindo sensivelmente o tempo gasto na produção bem como o
tempo de aprendizagem de novas linguagens.
Pode-se criar um sistema tão grande e complexo como um sistema operacional somente
dividindo-o em pequenas partes. Cada uma dessas partes deve ser uma porção bem
delineada do sistema, com entradas, saídas e funções, cuidadosamente definidas.
Logicamente, nem todos os sistemas têm a mesma estrutura, ou seja, não apresentam a
mesma forma de ligação entre as partes. Contudo, os sistemas operacionais modernos
geralmente possuem as seguintes partes:
I. Gerenciamento de processos - criar e eliminar, suspender e retomar, sincronismo e
comunicação entre processos;
II. Gerenciamento da memória principal – manter o controle das partes da memória que
estão sendo usadas e por quem, decidir que processos serão carregados para memória
quando houver espaço disponível, alocar e desalocar espaço de memória quando
necessário;
III. Gerenciamento de memória secundária – o SO é responsável pelas atividades de
alocação de espaço livre.
IV. Gerenciamento de Entrada/Saída – manter os device drivers para comunicação com os
deferentes dispositivos, um buffer-caching para o sistema;
V. Gerenciamento de arquivos – criar e eliminar arquivos e diretórios, manter mapeamento
dos arquivos em disco;
1
VI. Proteção do sistema – se um sistema é multiusuário e permite múltiplos processos
concorrentes, estes processos devem ser protegidos de outras atividades;
VII. Networking – em um sistema distribuído (fracamente acoplado) cada processador tem
sua própria memória e seus processadores que se comunicam através do SO. A
comunicação entre eles deve considerar roteamento e estratégias de conexão;
VIII. Interpretador de comandos – um dos mais importantes programas do SO é o
interpretador de comandos, que serve de interface entre o usuário e o SO. Alguns SO’s
incluem este programa no próprio núcleo (kernel). Já outros sistemas, como o DOS e o
UNIX, tratam o interpretador de comandos como um programa especial que é executado
quando uma sessão é iniciada. Com isso, um sistema operacional fornece um ambiente para
execução, melhor dizendo, fornece serviços para os programas e também para os usuários
desses programas.
Conceito de Linux
2
pela GNU Public License (GPL), e é geralmente "empacotada" com vários binários que
consistem em um sistema operacional trabalhando em Unix. Esses pacotes de softwares são
chamados “distribuições” e chegam em muitos tamanhos e estruturas. Linux está sendo
usado hoje por milhões de pessoas em todo o mundo. Ele é usado para desenvolvimento de
software, rede (intra-office e Internet), e como plataforma para usuário. Linux tornou-se
uma alternativa barata para os caros sistemas Unix.
Gerenciamento de Memória
A execução do LMM (Linux Memory Manager) exige uma estratégia de paginação com
uma copy-on-write (copiado e marcado) confiando nas 386 páginas auxiliares. Um
processo alcança suas tabelas de páginas de seu parent (durante um fork ) com as entradas
marcadas como read-only ou trocado. Então, se o processo tenta escrever para este espaço
de memória e a página é uma copy on write page, isto é copiado e a página marcada read-
write. Um exec ( ) resulta na leitura de uma página ou mais do executável. O processo
então erra em qualquer outra página que precisar. Cada processo tem uma tabela de página
que significa que pode acessar 1 Kb de tabela de página indicando para 1 Kb de 4 Kb,
páginas que é 4 Gb de memória. Um diretório de página do processo é iniciado durante um
Fork por copy-page-tables. O processo inativo tem seu diretório de página inicializado
durante a sequência de inicialização. Cada processo usuário tem uma tabela descritória
local que contém um código de segmento e um segmento de dados. Estes segmentos
usuários extendem de 0 para 3 Gb (0 X c 0000000). Nos espaços usuários, endereços
lineares e endereços lógicos são idênticos. No 80386, endereços lineares vão de 0 Gb para 4
Gb. Um endereço linear indica uma posição particular de memória dentro deste espaço. Um
endereço linear não é um endereço físico --- isto é um endereço virtual. Um endereço
lógico consiste de um seletor e um offset. O seletor indica para um segmento e o offset diz
que distância na seção o endereço é localizado. O código Kernel e o segmento de dados são
seções privilegiados definidos na tabela descritora global e extende de 3Gb para 4Gb. O
Swapper - page - dir é organizado para que estes endereços lógicos e físicos sejam idênticos
no espaço Kernel.
Escalonamento
3
outro momento em que se faz necessário escalonar os processos. Ao ser chamado, o
scheduler tem uma seqüência de ações que devem ser tomadas para que seu trabalho possa
ser feito. Essas ações se dividem em:
Kernel Work: o scheduler deve realizar uma série de rotinas especificas do kernel, como o
bottom half handlers (que será tratado mais adiante) e deve tratar da gila de esperas de
tarefas do scheduler.
Seleção de processo: o scheduler deve escolher o processo que irá rodar. A prioridade é o
meio pelo qual ele escolhe.
Políticas de Escalonamento
Existem critérios para o escalonamento dos processos em Linux:
Policy: Pode haver duas políticas de escalonamento round-robin e first-in-first-out (FIFO).
Priority: A prioridade do processo é dada de acordo com o tempo que ele gastou para
executar (em jiffies). Jiffies é uma variável que indica a quantidade de tempo que um
processo pode ser executado, onde cada valor atribuído depende de cada máquina. Quanto
maior o tempo em uma execução anterior, menor a prioridade do processo.
Real time priority: Esse recurso é usado para processo de tempo real. Através disso, os
processos de tempo real podem ter prioridade relativa dentro desse conjunto. A prioridade
pode ser alterada através de chamadas do sistema.
Counter: É a quantidade de tempo (em jiffies) que os processos têm permissão para rodar.
É setada a prioridade quando o processo é rodado pela primeira vez e decrementada a cada
tick do clock.
Sistemas de Arquivos
4
Conceitualmente, arquivos são mecanismos de abstração que fornecem uma forma de
armazenar e recuperar informações em disco. A características mais importante de qualquer
mecanismo abstração é a forma de identificar os objetos como os quais o mecanismo
trata. Quando um processo cria um arquivo, é preciso que tal arquivo receba um nome,
normalmente dado pelo processo. Quando tal processo termina sua execução, o arquivo
continua a existir, podendo ser acessado por outros processos, usando para tanto o nome
atribuído ao arquivo. O sistema de arquivos é a parte mais visível do sistema operacional. A
maioria dos programas lêem e escrevem em pelo menos um arquivo. O sistema de arquivos
encara o disco como se este fosse composto simplesmente por uma seqüência de blocos de
tamanho fixo. Cada bloco pode ser composto por 1, 2, 4 ou mais setores físicos; desta
forma, tamanhos possíveis de blocos (ou clusters) são 512 bytes, 1 KB, 2KB e assim por
diante.
Conceitos Fundamentais
Ex : prog.c.Z.
Não há limite de números de caracteres utilizados para dar nome a arquivos. O Sistema
Operacional Linux, olha o arquivo como uma sequência de byte, sem nenhuma estrutura,
isto dá uma flexibilidade espantosa ao sistema de arquivo. Os programas de usuários,
podem colocar o que desejarem nos arquivos e identificá-los da forma que lhe for mais
conveniente, o Unix não influência em nada nesta processo de identificação.
5
Tipos de arquivos
Diretórios
Para tratar dos arquivos, o sistema operacional normalmente lança mão do diretórios, no
caso do Linux diretórios hierárquico. Os diretórios são um tipo de arquivo. No Linux todos
os arquivos fazem parte de um diretório, assim eles são mantidos e organizados, os
diretórios são meios de oferecer endereços dos arquivos, de maneira que o SO possa acessá-
los rapidamente e facilmente, ao entra pela primeira vez em sua conta, o usuário já esta em
um subdiretório denominado subdiretório de entrada.
Conta
É uma senha que é aberta pelo administrador do sistema (denominado de root) onde o
usuário indentifica-se para o computador, que então dá acesso ao seu diretório de entrada,
onde você pode executar os comandos permitidos a sua senha. Nos SO padrão Unix, a conta
é obrigatória para todos.
Acesso a arquivos
O Sistema Operacional Linux, bem como os demais SO, trata o acesso a arquivos de
forma randômica, ou seja, seus byte ou registros podem ser lidos em qualquer ordem.
6
Windows 2000
Gerência de Memória
7
modificar essa alocação inicial de forma a atribuir 3 Gbytes ao processo usuário e 1 Gbyte
ao sistema operacional. Essa possibilidade permite que certas aplicações, como, por
exemplo, banco de dados, armazenem uma grande parcela de dados dentro do espaço de
endereçamento da própria aplicação (processo). O Windows 2000 prevê ainda uma
extensão, denominada de VLM (Very Large Memory) – destinada aos processadores de
arquitetura de 64 bits – que permite a um processo usuário alocar até 28 Gbytes de memória
virtual suplementar.
A alocação de memória por um processo Windows é realizada em duas fases. Inicialmente,
o processo reserva um certo número de páginas da memória virtual sem necessariamente
utilizá-la. Em seguida, à medida que o processo necessita de memória, essas páginas pré-
alocadas são mapeadas a áreas efetivas de armazenamento no disco (área de swap). Essa
segunda fase é conhecida, em terminologia Windows, como commit. Dessa forma, as
páginas relativas ao espaço de endereçamento total de um processo usuário (2 Gbytes)
podem estar em um de três estados: livres, reservadas ou dedicadas (commited). As páginas
livres são as páginas do espaço de endereçamento não utilizadas pelo processo. As páginas
reservadas correspondem àquelas pré-alocadas mas ainda não mapeadas a uma área de
armazenamento real. Uma vez esse mapeamento efetuado, as páginas pré-alocadas tornam-
se páginas dedicadas. A distinção entre páginas reservadas e páginas dedicadas é justificada
pela redução do tamanho do arquivo de paginação (swap) necessário a um processo.
Apenas as páginas dedicadas consomem área de armazenamento. Por questões de
desempenho, o Windows 2000 permite também que um processo, possuindo os privilégios
necessários, bloqueie páginas em memória, fazendo com que essas páginas nunca sofram
procedimento de swapping. Como a concepção do Windows é toda orientada a objetos, a
memória alocada por um processo é representada através de um objeto memória. Dois
processos podem compartilhar um mesmo espaço de endereçamento referenciando um
objeto comum. Para o caso de compartilhamento de apenas uma região de memória o
Windows oferece a abstração de visão (view). Essa abstração consiste em um processo
mapear uma porção de seu espaço de endereçamento a um objeto (section object) o qual é
utilizado por outros processos para acessos compartilhados a essa região. O mecanismo de
view é bastante flexível. Ele permite que, em caso de swapping de uma região
compartilhada de memória, as páginas correspondentes a essa região sejam transferidas ou
para a área de swap ou para um arquivo especial (mapped file). È possível ainda fixar um
endereço virtual para essa região compartilhada, permitindo assim que ela resida sempre
em um mesmo endereço (virtual) em todos os processos que a utiliza. Finalmente, a área de
view pode ter diferentes tipos de acesso, como por exemplo, apenas leitura, leitura e escrita,
execução e outros.
8
Sistema de Arquivos
O Windows 2000 possui um sistema de arquivos próprio, O NTFS (NT File System),
projetado de forma a oferecer segurança de acesso, garantia da consistência de dados em
presença de falhas e suporte a discos de grande capacidade. O Windows oferece ainda
suporte a outros sistemas de arquivos como o FAT (MS-DOS e Windows 3,1), FAT32
(Windows 95, 98, Millenium), o HPFS (Os/2), além de formatos para cdrom (CDFS) e
UDF (Universal Disk Format) para acesso a dados armazenados em DVDs. O grande
diferencial do NTFS em relação aos seus predecessores da linha Microsoft está em cobrir as
necessidades de alguns pontos considerados como críticos para aplicações em ambientes
corporativos, a saber:
- Facilidade de recuperação de dados e tolerância a falhas: para alcançar a
confiabilidade, que e requisito as aplicações corporativas, uma das técnicas utilizada
pelo Windows 2000 é o processamento de transações. Uma transação é definida
como uma operação de E/S que altera os dados do sistema de arquivo, ou a estrutura
de diretório do volume, de forma indivisível, isto é, cada alteração no sistema de
arquivo só é considerada efetivada se for completamente realizada. O NTFS
emprega esse modelo de transações para implementar seu recurso de recuperação do
sistema de arquivos permitindo que este seja reconstruído, ou, ao menos, mantido
em um estado consistente, após uma falha no sistema.
- Segurança: O NTFS explora o modelo de objetos para oferecer segurança aos
arquivos. Um arquivo aberto é implementado como um objeto arquivo o qual atua
como um descritor, definindo os diferentes privilégios de acesso e requisitos de
segurança a este.
- Suporte a grandes discos e arquivos: o NTFS é projetado para suportar de forma
eficiente acesso, manipulação e armazenamento em discos de grandes capacidades.
- Fluxos de dados múltiplos: um arquivo e seus atributos são vistos como uma
seqüência de bytes, denominada fluxo de dados. Dessa forma, no NTFS, um único
arquivo pode ter associado vários fluxos de dados. Essa organização oferece uma
grande flexibilidade pois permite que o fluxo de dados que compõe o arquivo seja
interpretado de acordo com o fluxo de dados de seu atributo.
- Facilidade de indexação: o NTFS permite que arquivos sejam acessados de forma
indexada através de atributos (chaves de pesquisa) criados para cada arquivo.
- Suporte para sistema POSIX: o NTFS implementa os recursos exigidos pelo
POSIX como diferenciação de maiúsculas para nomes de arquivos e diretórios e
atalhos (soft links).
O NTFS é organizado sobre três estruturas básicas: setor, cluster e volume. O setor,
normalmente composto de 512 bytes, é a menor unidade de alocação física do disco.
9
Setores contíguos podem ser organizados em grupos, formando os clusters. Um cluster
constitui então a unidade básica de alocação do NTFS, isto é, um arquivo ocupa em
disco sempre um número de bytes múltiplo do tamanho do cluster. Um volume
corresponde a uma partição lógica do disco. Um volume é composto por uma série de
clusters e possui de forma autocontida informações relacionadas a esse disco lógico,
isto é, estrutura de diretório, cluster livres e ocupados, etc. Atualmente, o número
máximo de clusters permitido a um arquivo no NTFS é 2³², sendo o tamanho máximo
de um cluster limitado a 64 Kbytes.
Um volume (disco lógico ou partição) é organizado em 4 regiões. A primeira região de
um volume NTFS corresponde ao setor de boot, que na realidade pode ocupar até 16
setores físico do disco, apesar do nome “setor boot”. O setor de boot possui
informações sobre o layout do volume, a estrutura do sistema de arquivos e o programa
de boot do Windows. Essa região é seguida pela Máster File Table (MTF) a qual
contém as informações sobre todos os arquivos e diretórios (folders) desse volume,
assim como sobre o espaço livre. O MTF é organizado na forma de um conjunto de
registros de tamanho variável, em que cada arquivo ou diretório possui um registro
associado. Nesses registros, está incluído o próprio MTF, já que ele também não deixa
de ser um tipo de arquivo. Cada registro do MTF mantém informações relacionadas ao
atributo do arquivo (leitura, escrita, etc.), datas de criação e modificação, nome do
arquivo, descritor de segurança. A terceira região é a dos arquivos de sistema,
tipicamente de 1 Mbyte, em que são armazenados: uma cópia parcial da MFT
(informações suficientes para recuperar erros físicos acontecidos na NFT); um arquivo
de logs, referente ao controle de transações do NTFS; um bit map que fornece a
ocupação dos clusters do volume; e uma tabela de atributos que define o tipo de acesso
e esse volume (sequencial, indexado, etc). Finalmente, a quarta e última região
corresponde à área disponível para os arquivos.
Como mencionado anteriormente, um dos principais objetivos do NTFS é facilitar a
recuperação em caso de falhas. A capacidade de recuperação do NTFS é essencialmente
baseada em logs de transação. Uma operação que altere o sistema de arquivos é tratada
como uma transação, a qual é gravada na região de logs associada a cada volume.
Apenas após a gravação da transação é que a operação é efetivada. È importante
salientar que a capacidade de recuperação do NTFS foi projetada para garantir a
coerência e a recuperação de estruturas e dados do sistema operacional e não dados de
arquivos de usuário. Dessa forma, um usuário jamais perderá o acesso a um volume
(partição) em decorrência de uma falha física, ou do sistema, embora possa perder
acesso ao conteúdo de um arquivo seu. Entretanto, para suprir a necessidade de
recuperação total, o Windows disponibiliza uma série de ferramentas para a tolerância a
falhas.
10
Windows NT
11
simétrico (SMP) aprimorada, capacidade de clustering e suporte a modelos de objetos
componentes (COM).
Segurança
A Microsoft fez com que a segurança se tornasse uma meta abrangente do sistema
operacional Microsoft® Windows NT®. Como resultado, o Windows NT oferece o modelo
de segurança mais robusto de todos os sistemas operacionais de servidores ou estações de
trabalho disponíveis atualmente no mercado. O subsistema de segurança centralizado do
Windows NT utiliza recursos de elaboração de segurança avançados como o logon de
caminho confiável e um Security Reference Monitor - um local único no sistema
operacional completo que fornece serviços de autorização de recursos. Esses recursos
avançados fornecem um nível excepcional de garantia de segurança do sistema. Uma das
razões para a estabilidade do NT é sua rígida segurança. De acordo com critérios de
segurança nível C2 do Departamento de Defesa dos Estados Unidos, os endereços de
memória devem ser protegidos de tal forma que uma aplicação não deve usar o mesmo
endereço de outra. O Windows NT tem este nível de segurança e como resultado,
aplicações executadas sob o NT são executadas em um espaço único de memória. Isto
significa que se esta aplicação travar, somente aquela aplicação será afetada. Em outros
sistemas operacionais, a falha em uma aplicação pode afetar todo o sistema sendo
necessário desligar o micro. Com o Windows NT, basta teclar CTRL + ALT + DEL e
finalizar o programa que está travado, mantendo o micro ligado e os outros programas
intactos.
Segurança no Internet Information Server
Desde 1996, com o lançamento do Windows NT 4.0 com o Internet Information Server
que a utilização deste produto tem se popularizado. Contudo, a "fama" do IIS é de um
pacote de serviços para a Internet completamente inseguro. Infelizmente, esta afirmação
possui um sentido indireto muito mais preocupante do que as falhas de segurança
descobertas no produto. Significa que os profissionais que instalam servidores Windows e
IIS não estão fazendo seu dever de casa ao corretamente configurar um servidor exposto
para a Internet, potencial alvo de qualquer hacker ou defacer. Um servidor Windows 2000 /
XP ou mesmo o IIS podem ser tão seguros quanto qualquer outra solução, desde que
corretamente mantidos e configurados.
Contexto de Segurança
12
O primeiro conceito que se deve ter em mente ao instalar o IIS, é de que o Windows NT /
2000 / XP possui um principio de unidade ou contextos de segurança. Estes contextos de
segurança se traduzem, no Windows NT 4.0, nos famosos domínios, com seus Primary
Domain Controllers e Backup Domain Controllers. Estes contextos, se corretamente
configurados, proporcionam ao administrador uma enorme liberdade e flexibilidade na
configuração de segurança, que passa a ser centralizada.
Entretanto, em redes que possuam a exigência de serem seguras, traz também um risco: o
comprometimento de um dos controladores de domínio traz toda a segurança abaixo, pois
todas as contas são cadastradas e mantidas no mesmo. Para quem usa Windows 2000 / XP,
foi introduzido o conceito de árvore, ou, no caso específico, do AD - Active Directory.
Algumas características mudaram, como o fato de que não existem mais Primary ou
Backup Domain Controllers. Contudo, o comprometimento de um Domain Controller traz
tantos problemas quanto o comprometimento de um PDC ou BDC.
Portanto, quando se deseja colocar um servidor IIS no ar, quanto mais restrito for o
contexto de segurança, melhor. Assim, temos duas possibilidades:
1. Domínio ou AD separado para servidores Web .Em redes grandes, tipicamente em
hosting centers, existe a necessidade de se utilizar as facilidades de controle de segurança
centralizadas. Neste caso, deve-se posuir um domínio ou árvore AD separada APENAS
para os servidores. Nenhuma outra parte da árvore ou qualquer outro domínio deve confiar
nas contas ou neste contexto de segurança, que deve ser exclusivo para este fim.
O servidor web deve ser instalado como MEMBER SERVER desta árvore ou domínio. Sob
nenhuma hipótese, deve ser um controlador de domínio de qualquer natureza.
2. servidor Web instalado como stand alone server. Em redes com poucos servidores,
tipicamente em um ambiente corporativo que não possui a finalidade de ser um provedor de
serviços (hosting center por exemplo), o servidor web ou de serviços Internet deve ser um
stand alone server, sem pertencer a nenhum domínio, ou sem ser um controlador de
domínio. Solução mais segura e interessante para ambientes com poucos servidores onde o
custo deve ser mantido baixo (não possam existir controladores de domínio específicos para
Instalação
13
o risco de invasão. Existe um texto no livro "Firewalls and Internet Security", escrito por
dois grandes especialistas na área, Cheswick e Bellovin, que traduz isso de forma simples e
engraçada, mas eficaz:
Axioma 1 (Murphy) Todos os programas têm bugs.
Teorema 1 (Lei dos Programas Grandes) Programas grandes possuem ainda mais bugs do
que o seu tamanho pode indicar.
Prova: por inspeção
Corolário 1.1 Um programa relativo a segurança possui bugs de segurança.
Teorema 2 Se você não executar um programa, não importará se ele possui ou não bugs.
Prova: como em todos os sistemas lógicos, (falso ==> verdadeiro) = falso.
Corolário 2.1 Se você não executar um programa, não importará se ele possui ou não bugs
de segurança.
Teorema 3 Máquinas expostas devem rodar tão poucos programas quanto possível; os que
rodarem, devem ser tão pequenos quanto o possível.
Prova: corolários 1.1 e 2.1
Corolário 3.1 (Teorema Fundamental dos Firewalls) A maioria dos hosts não consegue
atender às nossas necessidades: eles rodam programas demais que são grandes demais.
Desta forma, a única solução é isolar atrás de um firewall se você deseja rodar qualquer
programa que seja.
(Firewalls and Internet Security: Repelling the Wily Hacker William Cheswick /Steven
Bellovin)
A instalação do IIS em si é uma das fases que mais preocupa. A instalação PADRÃO dele
coloca muita coisa sem utilidade, e diversos componentes susceptíveis a ataque e invasão
no servidor. Todo cuidado deve ser tomado nesta fase.
A instalação deve IGNORAR componentes de exemplo, os sites de tutorial, e
principalmente, as ferramentas de gerência em HTML. APENAS o servidor Web deve ser
instalado. Caso demais serviços sejam necessários, como servidor de FTP ou SMTP,
apenas estes componentes devem ser selecionados, e até a documentação deve ser deixada
de fora. Se existe a necessidade de experimentar, brincar com o servidor (testes) ou ler a
documentação, faça-o em um computador separado, especificamente para esta função.
A Microsoft também publicou ferramentas de gerência de servidores Windows NT / 2000
através de páginas web, ou do IIS. Estas ferramentas devem ser ignoradas sumariamente,
inclusive a quem vem com o próprio IIS.
14
Considerações sobre Ambiente de Desenvolvimento
Uma das principais falhas encontradas em servidores de produção são ambientes usados
também para desenvolvimento, em um mesmo servidor. Servidores de desenvolvimento
devem ser completamente isolados da Internet, e serem específicos para esta finalidade.
Servidores de produção devem possuir apenas componentes usados na produção, não no
desenvolvimento do site ou de aplicações. A grande maioria das ferramentas de
desenvolvimento "abre" demais a segurança em favor da agilidade no desenvolvimento.
Patches e atualizações
A correta instalação de atualizações e patches de segurança é fundamental e requisito
básico para um servidor seguro.
Alerter
Permite a emissão de alertas sob determinadas condições.
Computer Browser
Permite que o computador participe de eleições para master browser de uma rede. Divulga
informações para possíveis invasores, por exemplo, se o servidor é ou não o master browser
de uma rede, o que pode potencialmente revelar se o servidor é um controlador de domínio.
Messenger
Permite o envio de mensagens ou noticias de computador para computador, via NetBIOS.
Pode ser usado para revelar nomes de usuários válidos para um potencial ataque de força
bruta.
Network DDE
Antigo serviço que usa a infra-estrutura NetBIOS. possui diversas falhas de segurança.
Print Spooler
Spool de impressão. Pode ser usado em um ataque DoS.
15
Remote Registry
Permite a modificação remota do registro, assim como a importação de políticas a partir de
um controlador de domínio. Caso possua o MS Exchange não pode ser parado.
Server
Funcionalidade básica da rede Microsoft, é responsável pela funcionalidade NetBIOS /
SMB. Os compartilhamentos de rede, por exemplo, é uma de suas funções.Em servidores
Internet, definitivamente não deve ser usado.
Telnet
Servidor de TELNET. O TELNET não deve ser usado em nenhum sistema operacional,
nem mesmo em UNIX, quanto mais em NT / 2000 / XP. Após a parada deste serviço, deve-
se ir ao painel de controle, adicionar e remover programas, Instalação do Windows, e
remover todos os componentes desnecessários.
16
que não estão em uso, e, inclusive, as extensões usadas pelo Index Server.
Exemplo de extensões a remover: .htm, .idq, .htr, .idc, .printer. Percebe-se que a remoção
das extensões deve ser realizada para cada site criado (caso exista mais de um). Ainda sobre
o Index Server, deve ser desmarcado a opção "Index this resource" na tab "Home
Directory". Ainda nesta tab, especial atenção deve ser dada a opção "Write" que não deve
ser usada. Nas permissões de execução, deixe "Scripts Only". Caso a permissão de
execução seja necessária, o faça em um diretório separado, e sem direito de leitura ou
escrita. Uma ótima prática também e usar o recurso de espaço de memória separada.
Entretanto, algumas aplicações não funcionarão. Neste caso, é uma questão de tentativa e
erro.
FrontPage Extensions
As extensões de FrontPage são uma fonte maravilhosa para hackers e defacers. Deve-se
procurar evitar utilizá-las. Caso não seja possível, é uma boa medida é baixar do site da
Microsoft a versão mais atual, e, no momento da instalação, ao ser perguntado sobre a
segurança, responda que deseja manter o nível mais alto.
Firewall
Um quesito muito importante, para qualquer computador com serviços Internet, é estar
atrás de um Firewall corretamente configurado. Obviamente, como estamos falando de um
servidor Web, que geralmente usa a porta 80, apenas esta porta deve estar liberada,
nenhuma outra. Muitos utilizam o Terminal Service do Windows 2000 / XP para gerência
remota. Se for o caso, deve ser liberado a porta 3389/tcp apenas para os IPs ou redes que
podem realizar tal gerência. Apesar de não existirem ataques conhecidos que permitam
invadir um computador pelo Terminal Service, existem ataques DoS que podem tirar o
servidor do ar. Personal Firewalls devem ser evitados. Muitos deles são eficientes, mas
apenas para uso em estações de trabalho. Em servidores de alto tráfego, os Personal
Firewalls podem ter um impacto negativo muito grande na performance de rede do
servidor. Caso as medidas acima sejam implementadas, será muito difícil para alguém
invadir o servidor.
Gerência de Processos
17
subsistemas de ambiente possam usar para emulas as estruturas de processos que lhes são
únicas. Esta meta evoluiu com o objetivo do NT de proporcionar vários ambientes de
sistema operacional que podem ser executados no modo usuário. Os processos nativos do
NT têm como caracterýsticas que o diferenciam dos processos de outros sistemas
operacionais:
18
o Registrar e manter relacionamentos entre processos.
Espaço de Endereçamento
Coleção de Recursos
19
Gerência de Memória
20
Sistemas de Arquivos
O sistema de arquivo CDFS foi desenvolvido pare o Windows NT pare implementar leitura
em dispositivos de CD-ROM.
Desenvolvido pare sistemas OS/2, o sistema de arquivo HPFS possui major compromisso
com desempenho e segurança que o sistema FAT. Nomes de arquivos nesse ambiente
podem ter no máximo 254 caracteres.
O sistema de arquivo NTFS foi projetado especialmente pare o Windows NT com o intuito
de oferecer alto grau de segurança e desempenho. A seguir destacamos suas principais
características: nomes de arquivos podem ter no máximo 255 caracteres, incluindo brancos;
nomes de arquivos FAT podem suportar ate 255 caracteres; partições NTFS dispensam o
uso de ferramentas de recuperação de erros; implementa proteção de arquivos e diretórios
mas não implementa encriptação; menor partição recomendada e de 50 Mbytes; - não pode
ser implementado em disquetes; reduz a fragmentação no disco, na medida em que tenta
sempre utilizar espaços contíguos de disco pare a gravação de arquivos. O recurso de
nomes de arquivos longos (long file name—LFN) implementado no NTFS pode ser
estendido pare partições FAT. Aplicações que não permitem visualizar nomes longos
poderão ter acesso aos arquivos e diretórios através de um codinome (alias), criado pelo
Windows NT.
Windows XP
21
doméstico, que substitui o Windows 95, 98, Millenium, NT (versão workstation); e o
Windows XP Professional Edition, voltado ao mercado corporativo que substitui o NT nas
suas versões server.
As principais novidades introduzidas pelo Windows XP estão relacionadas com
mecanismos de proteção ao sistema de arquivos e conectividade à Internet. Sob o ponto de
vista de proteção do sistema de arquivo, o Windows XP impede que arquivos antigos
substituam versões mais recentes. No caso de drivers de dispositivos, é possível restaurar a
versão anterior na eventualidade da instalação de um driver mais recente apresentar
problemas. O suporte à proteção, na presença de múltiplos usuários, foi estendida em
relação aos mecanismos oferecidos pelo Windows 98 e pelo Windows Millenium
embutidos em seu próprio núcleo. Em relação à conectividade em rede, quando conectado à
Internet, o Windows XP oferece ao usuário algumas funcionalidades típicas de firewall
embutidas em seu próprio núcleo. Além disso, uma série de ferramentas buscando
simplificar o uso do Windows por usuários leigos forma introduzidas, como por exemplo,
gravação de cdrom diretamente a partir do Windows Explorer, emprego de temas para tela
de fundo, atualizações automáticas, mecanismos para publicação de arquivos de imagens e
de texto na Internet, entre outros.
Entre as novidades do Windows XP, está ainda um mecanismo de proteção como pirataria
denominada de WPA (Windows Product Activation). Seu funcionamento á baseado na
criação de um código único, válido apenas para o computador no qual o Windows XP é
instalado. Esse código é criado no momento da instalação e é obtido através de
identificadores próprios únicos a cada computador, tais como número de série da BIOS, do
disco rígido, o endereço físico da placa de rede (endereço MAC), etc. Esse código é então
informado à Microsoft, que imediatamente gera e reenvia um código de liberação para o
uso do Windows XP. Ambos os códigos, o gerado na instalação e o código de instalação,
são cadastrados na Microsoft. Sempre que houver uma modificação de hardware da
máquina, ou a tentativa de burlar o sistema de ativação do Windows XP, o usuário deverá
repetir o procedimento de ativação do Windows XP ou seja, recontactar a Microsoft e gerar
uma nova chave de ativação. Esse procedimento criou, na comunidade de usuários, muita
controvérsia devido a rumores de que a Microsoft aproveitava-se dele para obter
informações adicionais sobre a configuração da máquina, como por exemplo, os softwares
instalados. Essa polêmica levou à análise das transações realizadas, pelo mecanismo WPA
por consultores independentes que concluíram que apenas o código de ativação é enviado à
Microsoft.
O Windows XP foi desenvolvido com a preocupação de manter a compatibilidade com
várias aplicações já existentes para a família Windows, principalmente jogos e multimídia.
A Microsoft divulgou que todos os aplicativos existentes para Windows 98, Millenium e
Windows NT continuarão a funcionar normalmente no Windows XP. A mesma
22
preocupação de compatibilidade existe a nível de hardware, assim sendo, o Windows XP
dispõe de uma grande gama de drivers para os mais diversos periféricos. Além disso, é
possível instalar em uma máquina Windows XP drivers existentes para outras versões da
família Windows.
As diferenças entre as versões Windows XP Personal Edition e Windows XP Professional
Edition estão relacionados com desempenho e atividades de gerenciamento. A versão
Professional explora o multiprocessamento real oferecido pelas máquinas
multiprocessadoras, ao passo que a versão Personal é otimizada para máquinas
monoprocessadoras.
Sob o ponto de vista do Sistema Operacional, o Windows XP é um Sistema Operacional de
32 bits e herda em muito a arquitetura NT 5.0. As modificações, segundo a Microsoft, estão
em otimizações de algoritmos básicos e nas estruturas de dados internas ao núcleo. Essas
melhorias fazem com que o Windows XP apresente um desempenho melhor que seus
antecessores. O Windows XP, assim como o Windows 2000 (NT 5.0), não fornece a
capacidade de realizar boot em modo DOS. A compatibilidade com aplicativos que rodam
sob DOS (como o Clipper) é feita exatamente da mesma forma que no Windows 2000, ou
seja, através de um emulador DOS.
23
CONCLUSÃO
Através do assunto descrito neste trabalho, pode-se verificar que os sistemas operacionais
Linux e Windows, seja ele da versão 2000 ao XP, são sistemas operacionais que atendem a
maioria dos requisitos fundamentais para suprir as necessidade de diferentes classes de
usuários que possuam ou não um alto grau de conhecimento em informática.
24
BIBLIOGRAFIA
www.unicamp.br
www.ufrn.br
www.microsoft.com.br
www.babbo.com.br
www.boadica.com.br
www.lunixit.com.br
25