Mudanças entre as edições de "CTIC:Servidores"
(→Rede) |
|||
Linha 339: | Linha 339: | ||
===Serviços=== | ===Serviços=== | ||
− | * SSH | + | * [[#SSH|SSH]] |
* TFTP | * TFTP | ||
Edição das 13h01min de 26 de março de 2012
Padrões e Normas
Início (boot)
- Seja por hardware particular ou ambiente virtualizado, todo servidor deve iniciar após falha de energia. No ambiente virtualizado, deve-se estabelecer uma sequência de início (boot) dos servidores baseada na precedência dos serviços em rede:
digraph Boot {
"Sistemas de arquivos" [shape=Mrecord] "Diretórios e autenticação" [shape=Mrecord] "Compartilhamento e publicação de arquivos" [shape=Mrecord] "Comunicação por texto, voz e vídeo" [shape=Mrecord]
"Sistemas de arquivos" -> "Diretórios e autenticação" -> "Compartilhamento e publicação de arquivos" -> "Comunicação por texto, voz e vídeo"
}
</graphviz>Backup
A política adotada é de backup do sistema operacional com periodicidade mensal e arquivos pessoas com periodicidade diária, com prazo máximo de recuperação de 28 dias. Haverá cópias em mídia local e remota.
Pré-Instalação
- Configuração de hardware: ajustes de periféricos.
- Atualização de firmware para todo o hardware, quando disponível.
Instalação
- Sistema adotado: Debian stable para instalação em rede, preferencialmente a versão 64 bits.
Particionamento
- Partição primária para a raiz (/), com 15GB.
- Área de troca (swap) como arquivo regular (/swap com permissões 0400), com tamanho de 2GB (ou RAM + swap = 4GB).
touch /swap
chown root:root /swap
chmod 400 /swap
dd if=/dev/zero of=/swap count=1 bs=2048M
mkswap /swap
echo "/swap none swap sw 0 0" >> /etc/fstab
swapon /swap
- Partição primária para LVM, com adequação para cada necessidade/cenário.
Pós-Instalação
Como os discos de instalação do sistema podem estar desatualizados em relação aos pacotes que o compõem, o primeiro passo após a instalação é atualizar o sistema.
- Configuração do arquivo /etc/apt/sources.list:
deb http://debian.pop-sc.rnp.br/debian stable main contrib non-free deb http://security.debian.org/ stable/updates main contrib non-free
- Atualização do sistema:
aptitude update
aptitude safe-upgrade
aptitude full-upgrade
Ambiente do usuário Root
Aplicativos
- Programas para CLI:
aptitude install less vim bash-completion git keychain
Bash
- /root/.bash_logout
clear
- /root/.bashrc
export PS1='\h:\w\$ '
umask 077
alias ls='ls --color=auto'
alias l='ls -l'
alias ll='l -a'
alias rm='rm -ri'
alias cp='cp -ri'
alias mv='mv -i'
alias grep='grep --color=auto'
export PATH='/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin'
. /etc/bash_completion
if [ -x /usr/bin/keychain ]
then
keychain id_rsa
[ -z "$HOSTNAME" ] && HOSTNAME=‘uname -n‘
[ -f $HOME/.keychain/$HOSTNAME-sh ] && . $HOME/.keychain/$HOSTNAME-sh
[ -f $HOME/.keychain/$HOSTNAME-sh-gpg ] && . $HOME/.keychain/$HOSTNAME-sh-gpg
fi
Git
- Configuração para o usuário root no arquivo /root/.gitconfig:
[user] name = Administrador do Sistema email = coinf.sj@ifsc.edu.br
VIm
- /root/.vimrc
set ic set noai set ts=4 set magic syntax on set hlsearch
Sistema
Uma vez que o sistema já está atualizado e o usuário root tem um ambiente de trabalho mais rico em funcionalidades, pode-se partir para a configuração do sistema de fato. Antes disso, é importante marcar um ponto de partida dos arquivos: uma primeira versão. Foi adotada a ferramenta Git para controle de versão e como política somente os arquivos modificados por um administrador humano serão controlados (sob demanda).
- Criação do repositório no diretório /etc para controle da configuração do sistema:
cd /etc
git init
chmod 700 .git
Após isso, pode-se iniciar o "versionamento" do diretório de configuração do sistema, o diretório /etc/. Porém, antes, é boa prática manter o relógio do sistema alinhado com a hora legal:
aptitude install ntp
Em seguida, faz-se um registro do original para, depois, atribuir como servidor (server) o do NIC.br: pool.ntp.br.
cd /etc
git add ntp.conf
git commit -a -m "Configuração original do serviço NTP."
vi /etc/ntp.conf
service ntp restart
git commit -a -m "NTP configurado para sincronizar com relógio do NIC.br: pool.ntp.br."
Com a primeira versão catalogada, pode-se iniciar a configuração do sistema. Por questão de proteção, o usuário root deve ser o único usuário local com senha e interpretador de comandos (shell) válidos. Demais com interpretador /bin/false (sistema) ou /usr/sbin/nologin (regulares, como LDAP). Depois de modificado o arquivo, é essencial registrar a modificação:
cd /etc
git add passwd
git add shadow
git commit -a -m "Configuração original da lista de usuários e senhas."
vi passwd
vi shadow
git commit -a -m "Somente usuário root com shell válido."
Serviços
Após o sistema, parte-se para a instalação, via pacotes, dos serviços:
aptitude install snmp snmpd ssh
SNMP
No caso do SNMP, será utilizada a versão 2c sem autenticação - considerando que esse serviço poderá ser aproveitado em disciplinas de Telecomunicações, como por exemplo Gerência de Redes.
- Serão monitoradas as conexões TCP dos serviços usando script próprio (/usr/local/sbin/conexoes_tcp).
touch /usr/local/sbin/conexoes_tcp
chmod 755 /usr/local/sbin/conexoes_tcp
vi /usr/local/sbin/conexoes_tcp
Com o conteúdo:
#!/bin/sh
if [ "${1}" -gt 0 -a "${1}" -lt 65536 ]
then
/bin/netstat -ant|grep ":${1} "| grep STAB | wc -l
else
echo "Use: ${0} (porta)"
exit 255
fi
exit 0
- Esse script comporá a configuração do serviço. Antes, o registro do original, modificação para a política do campus e reinício do serviço:
cd /etc/
git add snmp/snmpd.conf
git commit -a -m "Configuração original do serviço SNMP."
vi snmp/snmpd.conf
com o conteúdo:
rocommunity ifsc sysLocation <sala> sysContact coinf.sj@ifsc.edu.br sysServices 72 exec conn_ssh /usr/local/sbin/conexoes_tcp 22 exec conn_http /usr/local/sbin/conexoes_tcp 80
onde <sala> identifica a localização física do equipamento, como por exemplo "RNP" ou "Laboratorio de Desenvolvimento".
Finalizando o processo:
service snmpd restart
git commit -a -m "SNMP somente leitura: versão 2, comunidade ifsc."
SSH
Em relação ao servidor SSH (/etc/ssh/sshd_config), será permitida apenas a conexão utilizando par de chaves pública/privada. Além disso, estará desativado o subsistema SFTP.
cd /etc
git add ssh/sshd_config
git commit -a -m "Configuração original do serviço SSH."
vi ssh/sshd_config
com o seguinte conteúdo:
# Rede Port 22 Protocol 2 # # Certificados do servidor HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key # # Segurança interprocesso UsePrivilegeSeparation yes StrictModes yes # # Sessão KeyRegenerationInterval 3600 ServerKeyBits 768 AcceptEnv LANG LC_* PrintLastLog yes # # Manutenção da sessão TCPKeepAlive yes ClientAliveInterval 30 ClientAliveCountMax 4 # # Log SyslogFacility AUTH LogLevel INFO # # Autenticação LoginGraceTime 120 PermitRootLogin yes Allowusers root RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys IgnoreRhosts yes RhostsRSAAuthentication no HostbasedAuthentication no PermitEmptyPasswords no ChallengeResponseAuthentication no PasswordAuthentication no # # Autorização UsePAM yes
Por fim, o registro do novo arquivo e reinício do serviço:
service ssh restart
git commit -a -m "Serviço SSH apenas com autenticação via certificado."
Para isso, deve-se ter o arquivo da chave pública para o acesso remoto - arquivo /root/.ssh/authorized_keys com permissões mínimas (0400):
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDxhJ4O/n9OEr9bRdIEqp1z2ocGFZrnG6nKBMF4MvMC14rM1R+Ge988dfhe8zylx2+37SYk4+tFia2YJLL5jq5N0nOnoorZq7Tfh+bcwe9x0V0rbGM/nzlVqgBusFzdNWZUQx7y3/dFGmM+Faiwum1c89NzeLjhZFJeXUadJnXSmodiRpjlyKD6StvJ96KefKJIqHf6S/+gch50AFph5MlOakTbylo/4aMRnSvM8kXCugret24Ny/3ELfSP51xmAJSqYYArCfPJmrtFlziv2CRTzPlwF4uK7g6iEkuPmPG4BAmAt/k4bz657oyMrS12pbQlG7HrukrwtLkgmFmIlYYQCwyunNnwjTottqXnYHQB7yaVU6L4sRi658lAqZTbn8/g0PtTsl1ROhEAaTd1ZzhLdycCJme0bHDrXEVFHCEISRIc2WyIf+qGcgM/t+JupyA5OlB3N4kJ2C731wzczhrpdwp83RlO92vofAuHkYskVlBVyUW1EmvcqmlmeWGg0mj5+9I3ST/Ikn0TMilVlLhaK+NEyOL5bxxZn5GAJi3XAbui5yZh6sX6V2l8Bt0sss2Qe1N6IuiASXCq0IZGqhW7eZopFuBfQoYS+RoOYbjB2C7xm0WDl/o72NB4BUMz/OGtlFb8S8DdQAdtO+eqKNb/oUC0aD26m+eHzz1tbfsdsw== root@asimov
Descrição Específica por Máquina
Asimov
- Fabricante: IBM
- Modelo: x3200 M2, 4368
Hardware
- Inserida a interface dual-port Intel Pro-1000T PCI-Express.
Firmware
- Atualizado o firmware de acordo com o pacote UpdateXpress System Pack obtido no site do fabricante.
Disco
- Configuração de RAID 1 (IM Volume) usando 2 discos SATA hot-swap de 250GB:
Resultando em 250GB de espaço disponível em disco:
BIOS
- Configuração na BIOS para iniciar o sistema via CD-ROM ou RAID 1:
- Configuração para sempre (re)iniciar o sistema após recuperação de energia:
Rede
- Todas as interfaces de rede em uma única agregação de enlace[1] (LAG) combinada a interfaces virtuais para acesso às VLANs via porta do switch em modo trunking com LACP[2].
Instalação dos pacotes necessários:
aptitude install ifenslave vlan
cd /etc
git add network/interfaces
git commit -a -m "Configuração original das interfaces de rede."
vi network/interfaces
E configuração de VLAN sobre interface trunking:
auto lo iface lo inet loopback auto eth0 iface eth0 inet manual auto eth1 iface eth1 inet manual auto eth2 iface eth2 inet manual auto bond3 iface bond3 inet manual bond-slaves eth0 eth1 eth2 bond_mode 4 bond_miimon 100 bond_lacp_rate 1 auto vlan1 iface vlan1 inet static address 172.18.1.1 netmask 255.255.255.0 vlan-raw-device bond3 auto vlan110 iface vlan110 inet static address 172.18.110.1 netmask 255.255.255.0 vlan-raw-device bond3 auto vlan120 iface vlan120 inet static address 172.18.120.1 netmask 255.255.255.0 vlan-raw-device bond3 auto vlan200 iface vlan200 inet static address 172.18.200.1 netmask 255.255.255.0 vlan-raw-device bond3
e finalizando:
service networking restart
git commit -a -m "Interfaces Ethernet em LAG 1 e VLANs: 001 (default), 110 (lan_admin), 120 (lan_educ) e 200 (lan_midia)."
Serviços
- SSH
- TFTP
Clarke
- Fabricante: HP
- Modelo: Proliant DL360 G6
Firmware
- Atualizado o firmware de acordo com o pacote Smart Update Firmware DVD obtido no site do fabricante.
BIOS
- Desativado o início (boot) pelas interfaces de rede:
- Configuração para sempre (re)iniciar o sistema após recuperação de energia:
Rede
- Todas as interfaces de rede em uma única agregação de enlace (LAG) combinada a interfaces virtuais para acesso às VLANs via porta do switch em modo trunking com LACP.
Referências