Mudanças entre as edições de "CTIC:Servidores"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 154: Linha 154:
  
 
===SSHd===
 
===SSHd===
* <tt>/etc/ssh/sshd_config</tt>
+
Em relação ao servidor SSH (<tt>/etc/ssh/sshd_config</tt>), será permitida apenas a conexão utilizando par de chaves pública/privada. Além disso, estará desativado o subsistema SFTP:
 
  # Rede
 
  # Rede
 
  Port 22
 
  Port 22

Edição das 23h08min de 24 de novembro de 2011

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:
<graphviz>

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

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

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. Foi adotada a ferramenta Git para controle de versão.

  • Instalação da aplicação:
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

Após o sistema, parte-se para a instalação, via pacotes, dos serviços:

aptitude install snmp snmpd ssh
cd /etc
git commit -a -m "Instalação dos pacotes snmpd e ssh com configuração padrão."

SNMPd

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):
#!/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, em /etc/snmp/snmpd.conf
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".

SSHd

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:

# 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

auto bond0.1
iface bond0.1 inet static
    address 10.0.1.1
    netmask 255.255.255.0

auto bond0.110
iface bond0.110 inet static
    address 10.0.110.1
    netmask 255.255.255.0
    gateway 10.0.110.254

Referências



Voltar para Rede