A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 Administração de Sistemas (ASIST) TP 4 LINUX – Administração.

Apresentações semelhantes


Apresentação em tema: "1 Administração de Sistemas (ASIST) TP 4 LINUX – Administração."— Transcrição da apresentação:

1 1 Administração de Sistemas (ASIST) TP 4 LINUX – Administração

2 2 Scripts Designa-se por script um pequeno programa interpretado contido num simples ficheiro de texto directamente executável. Em outros sistemas não UNIX a parte final do nome de um ficheiro (extensão) é usada para indicar o seu conteúdo, no caso particular de um script a extensão poderá indicar a linguagem usada e por isso qual o interpretador a usar. Em LINUX/UNIX usa-se o conteúdo dos primeiros bytes do ficheiro para o classificar (magic number). Independentemente do nome/extensão do ficheiro. No caso de ficheiros de texto contendo programas interpretados (scripts) a primeira linha identifica o interpretador que deve ser usado, além disso sendo um script, deverá ter a permissão de execução activa.

3 3 Shebang O shebang (de hash+bang) é a sequência #! na primeira coluna da primeira linha dos scripts UNIX. Os caracteres #!, ou seja 0x2321 são o magic number que identifica o ficheiro como sendo um script. A parte restante da linha do shebang serve para identificar o programa interpretador que deve ser usado para executar o script contido no ficheiro. #!/bin/bash #!/usr/bin/perl #!/bin/csh #!/bin/sh #!/usr/bin/pyton #!/usr/bin/php Como nas linguagens interpretadas usadas as linhas começadas por # são consideradas comentários, o shebang não interfere com o script propriamente dito.

4 4 Shell Scripts O objectivo dos programas classificados como shell é fornecer um meio de interacção com o sistema através de comandos. Os comandos podem agrupados em sequência num script constituindo assim um verdadeiro programa interpretado, para se tirar todo o proveito dos shell scripts são disponibilizados comandos de controlo tais como a decisão e os ciclos de repetição. Os shell scripts são uma ferramenta importante para o administrador pois permitem automatizar muitas tarefas e estão sempre acessíveis, basta um editor de texto. Muitos preferem usar a CSHELL devido à semelhança da sua sintaxe com a linguagem de programação C. Uma vez que nos sistemas LINUX actuais tanto a shell tradicional (sh/bash) como a C shell (csh/tcsh) estão sempre disponíveis a opção por uma ou outra é uma escolha quase pessoal. Normalmente a opção recai sobre a shell que usa diariamente em modo interactivo. Outras linguagens como por exemplo PERL e PYTON possuem potencialidades muito maiores, com bibliotecas bastante extensas, mas exigem a familiarização do administrador.

5 5 Shell Scripts – exemplo simples em BASH No DEI as passwords dos utilizadores só podem ser alteradas junto do PDC do domínio windows, para que o comando habitual passwd atinja esse objectivo foi substituído por um pequeno script em BASH. -bash-3.00$ cat /usr/bin/passwd #!/bin/bash echo -e "\n\n\n" echo "Alteração de password geral do utilizador `id -nu` no DEI" echo -e "\n" SMBPASSWD="" for LOC in /usr/local/samba/bin /usr/local/bin /usr/bin ; do if [ -x ${LOC}/smbpasswd ]; then SMBPASSWD=${LOC}/smbpasswd break; fi done ######################## if [ -z "${SMBPASSWD}" ]; then echo "Existe um problema na instalação desta máquina" echo "é favor contactar os administradores de rede" exit 1 fi ${SMBPASSWD} -r mafalda2 ########################

6 6 Execução programada - serviço CRON A possibilidade de programar a execução de comandos, por exemplo scripts tem enormes vantagens para o administrador. Permite definir a execução periódica de tarefas, por exemplo em horários apropriados a operações de manutenção. Nos sistema LINUX o serviço CRON (crond) é o mais usado para atingir estes objectivos, o ficheiro /etc/crontab é o principal ficheiro de configuração. As linhas de comando do ficheiro de configuração apresentam a seguinte forma: Especificação de data/hora SPC Utilizador SPC Comando e argumentos Minuto SPC Hora SPC Dia do mês SPC Mês SPC Dia da semana 0 a 590 a 231 a 311 a 120 a 7 Os valores númericos de dia da semana e mês podem ser substituídos por nomes. Nos dias da semana o valor 0 e o valor 7 são duas alternativas para especificar Domingo. Os valores de data/hora podem ser especificados em intervalos ou por enumeração. O símbolo * representa o intervalo de todos os valores possíveis para esse campo.

7 7 Serviço CRON – exemplos /etc/crontab */5 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.cfg 5,35 * * * * root /etc/LinuxHealth >/dev/null 2>&1 & 45 2 * 8 6 root /root/make-backup >/dev/null 2>&1 & As gamas de valores podem ser associadas a um valor de passo na gama de valores, no exemplo acima */5 (0-59/5) nos minutos significa percorrer os minutos de 5 em 5, ou seja é equivalente a 0,5,10,15,20,25,30,35,40,45,50,55. O ficheiro /etc/crontab apenas pode ser usado pelo administrador, mas o serviço crond também está acessível aos outros utilizadores através de ficheiros de configuração normalmente guardados em /var/spool/cron/ é que devem ser manipulados indirectamente através do comando crontab –e. O formato é idêntico ao do /etc/crontab, mas o nome do utilizador (6º campo) é omitido pois está implícito. O acesso dos utilizadores ao serviço CRON pode ser controlado usando os ficheiros /etc/cron.allow e /etc/cron.deny.

8 8 Segurança em rede O ambiente de rede, em especial em redes WAN, caracteriza-se pela grande dificuldade em controlar o acesso aos dados que nela circulam. A única alternativa é recorrer a algoritmos de cifragem. A abordagem tradicional (simétrica) exige que os dois intervenientes possuam uma chave secreta (pré-partilhada). A criptografia de chave pública, mais recente, usa chaves diferentes para cifrar e decifrar e com isso torna a distribuição de chaves muito mais simples. CIFRAR Dados Dados cifrados DECIFRAR Dados Chave secreta CIFRAR Dados Dados cifrados Dados DECIFRAR CIFRAR Dados Dados cifrados DECIFRAR Dados Chave pública de B CIFRAR Dados Dados cifrados Dados DECIFRAR A B AB Chave privada de A Chave privada de B Chave pública de A

9 9 Autenticação em rede Antes de haver preocupações com a confidencialidade dos dados (recorrendo à criptografia), temos de nos assegurar que estamos a transaccionar dados com a entidade correcta. Essa é a missão da autenticação. Geralmente a autenticação está associada à cifragem Criptografia simétrica: a autenticação está assegurada à partida pois apenas duas entidades possuem a chave secreta. Note-se que este facto apenas delega o problema da autenticação para a fase anterior de distribuição de chaves. Tipicamente a distribuição de chaves secretas recorre a um outro segredo pré-partilhado, como por exemplo a password do utilizador. Criptografia de chave pública: a autenticação não está assegurada porque as chaves usadas para cifrar são públicas. Se a chave é pública, qualquer um a pode usar. No entanto, uma vez que a chave privada é conhecida por apenas uma entidade, esse facto pode ser usado para garantir a autenticação. Basta garantir a autenticidade das chaves públicas pois apenas o detentor da respectiva chave privada poderá decifrar.

10 10 Certificados de chave pública A criptografia de chave pública simplificou muito a distribuição de chaves, mas esta simplificação eliminou a autenticação que estava implícita na criptografia simétrica. Contudo garantindo a autenticidade das chaves públicas o problema fica resolvido. Um certificado de chave pública contém a identificação do proprietário da chave pública (Subject), a identificação do emissor do certificado (Issuer), a chave pública e assinatura digital do conjunto realizada pelo emissor do certificado. Identificação do emissor do certificado Data de validade e versão Identificação do proprietário da chave Chave pública Assinatura digital Chave privada do emissor do certificado Os clientes aceitam o certificado com base na confiança sobre o emissor do certificado, data de validade do mesmo e identificação do proprietário da chave.

11 11 Certificado de chave pública - exemplo ~]# openssl x509 -in /etc/cert/redecert.pem -text Certificate: Data: Version: 1 (0x0) Serial Number: 2 (0x2) Signature Algorithm: md5WithRSAEncryption Issuer: C=PT, ST=PORTO, L=PORTO, O=DEI.ISEP, OU=DEI, Validity Not Before: Jun 20 11:37: GMT Not After : Jun 17 11:37: GMT Subject: C=PT, ST=PORTO, L=PORTO, O=DEI.ISEP, OU=DEI, Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:cc:38:e2:e6:5d:ff:43:6d:ff:43:12:94:03:db: 8f:5c:28:61:1a:61:0d:d5:5e:04:dd:20:a9:d8:99: 0c:53:e3:c6:23:b0:6c:4d:fe:6b:9e:b8:00:ea:23: 1d:55:fa:e7:9a:9b:1b:fa:ef:e0:0d:2c:e0:e1:43: 31:2d:b1:37:b5:27:68:01:e0:3d:d8:bf:96:15:bb: 25:31:ec:6c:38:5e:2f:17:4c:b5:14:5e:8c:de:1b: 14:20:b9:9c:fb:fe:41:5e:ea:68:17:ab:50:a7:9f: 6d:93:b3:30:0f:c2:09:2b:7b:43:a4:06:1b:2a:e8: d2:e5:ca:ff:71:e1:69:9c:fb Exponent: (0x10001) Signature Algorithm: md5WithRSAEncryption 97:e9:b2:9d:f1:ca:16:37:43:21:3a:11:61:03:d7:4b:de:f9: 06:f9:ee:02:4e:6e:08:25:bc:e3:98:e8:1d:bf:9f:43:5b:cb: 6c:20:d0:6e:7c:d2:53:f2:29:3b:f9:6e:aa:c3:e0:ab:f8:8f: 06:83:95:9f:dc:a8:94:bb:a8:50:67:34:de:64:0a:02:29:f0: 1b:1d:f1:bc:51:09:37:f9:15:23:14:5d:b6:98:85:86:d4:37: ff:58:d0:74:24:2f:0d:da:d9:c4:02:89:7f:e6:6c:98:c3:f0: 8e:42:77:45:3d:a1:ae:a2:8c:20:83:83:c5:2b:cc:58:7c:d7: 2f:06:32:c6:fa:95:b3:de:5f:48:76:54:08:7a:df:b1:58:a8: 8d:d9:74:94:57:c1:57:5b:79:32:f1:71:02:77:bb:6f:2a:9f: 42:94:ef:37:d1:03:da:db:9f:b6:11:8a:4b:d4:e4:34:48:86: a0:e3:ce:9e:a3:f4:97:86:37:e1:b9:d4:af:de:a8:e9:ce:2a: 70:aa:8f:c5:90:d9:71:48:a8:9b:8b:f0:2e:6c:42:7e:c3:bf: b6:8e:80:79:2f:ed:81:cb:3a:01:69:ce:c0:e8:9f:fe:ce:0a: bf:08:89:4b:68:d0:d5:9b:78:9a:e6:e5:19:92:6c:93:7f:c5: a0:89:f9:45

12 12 Certificados auto-assinados Um certificado de chave pública auto-assinado é, como o nome indica, emitido pelo próprio proprietário da chave pública. Como tal tem um valor reduzido sob o ponto de vista de autenticação. Este tipo de certificado exige normalmente uma instalação manual, sendo um procedimento necessário para instalar um certificado de uma entidade de raiz (ROOT CA). Como o nome indica, as entidades certificadoras de raiz são o inicio de uma árvore de entidades certificadoras de confiança. O certificado da ROOT CA é auto-assinado por isso a sua instalação tem de ser realizada manualmente. Depois de instalar/aceitar um certificado de raiz, qualquer certificado emitido por qualquer elemento da árvore será aceite sem intervenção do utilizador.

13 13 Comando openssl (LINUX) O comando openssl fornece uma interface de linha de comando para acesso à biblioteca openssl que suporta SSL v2 e v3 e TLS v1. Entre outras funcionalidades o comando openssl permite gerir certificados de chave pública. openssl req … – a finalidade principal é gerar uma chave e emitir um pedido de certificação da mesma. O pedido de certificação deve depois ser processado por uma entidade certificadora que emitirá o respectivo certificado. Este comando também pode ser usado para produzir um certificado auto-assinado, por exemplo: openssl req -nodes -x509 -keyout ttt.key -out ttt.crt -days newkey rsa:1024 openssl x509 … – processamento de certificados, por exemplo é usado pela entidade certificadora para produzir o certificado a partir de um pedido de certificado. O comando openssl pode usar o ficheiro de configuração openssl.cnf, algumas operações, nomeadamente de gestão de certificados como autoridade certificadora exigem o uso deste ficheiro de configuração.

14 14 Administração do SAMBA O projecto SAMBA desenvolve um conjunto de software livre e aberto cujo principal objectivo é a integração WINDOWS/LINUX. São particularmente notáveis os serviços smbd e nmbd que transformam uma máquina LINUX num servidor WINDOWS com as principais características dos servidores WINDOWS nativos. O SAMBA inclui ainda diverso software cliente de integração: - Programas smbclient / rpcclient / net / … permitem o acesso a servidores Windows ao nível de partilhas de rede e ao nível de administração. - Suporte de SMBFS/CIFS no núcleo LINUX permite montar no sistema de ficheiros LINUX partilhas de rede WINDOWS. - Servidor winbind associado aos módulos libnss_winbind e pam_winbind permitem disponibilizar nos sistemas LINUX as contas de utilizadores residentes em servidores WINDOWS (nativos ou não).

15 15 Servidores SAMBA Transformar um servidor LINUX num servidor WINDOWS é algo complexo devido às grandes diferenças entre os dois tipos de sistema. Os elementos envolvidos têm de ser convertidos através de um sistema de equivalências: - Objectos do sistema de ficheiros – ACL POSIX / ACL NTFS Sendo a ACL POSIX muito mais limitada, a ACL NTFS proporcionada por um servidor SAMBA vai reflectir directamente essas limitações. - Utilizadores e grupos – Utilizador LINUX / Utilizador WINDOWS Os utilizadores e grupos WINDOWS são identificados por SID, em UNIX usam-se UID e GID que são radicalmente diferentes, além disso as contas WINDOWS contêm muita informação que não tem cabimento num sistema LINUX, por o exemplo ROAMING PROFILE e a PASSWORD cifrada de duas formas diferentes para se poder realizar a autenticação por desafio característica dos sistemas WINDOWS.

16 16 Servidores SAMBA - Utilizadores As contas dos utilizadores WINDOWS possuem atributos fundamentais que não existem nas contas UNIX, destacam-se os SID e as passwords cifradas. Existem várias abordagens possíveis para resolver este tipo de incompatibilidades: - Criar um sistema de equivalências Exemplo: SID=SID-DOMINIO-(1000+2*UID) usado nas primeiras versões do SAMBA. - Criar um sistema de contas paralelo ao UNIX Por exemplo para guardar as passwords cifradas pode ser usado um ficheiro /etc/smbpasswd que funciona em paralelo com o /etc/passwd. Esta era a única alternativa nas primeiras versões do SAMBA. Criar um sistema de contas com os atributos necessárias a ambos os sistemas. O SAMBA actual tem a capacidade de suportar repositórios de utilizadores dos mais diversos tipos, se esses repositórios também forem integráveis em LINUX via NSS/PAM então consegue-se manter toda a informação num único repositório, com todas as vantagens que daí advêm. Um exemplo bastante divulgado actualmente é o uso de servidores LDAP para este efeito.

17 17 winbindd + libnss_winbind + pam_winbind O serviço winbind é uma das vertentes mais recentes do SAMBA. O serviço winbindd é uma aplicação que se mantém em execução permanente, recebe pedidos dos módulos locais libnss_winbind e pam_winbind e eventualmente contacta o servidor WINDOWS (tipicamente nativo) que funciona como PDC. O winbind mantém uma base de dados de equivalência entre SID no domínio WINDOWS e UID/GID no sistema LINUX. Quando surge um novo utilizador WINDOWS é criado um novo utilizador local LINUX correspondente. Há outros elementos que o winbind tem de definir nas contas de utilizador LINUX que não pode deduzir das contas WINDOWS, nomeadamente a HOME e a SHELL, tipicamente a HOME é definida através de uma expressão como /home/%U. winbindd nss_winbindpam_winbind SERVIDOR WINDOWS (PDC) SISTEMA LINUX


Carregar ppt "1 Administração de Sistemas (ASIST) TP 4 LINUX – Administração."

Apresentações semelhantes


Anúncios Google