CTIC:Servidores
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) baseada na precedência dos serviços em rede:
- Sistema de arquivos
- Diretórios e autenticação
- Compartilhamento de arquivos
- Comunicação (e-mail, comunicação instantânea, etc.).
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).
- 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/ debian/stable 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 snmp
Bash
- ~/.bash_logout
clear
- ~/.bashrc
export PS1='\h:\w\$ '
umask 077
alias ls='ls --color=auto'
alias l='ls $LS_OPTIONS -l'
alias ll='ls $LS_OPTIONS -la'
alias rm='rm -ri'
alias cp='cp -ri'
alias mv='mv -i'
alias grep='grep --color=auto'
export PATH="/root/scripts:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
. /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
VIm
- ~/.vimrc
set ic set noai set ts=3 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.
- Instalação do controle de versão Git:
aptitude install git
- Configuração para o usuário root no arquivo /root/.gitconfig:
[user] name = Administrador do Sistema email = coinf.sj@ifsc.edu.br
Após isso, pode-se iniciar o "versionamento" do diretório de configuração do sistema, o diretório /etc/:
cd /etc
git init
git add .
git commit -a -m "População inicial de arquivos."
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
vi passwd
vi shadow
git commit -a -m "Somente usuário root com shell válido."
Serviços
- Instalação dos pacotes:
aptitude install snmpd ssh
cd /etc
git commit -a -m "Instalação dos pacotes snmpd e ssh com configuração padrão."
SNMPd
- /usr/local/sbin/conexoes_tcp (executável: 0755)
#!/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
- /etc/snmp/snmpd.conf
rocommunity ifsc monitoramento.sj.ifsc.edu.br 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".
SSHd
- /etc/ssh/sshd_config
# 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 # # Subsistema Subsystem sftp /usr/lib/openssh/sftp-server # # Autorização UsePAM yes
Por fim, reinício dos serviços e registro das modificações:
service snmpd restart
service ssh restart
cd /etc
git commit -a -m "Configurados os serviços SNMPd e SSH de acordo com a política do campus."
Descrição Específica por Máquina
Monitoramento
- 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 (LAG) combinada a interfaces virtuais para acesso às VLANs via porta do switch em modo trunking:
- VLAN 1: 10.0.1.1/24
- VLAN lan_admin: 10.0.110.1/24