CTIC:Servidores

De MediaWiki do Campus São José
Revisão de 23h15min de 23 de novembro de 2011 por Etorresini (discussão | contribs) (→‎Rede)
Ir para navegação Ir para pesquisar

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:
    1. Sistema de arquivos
    2. Diretórios e autenticação
    3. Compartilhamento de arquivos
    4. 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

Particionamento

  1. Partição primária para a raiz (/), com 15GB.
    1. Área de troca (swap) como arquivo regular (/swap com permissões 0400), com tamanho de 2GB (ou RAM + swap = 4GB).
  2. 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:

Instalação dos pacotes necessários:

aptitude install ifenslave vlan

E o arquivo /etc/network/interfaces fica assim[1]:

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 bond0
iface bond0 inet manual
    bond-slaves eth0 eth1 eth2
    bond-mode 0
    bond-miimon 100

Referências



Voltar para Rede