Vamos agora configurar o nosso servidor SSH afim de obter uma melhor segurança e entender como funciona alguns dos principais parâmetros que definimos no arquivo de configuração.
Edite o arquivo /etc/ssh/sshd_config e defina o seu conteúdo conforme abaixo:
# Define a porta que será usada na conexão
Port 2222
# Altera o intervalo em segundos para gerar uma nova chave criptográfica
# afim de manter a segurança caso a chave seja revelada durante
# uma conexão ssh, e muito importante manter essa opção
KeyRegenerationInterval 1800
# Valor em bits da criptografia
ServerKeyBits 768
# Sistema de logs que são gerados
SyslogFacility AUTH
LogLevel INFO
# Usuários permitidos a usar o ssh e claro, bloqueando acesso root
AllowUsers mestre pequenogrilo
PermitRootLogin no
# Ignora conexões do tipo rhosts, afim de melhorar a segurança
RhostsRSAAuthentication no
IgnoreRhosts yes
# Exige autenticação
PasswordAuthentication yes
PermitEmptyPasswords no
# Define o sistema de ftp criptografado, sftp
Subsystem sftp /usr/libexec/sftp-server
Agora reinicie o serviço SSHD, caso não esteja iniciado, faça o seguinte:
# chmod 700 /etc/rc.d/rc.sshd
# /etc/rc.d/rc.sshd restart
Com isso iniciamos o nosso servidor SSH e vale lembrar que ele não está rodando na porta 22 e sim na 2222, afim de melhorar um pouco a segurança, e embora seja uma porta boba no exemplo, seria interessante depois alterar pra uma porta ainda mais alta.
O principal motivo para isso é evitar PostScan e levantamento de informações, pois são poucos os que se preocupam em passar scan em portas altas, e mesmo que o façam, se não pensarem direitinho, vão passar 200 dias em um PortScan inútil até chegar em uma porta qualquer sem a menor idéia do que está ou não rodando ali.
Mas ainda não terminamos, vamos criar 2 usuários para conectar ao SSH, 1 deles terá acesso shell, já o outro não, pois esse será usado apenas para gerar os nossos backup, ou você gosta de sair distribuindo acesso shell à sua máquina assim sem mais nem menos? Afinal, esse foi um dos problemas que listamos no início da leitura não foi? Vamos então começar a solucioná-lo.
Para criar os usuários, basta:
# mkdir -p /home/mestre/.ssh
# mkdir -p /home/pequenogrilo/.ssh
Com isso criamos os diretórios e já um subdiretório que no futuro vamos usar.
Agora criemos os grupos e usuários:
# groupadd mestre
# useradd mestre -s /bin/bash -d /home/mestre -g mestre
# groupadd pequenogrilo
# useradd pequenogrilo -s /bin/bash -d /home/pequenogrilo -g pequenogrilo
Damos agora as permissões corretas para cada um deles:
# chmod -R 700 /home/mestre
# chmod -R 700 /home/pequenogrilo
# chown -R mestre.mestre /home/mestre
# chown -R pequenogrilo.pequenogrilo /home/pequenogrilo
Defina uma senha para cada usuário:
# passwd mestre
# passwd pequenogrilo
Mas espera aí!? Você disse que não iria permitir acesso shell a um dos usuários, então porque você deixou o shell padrão dele como sendo "/bin/bash"?
E eu lhe digo, calma pequeno grilo, tudo a seu tempo.