• Nenhum resultado encontrado

Configuração de servidores Linux

N/A
N/A
Protected

Academic year: 2021

Share "Configuração de servidores Linux"

Copied!
49
0
0

Texto

(1)

Configuração de servidores Linux

Jonathan de Matos

https://jonathandematos.wordpress.com/

(2)

Conteúdo

● Seleção do servidor

● Instalando o Linux

● Gerência de usuários

● Configurando firewall

● Instalando e configurando Apache HTTP

● Instalando e configurando PHP

● Instalando MySQL

● Instalando e configurando FTP

(3)

Tipo de servidor

Servidor Web

– Web + PHP (Apache HTTP)

– Web + Perl (Apache HTTP)

– Web + Java (Apache Tomcat)

– Web para conteúdo estático (Nginx, lighttpd)

– Web de alta demanda (Varnish)

Servidor de DHCP (udhcpd, isc-dhcp, ...)

Servidor de DNS (bind, unbound)

Servidor de Log (Syslog, rsyslog, logstash, elasticsearch)

Servidor de gerência de redes (Nagios, Zabbix, cacti,

nfsen, ...)

(4)

Tipo de servidor

Servidor de arquivos

– NFS

– Samba (SMB – Windows)

Servidor de autenticação (LDAP, NIS, ...)

Servidor de E-mail (postfix)

Servidor de Banco de Dados

– MySQL, Postgres, Sybase, Mongo, HSQL

Servidor FTP (proftp, pureftp, ...)

Servidor de Impressão (cups)

(5)

Distribuição

● Debian

● Slackware

● Ubuntu (server)

● Fedora → Red Hat → CentOS

● SUSE → OpenSUSE

(6)

Instalação

● Conhecer a rede

● Conhecer o armazenamento

● Saber qual tipo de servidor você precisa

● Entender as mídias de instalação

– DVD

– CD

– Pendrive (recomendado)

Ferramenta “dd”

(7)

Instalação

(8)

Instalação

(9)

Instalação

(10)

Instalação

(11)

Instalação

(12)

Instalação

(13)

Instalação

(14)

Instalação

(15)

Instalação

(16)

Instalação

(17)

Instalação

(18)

Instalação

(19)

Instalação

(20)

Instalação

(21)

Instalação

(22)

Instalação

(23)

Instalação

(24)

Instalação

(25)

Instalação

(26)

Instalação

(27)

Verificação da instalação e gerência de usuários

● Com o término da instalação o sistema irá reiniciar e estar pronto para a configuração

● Depois do login como root é adequado verificar o estado do armazenamento

– Ferramenta mount e df

● É importante também verificar a conectividade

– Ferramentas como ping, traceroute, ifconfig

● Alterar as senhas utilizadas na instalação para

senhas mais seguras e remover usuários

inúteis

(28)

Gerência de usuários

● A alteração de senha é realizada utilizando o utilitário passwd

● A gerência de usuários (adição, remoção e modificação) pode ser realizada com os utilitários adduser, userdel e usermod

● As ferramentas em linha de comando do Linux possuem help e páginas de manual

● O help geralmente é acessível com a opção -h

● Os manuais pela ferramenta man

(29)

Gerência de usuários

● Não é recomendável utilizar o sistema como superusuário (root)

● Para isso existe a ferramenta sudo e su

● Os usuários que deverão ter nível de permissão mais alto devem ser colocados no grupo “sudo”

● Para colocar permissões especiais para algum

usuário pode ser utilizada a ferramenta visudo

para editar indiretamente o arquivo sudoers

(30)

Diretórios

● Os diretórios mais importantes do Linux são:

– / → raiz do sistema

– /home → diretórios dos usuários (dentro deste diretório haverá um diretório para cada usuário)

– /etc → arquivos de configuração

– /bin e /usr/bin → executáveis

– /var → arquivos de trabalho (logs, páginas, spool, …)

– /tmp → arquivos temporários e que serão apagados a qualquer momento

● Diretórios podem ser comuns ou então pontos de

montagem, sendo essa diferença não perceptível

para o usuário ou programas

(31)

Conectividade

● O primeiro programa que em geral deve ser instalado em um servidor de qualquer tipo é o servidor do protocolo SSH

● Isso possibilita que o servidor vá para um rack ou então que você não precise mais de um console virtual

● Em seguida deve-se tomar mais uma medida de segurança, ativando o firewall

● O firewall é implementado no kernel e pode ser

configurado com a ferramenta iptables

(32)

Firewall

(33)

Firewall

● Em um servidor com endereço exposto na Internet, podem haver várias tentativas diárias de conexões não autorizadas

● Dependendo do tipo do servidor que será instalado, as portas que serão mantidas abertas são diferentes

– HTTP → 80

– SSH → 22

– FTP → 21

– Postgres → 5432

– MySQL → 3306

(34)

Firewall

● O bloqueio pode ser feito com DROP ou REJECT com o iptables

– iptables -P INPUT DROP

– iptables -P INPUT REJECT

– iptables -A INPUT -s 200.200.200.200 -j DROP

● A abertura de uma porta pode ser realizada com ACCEPT

– iptables -A INPUT -p tcp –dport 22 -j ACCEPT

● As regras podem ser listadas com -L

(35)

Apache HTTP Server

● O Apache HTTP Server é um programa que basicamente permanece ouvindo por padrão a porta 80 (padrão do protocolo HTTP definido pela IANA) ou 443 (HTTPS)

● Ele é conhecido popularmente como Apache apenas, porém existem várias outras ferramentas do grupo Apache

● O Apache é um dos web servers mais

conhecidos e bem sucedidos no seu meio

devido a sua robustez, porém ele tem alguns

problemas

(36)

Apache HTTP Server

● Ele permite a execução de scripts em diversas linguagens através de uma ideia básica chamada CGI

● A execução de scripts externos podem ser realizadas usando FastCGI ou módulos no Apache

● Além do CGI, o Apache também possui

estrutura multi-processos, chamada prefork ou

worker

(37)

Apache HTTP Server

● Um dos principais problemas do Apache é o alto consumo de memória com muitas conexões

● Para isso existem estruturas de clusters, proxy reversos, caches e outros servidores web

● O Apache também é bom para atendimento de

requisições web dinâmicas, porém consome

muitos recursos para requisições estáticas

(38)

Apache (configuração)

● Na nova estrutura de configuração, os sites são configurados em arquivos separados no diretório /etc/apache2/sites-available

● Uma vez criado o arquivo de configuração do seu novo site no diretório citado, deve-se criar um link simbólico no diretório /etc/apache2/sites-enable para o mesmo

● Os nomes dos arquivos são livres, mas

recomenda-se usar nomes significativos

(39)

Apache (configuração)

● Se os arquivos de configuração não estiverem neste local, pode ser que o Apache não foi instalado

● No Debian, a instalação de programas mais comuns deve ser realizada pelo apt.

– apt-get install apache2

● Não é recomendável a instalação de nenhum

programa em um servidor Debian que não

esteja disponível nos repositórios comuns

(40)

Apache (configuração)

● Existem configurações do apache nos arquivos

/etc/apache2/apache2.conf e

/etc/apache2/ports.conf

● O Apache também permite o uso de módulos extras, como SSL, autenticação, cache, dav, proxy, ftp, entre outros

● Os módulos disponíveis podem ser

encontrados, juntamente com sua

configuração, no diretório /etc/apache2/mods-

available

(41)

Apache (configuração)

● Um dos módulos muito utilizados atualmente é o que possibilita a execução de scripts PHP

● Para ativar um módulo, deve ser criado um link simbólico para o seu arquivo de configuração no diretório /etc/apache2/mods-enabled

● No caso do PHP, pode ser que o módulo não esteja disponível, pois são necessários alguns pacotes

● Uma das formas de descobrir qual o nome exato do pacote para a instalação é usando a ferramenta apt-cache

– apt-cache search [nome aproximado do pacote]

(42)

Apache (configuração)

Para encontrar o nome do pacote PHP e o módulo para o Apache você pode usar:

– apt-cache search php | grep apache

O módulo é o libapache2-mod-php5

Obviamente o pacote do PHP 5 também será instalado graças as dependências dos pacotes do Debian

Os links para a ativação serão criados automaticamente, porém existe uma ferramenta para facilitar isso também

– a2enmod

– a2ensite

– a2enconf

Criação de usuários no Apache

– htpasswd -c /etc/apache2/basic.auth teste

(43)

Apache (configuração de site)

<VirtualHost *:8080>

ServerAdmin webmaster@localhost DocumentRoot /var/www/html/teste

ErrorLog ${APACHE_LOG_DIR}/error_teste.log

CustomLog ${APACHE_LOG_DIR}/access_teste.log combined <Location />

Options +Indexes AllowOverride All AuthType basic AuthName "Basic"

AuthUserFile /etc/apache2/basic.auth Require valid-user

</Location>

php_admin_value display_errors on

Alias /downloads /home/apache/downloads <Directory /home/apache/downloads>

Allow from 127.0.0.1 Deny from all

Order deny,allow </Directory>

</VirtualHost>

(44)

Apache (permissões)

Geralmente o Apache executa usando o usuário www-data e o grupo www-data

Todos os arquivos dos sites devem ter permissão de leitura para este usuário e grupo

Diretórios onde o Apache escreverá arquivos também devem ter permissão para este usuário e grupo escreverem

– chown [-R] [usuario.grupo] [nome do arquivo]

– chmod [-R] [ugo+rwx] ou [777] [nome_do_arquivo_ou diretorio]

– find ./ -type d -exec [cmd] {} \;

– ls -lah

Cuidado com diretórios onde os usuários fazem upload de

arquivos e diretórios via FTP

(45)

MySQL

● Novamente, o mais correto no Debian é a instalação usando pacotes do repositório oficial

– apt-get install mysql-server-5.5

● Durante a instalação será pedida a nova senha de superusuário do MySQL

● Importante, não esqueça esta senha

● Por padrão o MySQL só ouvirá no endereço de localhost é o suficiente no caso de um servidor múltiplo, além de mais seguro

● Para mudar configurações, por exemplo o

endereço de conexão, basta editar o arquivo

/etc/mysql/my.cnf

(46)

MySQL e PHP

● O PHP pode acessar o MySQL através de uma biblioteca de conexão

● Esta biblioteca pertence PHP e deve ser instalada usando o comando apt

– apt-get install php5-mysql

● Existem diversas outras bibliotecas para o PHP, sejam para conexão com outros bancos, criação de imagens, envio de e-mail, etc

● Uma maneira bem simples de saber quais

bibliotecas estão disponíveis é usando a função

phpinfo();

(47)

FTP

● O acesso usando FTP é uma das maneiras mais comuns de disponibilizar acesso para os clientes aos seus sites

● Um bom servidor FTP para o Debian é o Pure- FTPd

● Uma das vantagens é a possibilidade de usar virtual chroot

● Permite diversos tipos de autenticação

● A instalação deve ser realizada também pelo apt

– apt-get install pute-ftpd

(48)

FTP

● O modo mais rápido e não flexível de autenticação é usando as senhas do próprio sistema

– Desabilita-se a autenticação PAM

– Habilita-se a autenticação UNIX

● Cuidar com o login shell do usuário e com o diretório de login

● Prestar atenção nos grupos dos usuários e na flag setguid do sistema de arquivos

● Utilizar o VirtualChroot no arquivo

/etc/defaults/pure-ftpd e “yes” no arquivo /etc/pure-

ftpd/conf/ChrootEveryone

(49)

Conclusão

● Esta é uma configuração muito básica de um servidor web

● O mais adequado é não utilizar o mesmo servidor como servidor web e de banco de dados no mesmo servidor, mas …

● Deve-se tomar muito cuidado com um servidor

web, pois ele é um atrativo muito grande para

invasores e uma ótima vitrine

Referências

Documentos relacionados

&#34;Hoje, no momento em que a Liturgia nos leva a reviver o Dia de Pentecostes, onde o Céu se abre para derramar o Espírito Santo, também é o terceiro dia da Pré-Novena que

onde parece (tanto quanto se pode avaliar) ser mais frequente, relativamente ao conjunto dos roedores, do que no Castro do Zambujal; nesta jazida, está também representada uma

Para tal, foram testadas as seguintes hipóteses; i- em locais mais íngremes ocorre maior substituição de espécies de macrófitas, visto que essas áreas são mais instáveis devido a

Insumos agrícolas semente tratada de repolhc tibam, latinhas de 100 c (fiscalizada pelo Ministério de Agricultura Pecuária e

Com relação à germinação das sementes armazenadas em câmara fria, aos três meses de armazenamento (Tabela 10), observou-se em sementes tratadas ou não com fungicidas e

Pode-se argumentar que este contexto seria suficiente para induzir o Fed a ficar impaciente e a elevar a taxa básica de juro já no início de 2022; entretanto, duas forças mitigam

c) A ler de forma mais competente, para procurar descobrir os mecanismos e técnicas usados pelo autor para produzir um determinado efeito. Quando os cursos funcionam, há uma

Avanços, fragilidades de acessibilidade, inclusão e avaliação nas bibliotecas universitárias apontaram para a necessidade de efetivação de uma política