Introducció
Requisits previs
Pas 1: creeu un compte d'usuari estàndard
Pas 2: no permeteu l'inici de sessió arrel i l'autenticació de contrasenya
Pas 3: configureu la zona horària
Pas 4: habiliteu el tallafoc IPTables
Pas 5: permeteu trànsit addicional a través del tallafoc
Introducció
Un servidor CentOS 7 recentment activat s'ha de personalitzar abans que es pugui utilitzar com a sistema de producció. En aquest article, les personalitzacions més importants que haureu de fer es donen d'una manera fàcil d'entendre.
Requisits previs
Un servidor CentOS 7 recentment activat, preferiblement configurat amb claus SSH. Inicieu sessió al servidor com a root.
ssh -l root server-ip-address
Pas 1: creeu un compte d'usuari estàndard
Per motius de seguretat, no és aconsellable realitzar tasques informàtiques diàries amb el compte root. En lloc d'això, es recomana crear un compte d'usuari estàndard que s'utilitzarà sudoper obtenir privilegis administratius. Per a aquest tutorial, suposem que estem creant un usuari anomenat joe . Per crear el compte d'usuari, escriviu:
adduser joe
Establiu una contrasenya per al nou usuari. Se us demanarà que introduïu i confirmeu una contrasenya.
passwd joe
Afegiu el nou usuari al grup de rodes perquè pugui assumir els privilegis de root mitjançant sudo.
gpasswd -a joe wheel
Finalment, obriu un altre terminal a la vostra màquina local i utilitzeu l'ordre següent per afegir la vostra clau SSH al directori inicial del nou usuari al servidor remot. Se us demanarà que us autentiqueu abans d'instal·lar la clau SSH.
ssh-copy-id joe@server-ip-address
Un cop instal·lada la clau, inicieu sessió al servidor amb el nou compte d'usuari.
ssh -l joe server-ip-address
Si l'inici de sessió té èxit, podeu tancar l'altre terminal. A partir d'ara, totes les ordres aniran precedides de sudo.
Pas 2: no permeteu l'inici de sessió arrel i l'autenticació de contrasenya
Com que ara podeu iniciar sessió com a usuari estàndard amb claus SSH, una bona pràctica de seguretat és configurar SSH de manera que l'inici de sessió d'arrel i l'autenticació de la contrasenya no estiguin permeses. Tots dos paràmetres s'han de configurar al fitxer de configuració del dimoni SSH. Per tant, obriu-lo amb nano.
sudo nano /etc/ssh/sshd_config
Busqueu la línia PermitRootLogin , descomenteu-la i establiu el valor a no .
PermitRootLogin no
Fes el mateix per a la PasswordAuthenticationlínia, que ja no s'hauria de comentar:
PasswordAuthentication no
Desa i tanca el fitxer. Per aplicar la nova configuració, torneu a carregar SSH.
sudo systemctl reload sshd
Per defecte, l'hora al servidor es dóna en UTC. El millor és configurar-lo per mostrar la zona horària local. Per aconseguir-ho, localitzeu el fitxer de zona del vostre país/àrea geogràfica al /usr/share/zoneinfodirectori i creeu-ne un enllaç simbòlic al /etc/localtimedirectori. Per exemple, si sou a la part oriental dels EUA, creareu l'enllaç simbòlic amb:
sudo ln -sf /usr/share/zoneinfo/US/Eastern /etc/localtime
Després, verifiqueu que l'hora es dóna ara en hora local executant l' dateordre. La sortida hauria de ser semblant a:
Tue Jun 16 15:35:34 EDT 2015
L' EDT a la sortida confirma que és l'hora local.
Pas 4: habiliteu el tallafoc IPTables
De manera predeterminada, l'aplicació del tallafoc activa en un servidor CentOS 7 recentment activat és FirewallD. Tot i que és un bon substitut per a IPTables, moltes aplicacions de seguretat encara no tenen suport per a això. Per tant, si utilitzeu alguna d'aquestes aplicacions, com ara OSSEC HIDS, el millor és desactivar/desinstal·lar FirewallD.
Comencem desactivant/desinstal·lant FirewallD:
sudo yum remove -y firewalld
Ara, instal·lem/activem IPTables.
sudo yum install -y iptables-services
sudo systemctl start iptables
Configureu IPTables perquè s'iniciï automàticament en el moment de l'arrencada.
sudo systemctl enable iptables
IPTables a CentOS 7 inclou un conjunt de regles per defecte, que podeu veure amb l'ordre següent.
sudo iptables -L -n
La sortida s'assemblarà a:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Podeu veure que una d'aquestes regles permet el trànsit SSH, de manera que la vostra sessió SSH és segura.
Com que aquestes regles són regles d'execució i es perdran en reiniciar, és millor desar-les en un fitxer amb:
sudo /usr/libexec/iptables/iptables.init save
Aquesta ordre desarà les regles al /etc/sysconfig/iptablesfitxer. Podeu editar les regles en qualsevol moment canviant aquest fitxer amb el vostre editor de text preferit.
Pas 5: permeteu trànsit addicional a través del tallafoc
Com que el més probable és que utilitzeu el vostre nou servidor per allotjar alguns llocs web en algun moment, haureu d'afegir regles noves al tallafoc per permetre el trànsit HTTP i HTTPS. Per aconseguir-ho, obriu el fitxer IPTables:
sudo nano /etc/sysconfig/iptables
Just després o abans de la regla SSH, afegiu les regles per al trànsit HTTP (port 80) i HTTPS (port 443), de manera que aquesta part del fitxer aparegui com es mostra al bloc de codi següent.
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
Deseu i tanqueu el fitxer i torneu a carregar IPTables.
sudo systemctl reload iptables
Un cop completat el pas anterior, el vostre servidor CentOS 7 hauria d'estar raonablement segur i estar preparat per utilitzar-lo en producció.