Skolelinux - Arquitetura Petter Reinholdtsen Copyright © 2001, 2002, 2003, 2004 Petter Reinholdtsen A Skolelinux a Distribui o Debian Personalizada (Custom Debian Distribution - CDD) em desenvolvimento do projeto Debian-edu. Isso significa que a Skolelinux a vers o da Debian cujo ambente pr -formatado oferece uma rede escolar completamente configurada (na Noruega, onde o projeto come ou, o alvo principal eram as escolas que atendiam a faixa et ria de 6 a 16 anos). Esta documenta o descreve a arquitetura da rede e os servi os oferecidos pela instala o Skolelinux. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents 1. Rede 2. Servi os 2.1. Servi os para terminais 3. Administra o 4. Instala o A. Configura o de acesso ao sistema de arquivos B. Palavras-chave ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Chapter 1. Rede [network-ar] Network architecture A figura um rascunho de uma topologia de suposta rede. A configura o padr o do Skolelinux pressup e que existe um (e somente um) servidor principal, permitindo a inclus o tanto de esta es de trabalho normais quanto servidores de terminais (com os seus terminais associados). O n mero de esta es pode ser do tamanho que voc desejar (indo de um a muitos). O mesmo vale para os servidores de terminais, cada um em uma rede separada, de forma que o tr fego entre os terminais e o servidor de terminais n o afete o resto dos servi os da rede. O motivo pelo qual pode existir somente um servidor principal em cada rede na escola que esse servidor prov o DHCP e s pode ter uma m quina fazendo isso na rede. poss vel mover os servi os do servidor principal para outras m quinas configurando-os nesses computadores e, subseq entemente, atualizando a configura o do DNS de forma que ele aponte para aquele servi o no computador correto. Com o objetivo de simplificar a configura o padr o da Skolelinux, a conex o com a Internet funciona em um roteador separado. poss vel configurar a Debian para conex es tanto com via modem ou ISDN, entretanto, nenhuma tentativa foi feita para que isso funcione automaticamente no Skolelinux (os ajustes necess rios para mudar a configura o padr o para essa ser o documentados separadamente). ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Chapter 2. Servi os Com exce o do controle dos terminais, todos os servi os s o inicialmente configurados em um computador central (o servidor principal). Por quest es ligadas performance, o servidore de terminais dever ser uma m quina separada (apesar de ser poss vel instalar os perfis tanto do servidor principal quanto do servidor de terminais na mesma m quina). Todos os servi os est o alocados a um nome de DNS dedicado e s o oferecidos exclusivamente sobre IPv4. A aloca o de nomes de DNS torna mais simples mover servi os individuais do servidor principal para outra m quina, simplesmente parando o servi o e mudando a configura o do DNS para apontar para a sua nova localiza o (que, obviamente, deve estar previamente configurado na m quina de destino). Para garantir a seguran a, todas as conex es nas quais ocorre transmiss o de senha pela rede s o criptografadas. Assim, nenhuma senha transita pela rede na forma de texto plano. A lista dos servi os configurados como padr o na rede Skolelinux encontra-se abaixo, com o nome de DNS de cada servi o dentro de colchetes. Sempre que poss vel o nome DNS corresponder ao nome do servi o no diret rio /etc/services. Quando isso n o for poss vel, ser usado o nome comum do servi o. Todos os arquivos de configura o ir o, se poss vel, se referir ao servi o pelo nome (sem o nome de dom nio). Dessa forma, fica f cil para as escolas mudarem tanto o seu dom nio (se elas tiverem o seu pr prio dom nio DNS) quanto o seu endere o IP. • Centraliza o dos registros de atividades (logs) [syslog] • DNS(Bind?)[domain] • Configura o autom tica da rede nas m quinas (DHCP) [bootps] • Sincroniza o do rel gio (NTP) [ntp] • Home directories via network file system (SMB/NFS)[homes] • Correio eletr nico (Limacute) [postoffice] • Servi o de diret rios (OpenLDAP) [ldap] • Servidor de p ginas Web (Apache/PHP/eZ) [www] • Servidor de SQL (PostgreSQL) [database] • Backup centralizado (?) [backup] • Cache/proxy Web (Squid) [webcache] • Impress o (CUPS) [ipp] • Acesso remoto (OpenSSH) [ssh] • Configura o autom tica [cfengine] • Servidor de terminais (LTSP) [ltsp-server-\#] • Levantamento das m quinas e servi os com relat rio de erros, situa o e hist rico via Web. Relat rio de erros por e-mail. Each user stores his personal files in his home folder which is made availble by the server. Home folders are accessible from all machines, giving users access to the same files regardless of which machine they are using. The server is operating system agnostic in offering access using NFS for Unix Clients, SMB for Windows and Macintosh clients. Por padr o, o correio eletr nico est configurado somente para entregas locias (isto , dentro da rede da escola). Entretanto, a entrega de e-mails pode ser extendida para toda a Internet, caso a escola possua uma conex o fixa com Internet. Listas de discuss o s o configuradas baseadas no banco de dados do usu rio, oferecendo a cada classe a sua lista. Os clientes s o configurados para remeter os e-mails para o servidor (usando "smarthost") e os usu rios podem acessar sua caixa postal pessoal tanto via POP3 quanto IMAP. Todos os servi os s o acessados com os mesmos nome de usu rio e senha, gra as ao banco de dados de usu rios central para autentica o e autoriza o. Para aumentar a performance no acesso aos sites visitados freq entemente, usado um proxy de web que armazena os arquivos localmente (Squid). Juntamente com o bloqueio do tr fego da web no roteador, isso tamb m permite controlar o acesso Internet para cada m quina individualmente. A configura o da rede feita automaticamente nos clientes, atrav s do DHCP. Aos clientes normais s o alocados endere os IP na sub-rede privada 10.0.2.0/23, enquanto que os terminais est o conectados ao servidor de terminais correspondente trav s da sub-rede 192.168.0.0/24 separada (isso para garantir que o tr fego dos terminais n o interfira com o resto dos servi os da rede). O registro de eventos centralizado, o que faz com que todas as m quinas enviem as suas mensagens do syslog para o servidor. O servi o syslog est configurado de forma a aceitar somente mensagens provenientes da rede local. Como padr o, o servidor de DNS configurado para um dom nio de uso interno somente, at que um dom nio DNS real ("externo") possa ser configurado. Esse servidor funciona tamb m como um servidor de cache de DNS. Dessa forma, todas as m quinas da rede podem usar este como o seu servidor de DNS principal. Alunos e professores tem a possibilidade de publicar s tios de Internet. O servidor de Web oferece mecanismos para autentica o de usu rios e para limitar a acesso a p ginas e diret rios individuais a grupos e usu rios espec ficos. Os usu rios ter o a possibilidade de criar p ginas Web din micas, uma vez que o servidor ser program vel para permitir tal recurso. As informa es dos usu rios e das m quinas podem ser modificadas em um computador central e disponibilizadas para todos os computadores da rede automaticamente. Para permitir isso, configura-se um servidor de diret rios centralizado. O diret rio ter informa es sobre os usu rios, grupos de usu rios, m quinas e grupos de m quinas. Para evitar confus o por parte do usu rio, n o existir nenhuma diferen a entre os grupos de arquivos, listas de discuss o e grupos de rede. Isso implica que os grupos de m quinas que t m que ser grupos de rede possuem o mesmo espa o de nome dos grupos de usu rio e listas de discuss o. A administra o dos servi os e usu rios feita via web e segue padr es estabelecidos, funcionando muito bem nos navegadores web que fazem parte da Skolelinux. O sistema de administra o baseado em web permite delegar certas tarefas para determinados usu rios ou grupos de usu rios. fim de evitar certos problemas com o NFS e tornar mais simples a verifica o de problemas, os rel gios das diferentes m quinas devem estar sincronizados. Para realizar isso, o servidor Skolelinux est configurado como um servidor de Network Time Protocol (NTP) local e todas as esta es e terminais est o configurados para sincronizar os seus rel gios com o servidor. O pr prio servidor deve sincronizar o seu rel gio via NTP com os servidores oficiais na Internet, garatindo, assim, que toda a rede estar com a hora correta. As impressoras podem ser conectadas onde for mais conveniente, seja diretamente na rede, no servidor, em uma esta o ou no servidor de terminais. O acesso s impressoras pode ser controlado para cada um dos usu rios individuais, de acordo com o grupo ao qual eles perten am. Isto realizado atrav s do uso de controles de cotas e de acesso s impressoras. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1. Servi os para terminais A configura o de um terminal torna poss vel a utiliza o de um PC comum como um terminal (ou mesmo um terminal gr fico). Isso significa que essa m quina inicializa a partir de um disquete ou diretamente do servidor usando uma placa de rede com EPROM, sem usar o disco r gido local. A configura o de terminais utilizada a do Linux Terminal Server Project (LTSP). Terminais s o uma boa maneira de se fazer uso de m quinas mais antigas e menos potentes, uma vez que todos os programas ser o executados no servidor de terminais. Isso funciona da seguinte maneira: o servi o usa oDHCP e o TFTP para se conectar e inicializar a partir da rede. Depois o sistema montado via NFS a partir do servidor LTSP e, por fim, o X11 iniciado e conectado ao mesmo servidor LTSP atrav s do XDMCP, garantindo, dessa forma, que todos os programas sejam executados no servidor LTSP. O servidor de terminais configurado para receber relat rios do sistema (syslog) dos terminais e encaminhar essas mensagens para o receptor central de syslogs. [1] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Chapter 3. Administra o Todas as m quinas Linux que s o instaladas usando o CD Skolelinux s o administr veis a partir de um computador central, geralmente o servidor. poss vel se conectar em qualquer das m quinas da rede usando ssh, passando a ter, dessa forma, acesso total a essas m quinas. N s usamos cfengine para editar os arquivos de configura o. Esses arquivos s o atualizados do servidor para os clientes. Caso queria mudar a configura o do cliente, basta editar a configura o no servidor e deixar que as altera es sejam distribu das automaticamente Todas as informa es dos usu rios s o mantidas em um banco de dados SQL. Atualiza es nas contas dos usu rios s o feitas nesse banco de dados. As informa es s o exportadas para um diret rio LDAP, que usado pelos clientes para efetuar a autentica o dos usu rios. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Chapter 4. Instala o Installation is possible either from a CD or by a diskette from server. O nosso objetivo possibilitar que o servidor seja instalado a partir do CD e os clientes a partir da pr pria rede interna. A instala o deve funcionar sem nenhum acesso Internet. A instala o n o deve fazer somente as setuintes perguntas: o idioma desejado (por ex. portugu s, noruegu s, ingl s) e o perfil da m quina (servidor, esta o, terminal). Todas as outras configura es devem ser efetuadas automaticamente, com valores razo veis, para serem mudadas a partir de uma administra o centralizada, subseq ente instala o. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Appendix A. Configura o de acesso ao sistema de arquivos Cada conta de usu rio do Skolelinux est associada a uma se o do sistema de arquivos no servidor de arquivos. Esta se o (diret rio home) cont m os arquivos de configura o do usu rio, documentos, e-mails e p ginas web. Alguns arquivos devem ser configurados para permitir acesso de leitura para outros usu rios no sistema, alguns devem ser leg veis para todos na Internet e alguns n o devem ser acess veis para mais ningu m, exceto o usu rio. Para garantir que todos os discos que forem utilizados para diret rios compartilhados ou de usu rios tenham um nome nico entre todos os computadores da instala o, eles podem ser montados da seguinte forma: /skole/host/diret rio /. Inicialmente um diret rio criado no servidor de arquivos, /skole/servidor/ home0/, no qual todas as contas de usu rio s o criadas. Outros diret rios podem, ent o, ser criados quando necess rio, para acomodar grupos de usu rios ou padr es de uso pr prios. Para habilitar o controle de acesso ao compartilhamento de arquivos usando os grupos de arquivos, cada usu rio deve estar associado a um grupo prim rio sem nenhum outro membro. O nome desse grupo privado deve ser id ntico ao seu nome de usu rio. [2] Isto permite que todos os novos arquivos criados pelo usu rio sejam configurados para permitir acesso total ao grupo daquele arquivo. Juntamente com a configura o do gid nos diret rios e a heran a de direitos, isto permite um compartilhamento de arquivos entre os membros de um grupo de arquivos de forma controlada. Para isso, a configura o umask dos usu rios deve ser 00X. [3]. As configura es iniciais de acesso aos novos arquivos fazem parte da pol tica de uso da rede . Elas tanto podem permitir o acesso de leitura para todos - o que pode ser alterado posteriormente atrav s de uma a o expl cita do usu rio -, quanto podem bloquear totalmente o acesso, sendo necess ria uma a o do usu rio para torn -los acess veis. A primeira postura estimula o compartilhamento do conhecimento e torna o sistema mais transparente, enquanto que o segundo m todo diminui o risco de dissemina o indesejada de informa es restritas. O problema com a primeira pol tica que n o muito aparente aos usu rios que o material que eles criam ser acess vel para todos os outros. Isto percebido somente quando se inspeciona os diret rios dos outros usu rios, onde ent o se descobre que os arquivos s o pass veis de leitura. O problema com a segunda alternativa que poucas pessoas tendem a deixar seus arquivos acess veis, mesmo que eles n o contenham informa es restritas e que o conte do possa servir de ajuda para usu rios curiosos que desejem aprender como os outros resolveram problemas particulares (geralmente quest es de configura o). Sugest o: Os arquivos s o inicialmente configurados para permitir acesso de leitura para todos, mas criam-se diret rios particulares nos quais o conte do inicialmente bloqueado. Isso simplifica o processo de decidir se o arquivo deve ser leg vel para outros ou n o. Na pr tica, deve-se configurar umask para 002 e criar o diret rio ~/ com privil gio 0775, um ~/priv/ com 0750 e um ~/pub/ com 0775. Arquivos que n o deve ser acessados por outros devem ser colocados em ~/ priv/ e os arquivos p blicos em ~/pub/. Outros arquivos ser o inicialmente acess veis, mas podem ser bloqueados de acordo com a necessidade. O ssh exige que o diret rio home tenha permiss o de escrita somente para o seu propriet rio, por isso, o privil gio de acesso m ximo para ~/ tem que ser 755. - acesso aos diret rios home (*~/.)? - diret rios home - diret rios compartilhados? ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Appendix B. Palavras-chave Estas s o notas aleat rias acerca de coisas que deveriam ser inclu das neste documento. • Banco de dados de usu rio centralizado com agrupamento e a capacidade de controlar quais grupos t m acesso a quais m quinas. • Agrupamento de m quinas e a capacidade de controlar o acesso aos servi os da rede para esses grupos (bloqueio de acesso Internet atrav s do squid) • Should consider using a DNS name from RFC 2606. Notes [1] Pera , os terminais n o possuem nomes nicos junto aos servidores LTSP. Como n s podemos identificar qual cliente est conectado aonde, a partir do servidor central? [2] Mais informa es acerca de grupos privados est o dispon veis no site da RedHat. [3] Se, inicialmente, for permitida para todos os usu rios a leitura dos novos arquivos criados, ent o X=2. Se esse acesso inicial de leitura for apenas para um grupo restrito, ent o X=7.