Configuração inicial necessária quando o CentOS é instalado.


Data de Publicação:8 de Dezembro de 2020.



INFOMARTION > Configuração inicial necessária quando o CentOS é instalado.

Visão geral.

Esta secção descreve as primeiras configurações necessárias após a instalação do CentOS. É construído usando CentOS 7.6 (1810).

Tabela de Conteúdos

  1. configuração básica
  2. resumo

1. configuração básica

Esta secção descreve as configurações básicas necessárias imediatamente após a instalação do CentOS.

1-1. Verificação do sistema operativo

Primeiro, verifique se tem o sistema operativo correcto instalado.

[root@hostname ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

O 'CentOS Linux release 7.6.1810 (Core)' é o sistema operativo instalado. Verificar se está correcto.

1-2. Instalar a ferramenta

Imediatamente após a instalação, comandos básicos como o ifconfig não podem ser executados. Por conseguinte, a instalação é levada a cabo de modo a que os comandos básicos de rede e outros comandos possam ser executados por comandos yum.

Se for necessário, por favor, realize isto, pois é possível modernizar o que já foi instalado com 'yum -y update'.

[root@hostname ~]# yum install -y net-tools
[root@hostname ~]# yum install -y wget
[root@hostname ~]# yum install -y tcpdump
[root@hostname ~]# yum install -y traceroute

net-tools・・・O comando ifconifg e outros podem ser utilizados após a instalação.

wget・・・Literalmente, mas o comando wget pode ser usado. Em resumo, este comando envia um pedido http.

tcpdump・・・Literalmente, mas o comando tcpdump pode ser usado. Em suma, pode monitorizar os pedidos enviados para o servidor.

traceroute・・・Literalmente, mas o comando traceroute pode ser utilizado. Resumidamente, mostra a rota do IP de destino.

1-3. Desactivar o selinux

Desactivar o selinux tal como está activado e pode comportar-se de forma inesperada.

Para começar, o selinux é um cenário relacionado com a segurança. Se for capaz de o utilizar, pode activá-lo, mas se for difícil, desactivá-lo. A desactivação do selinux não torna necessariamente a segurança vulnerável.É mais provável que cause problemas se for permitido, mesmo que eu pessoalmente não o compreenda bem. A explicação simples é que o selinux é uma medida de segurança depois de o servidor ter sido violado (configurado para minimizar os danos em caso de violação), por isso é bastante mais importante tomar medidas de segurança para evitar que o servidor seja violado.

Abaixo estão os passos para a desactivação.

[username@hostname ~]$ getenforce
Disabled

Se não for 'Deficiente', pode ser alterado utilizando o seguinte procedimento.

[username@hostname ~]$ vi /etc/selinux/config


config【Antes da mudança】


SELINUX=enforcing


config【após a mudança】


SELINUX=disabled

SELINUX' e 'SELINUXTYPE', mas é o 'SELINUX' que precisa de ser alterado. Note que se mudar o "SELINUXTYPE" por engano, o servidor não iniciará.

Reinicie o servidor e a configuração terá efeito.

1-4. utilizador operacional adicional

Iniciar sessão e trabalhar como utilizador root é perigoso, por isso adicione um utilizador para iniciar sessão. Numa etapa subsequente, desactivar o login do utilizador root.

O risco de trabalhar como utilizador root logged in é que pode fazer tudo o que quiser. O risco de poder fazer qualquer coisa é que poderia alterar ou apagar acidentalmente alterações importantes relacionadas com o sistema operativo. Se está a utilizar o servidor para uso pessoal, como hobby ou estudo, e não comete erros tão comuns, pessoalmente não vejo qualquer problema em iniciar sessão como utilizador root. A razão número um para não permitir que o utilizador root inicie a sessão é a separação de poderes. A equipa de desenvolvimento de aplicações utiliza utilizadores que apenas tocam no directório para o desenvolvimento de aplicações. A equipa de desenvolvimento de lotes utiliza utilizadores que apenas tocam no directório de desenvolvimento de lotes. É melhor separar os utilizadores para que as equipas necessárias possam tocar nos directórios necessários, tais como

Abaixo estão os passos para adicionar utilizadores.

[root@hostname ~]# useradd xxxxxx
[root@hostname ~]# passwd xxxxxx

※xxxxxxxx é o nome do utilizador a ser adicionado. Definir qualquer palavra-passe.

1-5. Alterar a palavra-passe do utilizador root

Se não for o utilizador root, mude para o utilizador root com su - e execute o seguinte comando

[username@hostname ~]$ su -
[root@hostname ~]# passwd

※Definir qualquer palavra-passe.

Nunca abandonar a palavra-passe inicial. A palavra-passe 'raiz' é a pior. As palavras-passe "password" e "1234" são também bastante perigosas. Um mínimo de oito dígitos, incluindo símbolos alfanuméricos, é bom.

Esta definição de senha é bastante importante para as medidas de segurança e deve ser definida com o maior cuidado. Alterar a palavra-passe do utilizador de raiz é bastante básico, mas tenha em atenção que já ouvimos muitas histórias de incidentes de segurança causados por isto. Não assuma que ninguém irá atacar o seu servidor porque é pequeno em tamanho. O atacante acede a um servidor aleatório com o nome de utilizador 'root' e a palavra-passe 'root'.

1-6. Configuração para proibir logins por utilizadores não-operacionais (proíbe logins por utilizador root e outros utilizadores).

Limitar o número de utilizadores que podem entrar no sistema. Em particular, não deve ser permitido aos utilizadores de raiz iniciar a sessão. Se estiver ligado como raiz, é igual a todas as medidas de segurança estar desactivado.

Abaixo estão os passos para desactivar o login do utilizador root e adicionar utilizadores que possam iniciar sessão. Mudar para utilizador root e depois alterar o ficheiro de configuração. (É possível mudar para utilizador root com 'su-', só para não poder entrar no sistema).

[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config


sshd_config【Antes da mudança】


#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10


sshd_config【após a mudança】


#LoginGraceTime 2m
PermitRootLogin no
AllowUsers xxxxxx
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

※xxxxxxxx é o nome de utilizador operacional que acabou de adicionar.


Um ponto a notar aqui é que se o nome AllowUsers estiver errado, ninguém será capaz de iniciar sessão, portanto verifique cuidadosamente os nomes dos utilizadores.

Verifique a sintaxe e reinicie o sshd.

[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd

Uma vez que tenha feito o logout e confirmado que não pode entrar como root e que pode entrar como o utilizador operacional adicionado, está feito.


1-7. sincronização de tempo

Verificar se a hora está sincronizada. Por vezes a hora do servidor não está sincronizada, pelo que a data e a hora de saída do registo é produzida a uma hora diferente da esperada e leva muito tempo a analisar o problema.

Verificar o arranque do processo de sincronização da hora (chronyd). Verificar o estado de sincronização da hora. Note que CentOS7 é 'chronyd', mas mais cedo é 'ntpd', por isso tenha cuidado se estiver no 6 ou mais cedo.

[root@hostname ~]# ps aux | grep chronyd
chrony     567  0.0  1.3 117804 13664 ?        SL    5月04   0:04 /usr/sbin/chronyd
root     32489  0.0  0.0 112732   972 pts/1    S+   16:30   0:00 grep --color=auto chronyd
[root@hostname ~]# timedatectl
      Local time: dia (do mês) 2020-11-29 16:30:43 JST
  Universal time: dia (do mês) 2020-11-29 07:30:43 UTC
        RTC time: dia (do mês) 2020-11-29 07:30:43
       Time zone: Asia/Tokyo (JST, +0900)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a

Não há problema se 'Hora local' corresponder à hora actual, 'NTP activado' é sim e 'NTP sincronizado' é sim.


1-8. Definições de autenticação chave

Para os utilizadores operacionais que acabou de acrescentar, permita-lhes que entrem apenas com autenticação chave.

A simples desactivação da autenticação por palavra-passe aumenta consideravelmente a segurança. No caso de autenticação de senha, se utilizar uma senha complexa, não será basicamente iniciado sessão, mas a possibilidade não é de zero por cento. No entanto, no caso de autenticação da chave, só poderá iniciar sessão se tiver a chave em primeiro lugar, pelo que, desde que administre correctamente a sua chave, não entrará no sistema.

Segue-se o procedimento para o estabelecimento da autenticação chave.

[username@hostname ~]$ su - xxxxxx
[xxxxxx@hostname ~]$ ssh-keygen -t rsa -b 2048

※xxxxxxxx é o nome do utilizador operacional adicional.

※Após executar o comando "ssh-keygen -t rsa -b 2048", ser-lhe-á pedida uma resposta, todos os valores por defeito e premir "Enter". Configurar também sem palavra-passe. (A introdução de uma palavra-passe fornece segurança adicional como autenticação de chave mais autenticação de palavra-passe, mas neste caso não é assumida qualquer palavra-passe).


Em seguida, verificar se a chave foi criada.

[xxxxxx@hostname ~]$ ll /home/xxxxxx/.ssh

※xxxxxxxx é o nome do utilizador operacional adicional.

Verificar se a chave privada "id_rsa" chave pública "id_rsa.pub" está armazenada.

Renomear a chave pública e mover o directório para descarregar a chave privada.

[xxxxxx@hostname ~]$ mv /home/xxxxxx/.ssh/id_rsa.pub /home/xxxxxx/.ssh/authorized_keys
[xxxxxx@hostname ~]$ mv /home/xxxxxx/.ssh/id_rsa /home/xxxxxx/id_rsa

※xxxxxxxx é o nome do utilizador operacional adicional.

Apagar a chave privada (id_rsa) do servidor depois de a mover localmente.

Mudar /home/xxxxxxxx/id_rsa para o local. (Ir para, por exemplo, WinSCP).

Após a mudança, executar o comando de apagar.

[xxxxxx@hostname ~]$ rm /home/xxxxxx/id_rsa

※xxxxxxxx é o nome do utilizador adicionado no passo (3).

Isto completa a configuração da chave de autenticação. Verifique se pode iniciar sessão com a chave privada que criou.

Assim que tiver confirmação de que pode iniciar sessão, o último passo é alterar as definições para que não possa iniciar sessão utilizando a verificação de palavra-passe.

[username@hostname ~]$ su -
[root@hostname ~]# vi /etc/ssh/sshd_config


sshd_config【Antes da mudança】


PasswordAuthentication yes


sshd_config【após a mudança】


PasswordAuthentication no

Verifique a sintaxe e reinicie o sshd.

[root@hostname ~]# /usr/sbin/sshd -t
[root@hostname ~]# systemctl restart sshd

Isto completa a configuração da chave de autenticação.


2. resumo

Descrevemos a configuração inicial necessária quando o CentOS é instalado.

A informação contida neste artigo é o mínimo que deve ser implementado aquando da instalação do CentOS, por isso, se sentir que existem deficiências após a leitura deste artigo, por favor tente configurá-las.

Obrigado por ter observado até ao fim.