Quan crea un nou servidor Debian 9 per primera vegada, hi ha alguns passos de configuració que ha de seguir al principi com a part de la configuració bàsica. Això augmentarà la seguretat i la facilitat d'ús del seu servidor i li brindarà una base sòlida per a accions posteriors.
En aquest article veurem:
- Com crear un usuari amb privilegis de superusuari.
- Autenticació basada en clau SSH (opcional).
- Configuració d'un tallafoc (Fireway).
- Habilitar l'accés extern per un usuari regular.
- Instal·lació de pàgines man.
- Canviar l'editor predeterminat.
- Zona Horària.
- Actualitzar Debian.
Crea un usuari amb privilegis de superusuari
1.- Iniciar sessió com Root
Si durant la instal·lació ja heu configurat un compte de superusuari sota el vostre nom, o com en la guia Debian 9 Server - Instal·lació del Sistema Base heu configurat durant la instal·lació dos comptes un per root i altre com usuari normal sota el vostre nom, podeu ometre aquest pas.
Per iniciar sessió en el seu servidor, haurà de conéixer l'adreça IP pública del seu servidor. També necessitarà la contrasenya, o si va instal·lar una clau SSH per a l'autenticació, la clau privada per al compte de l'usuari root. Si encara no s'ha iniciat la sessió al servidor, pot seguir la nostra guia Debian 9 Server - Accés Remot sobre com connectar al seu servidor amb SSH, que cobreix aquest procés en detall.
Si encara no està connectat al seu servidor, continue i entreu com a usuari root amb la següent ordre (substituesca la part ressaltada de la comanda amb l'adreça IP pública del servidor):
ssh root@ip_servidor
Accepteu l'advertiment sobre l'autenticitat del host si apareix. Si utilitzeu l'autenticació de contrasenya, proporcione la contrasenya de root per iniciar sessió. Si està usant una clau SSH que està protegida amb contrasenya, és possible que se li demane ingressar la contrasenya la primera vegada que feu servir la clau en cada sessió. Si és la primera vegada que s'inicia sessió al servidor amb una contrasenya, és possible que se li demane que canvie la contrasenya de root.
Sobre Root
L'usuari root és l'usuari administratiu en un entorn Linux que té privilegis molt amplis. A causa dels privilegis augmentats del compte root, no es recomana utilitzar-lo regularment. Això es deu al fet que part del poder inherent al compte root és la capacitat de realitzar canvis molt destructius, fins i tot per accident.
El següent pas és configurar un compte d'usuari alternatiu amb un abast d'influència reduït per al treball diari. Li ensenyarem com obtenir majors privilegis en els moments en què els necessite.
2.- Crear un Nou Usuari
Un cop hàgeu iniciat la sessió com a root, afegirem el nou compte d'usuari que utilitzarem per iniciar sessió des d'ara.
Nota: en alguns entorns, un paquet anomenat unscd pot instal·lar per defecte per accelerar les sol·licituds de noms de servidors com LDAP. La versió més recent disponible actualment en Debian conté un error que fa que certes ordres (com ara l'ordre adduser) produesquen resultats addicionals que s'assemblen a açò:
sent invalidate(passwd) request, exiting
sent invalidate(group) request, exiting
Aquests missatges són inofensius, però si voleu evitar-los, és segur eliminar el paquet unscd si no teniu pensat usar sistemes com LDAP per a la informació de l'usuari:
apt remove unscd
Aquest exemple crea un nou usuari anomenat roig, però ha de reemplaçar amb un nom d'usuari que li agrade:
adduser roig
Se us farà algunes preguntes, començant amb la contrasenya del compte. Introduïu una contrasenya segura i, opcionalment, complete qualsevol informació addicional si ho desitja. Això no és obligatori i pots pressionar ENTER en qualsevol camp que vulgues ometre.
3.- Atorgar privilegis administratius
Ara, tenim un nou compte d'usuari amb privilegis de compte regulars. No obstant això, de vegades podem necessitar tasques administratives. Per evitar haver de tancar la sessió del nostre usuari normal i tornar a iniciar sessió com el compte de root, podem configurar el que es coneix com a root o privilegis de root per al nostre compte normal. Això permetrà al nostre usuari normal executar ordres amb privilegis administratius posant la paraula sudo abans de cada ordre.
Per afegir aquests privilegis al nostre nou usuari, ens cal afegir el nou usuari al grup sudo. Per defecte, en Debian 9, els usuaris que pertanyen al grup sudo poden usar la comanda sudo. Com a root, executeu aquesta ordre per afegir el seu nou usuari al grup sudo (substituïsca la paraula ressaltada amb el seu nou usuari):
usermod -aG sudo roig
Ara, quan entreu com el seu usuari habitual, pot escriure sudo abans de les ordres per realitzar accions amb privilegis de superusuari.
Si com a cas d'aquesta guia, Debian 9 Server - Instal·lació del Sistema Base Heu configurat durant la Instal·lació dos comptes, un per root i altre com usuari normal sota el vostre nom, no és necessari afegir el nou usuari al grup sudo.
Ara podrem canviar de compte, tant d'usuari normal a root, com de root a usuari normal, utilitzant l'ordre 'su' (substituir usuari) i introduint el nom d'usuari i la contrasenya de l'usuari. Si estem com a usuari regular sense privilegis de superusuari, i volem passar al compte root:
roig@server-angles:~$ su - root
Contraseña:
root@server-angles:~#
Configure l'autenticació basada en clau SSH (opcional)
Podeu saltar aquest pas, però és recomanable per a una major seguretat. A més d'oferir seguretat addicional, l'autenticació de claus SSH pot ser més convenient que l'autenticació de contrasenya més tradicional. Consulteu la següent guia:
How to Set Up SSH Keys on Debian 9
Configuració d'un tallafoc (Fireway)
Els servidors Debian poden utilitzar tallafocs per assegurar-se que només es permeten connexions a certs serveis. Tot i que el servidor d'iptables està instal·lat per defecte, Debian no recomana cap servidor de seguretat específic. En aquesta guia, instal·larem i farem servir el firewall UFW per a ajudar a establir polítiques i administrar excepcions.
Podem fer servir el gestor de paquets apt per a instal·lar UFW. Actualitzeu l'índex local per recuperar la informació més recent sobre els paquets disponibles i després instal·le el tallafoc escrivint:
root@server-angles:~# apt update
root@server-angles:~# apt install ufw
Nota: Si els seus servidors s'executen en DigitalOcean, pot utilitzar opcionalment els tallafocs en el núvol de DDigitalOcean (DigitalOcean Cloud Firewalls), en lloc del Fireway UFW. Recomanem fer servir només un tallafoc alhora per evitar regles conflictives que poden ser difícils de depurar.
Els perfils de tallafocs permeten UFW administrar conjunts de regles del fireway de aplicacions per nom. Els perfils per alguns programes comuns s'inclouen en UFW per defecte i els paquets poden registrar perfils addicionals amb UFW durant el procés d'instal·lació. OpenSSH, el servei que ens permet connectar-nos al nostre servidor ara, té un perfil de tallafocs que podem utilitzar. Pots veure això escrivint:
root@server-angles:~# ufw app list
Available applications:
AIM
Bonjour
[...........]
SSH
[...........]
qBittorrent
svnserve
root@server-angles:~#
Ens hem d'assegurar que el tallafoc permeta connexions SSH perquè puguem tornar a iniciar sessió la pròxima vegada. Podem permetre aquestes connexions escrivint:
root@server-angles:~# ufw allow OpenSSH
Rules updated
Rules updated (v6)
root@server-angles:~#
Després, podem habilitar el tallafoc escrivint:
root@server-angles:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
root@server-angles:~#
Premeu 'y' i ENTER si es demana amb una advertència, "El comandament pot interrompre les connexions ssh existents. Continuar amb l'operació (y|n)?".
Per comprovar l'estat del tallafoc, executeu:
root@server-angles:~# ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
root@server-angles:~#
Ací podem veure la regla OpenSSH que acabem d'afegir.
Si heu configurat el dimoni SSH per utilitzar un port diferent, haurà d'especificar el port apropiat. Per exemple, si el seu servidor SSH està escoltant pel port 2233, pot utilitzar aquesta ordre per permetre connexions en aquest port i amb el protocol TCP:
root@server-angles:~# ufw allow 2233/tcp
Rules updated
Rules updated (v6)
root@server-angles:~#
Per comprovar l'Estat del Tallafoc, podeu executar ufw status verbose. Amb aquesta ordre obtindrem més informació:
root@server-angles:~# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
2233/tcp ALLOW IN Anywhere
2233/tcp (v6) ALLOW IN Anywhere (v6)
Si desitgen eliminar una de les regles, podeu fer ús de 'ufw delete acció nom/número_regla', per eixample si desitgen eliminar la regla creada per a OpenSSH:
ufw delete allow OpenSSH
Si desitgen desactivar la ufw per complet i eliminar totes les regles, podeu fer ús de:
ufw reset
Després poden començar de nou (fresc i net) amb:
sudo ufw enable
El fireway està bloquejant actualment totes les connexions, excepte SSH, si instal·la i configura serveis addicionals, haurà d'ajustar la configuració del tallafoc per permetre el trànsit. Pot aprendre algunes operacions comuns del UFW en aquesta guia:
UFW Essentials: Common Firewall Rules and Commands
Habilitar l'accés extern per un usuari regular
Ara que tenim un usuari regular per a l'ús diari, hem d'assegurar que puguem ingressar directament al compte amb SSH.
Nota: Fins que verifique que podeu entrar i usar sudo amb el seu nou usuari, us recomanem que es registre com a root. D'aquesta manera, si té problemes, pot solucionar problemes i fer els canvis necessaris com a root. Si utilitzeu un Droplet de DigitalOcean i té problemes amb la seua connexió SSH de root, podeu entrar al Droplet utilitzant la consola de DigitalOcean:
El procés per configurar l'accés SSH per al seu nou usuari depén de si el compte root del vostre servidor fa servir una clau o claus SSH per a l'autenticació.
Si el compte root fa servir autenticació de contrasenya
Si va iniciar la sessió al compte de root amb una contrasenya, llavors l'autenticació de contrasenya està habilitada per SSH. Podeu introduir SSH al seu nou compte d'usuari obrint una nova sessió de terminal i usant SSH amb el seu nou nom d'usuari:
ssh roig@ip_servidor
Si el compte Root utilitza l'autenticació de clau SSH
Si va iniciar la sessió al compte arrel amb les claus SSH, l'autenticació de la contrasenya es deshabilita per SSH. Haurà d'afegir una còpia del seu clau pública local a l'arxiu ~/.ssh/authorized_keys del nou usuari per iniciar sessió correctament.
Tenint en compte que la seua clau pública ja està a l'arxiu ~/.ssh/authorized_keys el compte arrel en el servidor, podem copiar aquest arxiu i l'estructura de directoris en el nostre nou compte d'usuari a la nostra sessió existent amb l'ordre cp. Després, podem ajustar la propietat dels arxius fent servir l'ordre chown.
Assegureu-vos de canviar les parts ressaltades de la següent ordre perquè coincidisca amb el nom del seu usuari habitual:
cp -r ~/.ssh /home/roig
chown -R roig:roig /home/roig/.ssh
Ara, obriu una nova sessió de terminal i utilitzeu SSH amb el seu nou nom d'usuari:
ssh roig@ip_servidor
Se li sol·licitarà la contrasenya d'usuari regular quan faça servir sudo per primera vegada en cada sessió (i després periòdicament).
Instal·lació de pàgines man
Debian proporciona extensos manuals per a la majoria dels programes en forma de pàgines de manual. No obstant això, l'ordre man, no sempre s'inclou per defecte en instal·lacions mínimes. Instal·leu el paquet, man-db per instal·lar l'ordre man i les bases de dades manuals:
root@server-angles:~# apt install man-db
Ara, per veure el manual d'un component, pot escriure:
man ordre
Per exemple, per veure el manual de l'ordre top escriviu:
man top
La majoria dels paquets en els repositoris de Debian inclouen pàgines de manuals com a part de la seua instal·lació.
Canviar l'editor predeterminat
Debian ofereix una àmplia varietat d'editors de text, alguns dels quals estan inclosos en el sistema base. Les comandes amb suport d'editor integrat, com visudo i systemctl edit, passen el text a l'ordre de l'editor, que s'assigna a l'editor per defecte del sistema. Configurar l'editor predeterminat d'acord amb les seues preferències, pot ajudar-lo a configurar el sistema més fàcilment i evitar la frustració. Si el vostre editor preferit no està instal·lat per defecte, primer utilitzeu apt per instal·lar-lo:
apt install editor_preferit
A continuació, pot veure el valor per omissió actual i modificar la selecció mitjançant l'ordre update-alternatives:
update-alternatives --config editor
L'orden mostra una taula dels editors que coneix amb un missatge per canviar el valor per defecte:
Sortida:
There are 8 choices for the alternative editor (providing /usr/bin/editor).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/joe 70 auto mode
1 /bin/nano 40 manual mode
2 /usr/bin/jmacs 50 manual mode
3 /usr/bin/joe 70 manual mode
4 /usr/bin/jpico 50 manual mode
5 /usr/bin/jstar 50 manual mode
6 /usr/bin/rjoe 25 manual mode
7 /usr/bin/vim.basic 30 manual mode
8 /usr/bin/vim.tiny 15 manual mode
Press <enter> to keep the current choice[*], or type selection number:
L'asterisc a la columna de l'extrem esquerre indica la selecció actual. Per canviar el valor per omissió, escriviu el nombre de "Selecció" per al seu editor preferit i premeu Enter. Per exemple, per utilitzar nano com a editor predeterminat donada la taula anterior, triaríem 1:
Sortida:
Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /bin/nano to provide /usr/bin/editor (editor) in manual mode
D'ara endavant, el seu editor preferit serà usat per ordres com visudo i systemctl edit, o quan es cride l'ordre de l'editor.
Comprovar la zona horària
Per comprovar si l'hora del servidor i la zona horària són correctes per a la vostra regió, executeu:
joan@server-roig:~$ date
mar may 15 20:53:11 CEST 2018
Si la data, l'hora o la zona horària no són incorrectes, consulteu l'article:
Canvia les zones horàries i configura la sincronització del temps
Actualitzeu Debian
Executeu la següent cadena d'ordres per descarregar i instal·lar els paquets més recents. Les ordres es separen amb && i s'executaran successivament. Si se us demana que instal·leu paquets, premeu 'S' i 'ENTER':
root@server-angles:~# apt update && apt upgrade && apt dist-upgrade
Una vegada actualitzat, és possible que necessiteu reiniciar el servidor:
root@server-angles:~# reboot
Font: DigitalOceanufw status