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
- configuração básica
- 1-1. Verificação do sistema operativo
- 1-2. Instalar a ferramenta
- 1-3. Desactivar o selinux
- 1-4. utilizador operacional adicional
- 1-5. Alterar a palavra-passe do utilizador root
- 1-6. Configuração para proibir logins por utilizadores não-operacionais (proíbe logins por utilizador root e outros utilizadores).
- 1-7. sincronização de tempo
- 1-8. Definições de autenticação chave
- 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
SELINUX=enforcing
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
#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#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
PasswordAuthentication yes
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.
■INFORMATION
Por favor clique aqui para ir para a página superior de INFORMAÇÃO.
■PROFILE
Por favor clique aqui para um perfil.
■Detalhes de contacto.