{"id":232597,"date":"2023-01-22T15:51:00","date_gmt":"2023-01-22T12:51:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232597"},"modified":"2022-11-10T11:35:52","modified_gmt":"2022-11-10T08:35:52","slug":"proteggi-il-server-linux-disabilitando-laccesso-root-remoto-ssh-e-ftp-e-database-mysql","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/proteggi-il-server-linux-disabilitando-laccesso-root-remoto-ssh-e-ftp-e-database-mysql\/","title":{"rendered":"Proteggi il server Linux disabilitando l&#8217;accesso root remoto (SSH e FTP e database MySQL)"},"content":{"rendered":"\n<p>In questo <a href=\"https:\/\/helloacm.com\/staying-protected-national-cyber-security-awareness\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">post<\/a>, sappiamo quanto sia importante la sicurezza. Se gestisci il tuo server (VPS, cloud hosting o server dedicato), devi disporre dell&#8217;accesso come <strong>root<\/strong>. Il <strong>root<\/strong> \u00e8 come l&#8217; account <strong>amministratore<\/strong> su Windows, ma solo pi\u00f9 potente (puoi praticamente fare qualsiasi cosa).<\/p>\n<p>Probabilmente non \u00e8 una buona idea rinominare l&#8217; account di <strong>root<\/strong> (o nasconderlo) su un sistema Linux, questo \u00e8 dovuto al fatto che molte applicazioni\/programmi come <strong>sendmail<\/strong> presuppongono che ci sia un account di <strong>root<\/strong> o le cose inizieranno a non funzionare se il <strong>root<\/strong> non \u00e8 stato trovato (su Windows, \u00e8 possibile rinominare l&#8217;account <strong>amministratore<\/strong> ). Tuttavia, devi avere ed essere suggerito di avere un normale account utente (meno potente) che gestisce i lavori quotidiani, quindi non danneggerai il sistema se commetti occasionalmente degli errori.<\/p>\n<h3>SSH<\/h3>\n<p>Per creare un utente normale, esegui il comando <strong>sudo adduser nuser<\/strong> dove il <strong>nuser<\/strong> \u00e8 l&#8217;account utente che vogliamo aggiungere. Segui le istruzioni per impostare la password o puoi emettere <strong>passwd userer in un<\/strong> secondo momento .<\/p>\n<p>Ricontrolla che puoi effettivamente accedere usando SSH e passare a <strong>root<\/strong> usando <strong>su<\/strong>. Una volta che questi sono stati confermati, e devi modificare il file in <strong>\/etc\/ssh\/sshd_config<\/strong> con il tuo editor di testo preferito (ad esempio vim). Quindi cerca la riga <strong>PermitRootLogin yes<\/strong> e cambiala in <strong>PermitRootLogin no<\/strong>. Riavvia il server ssh in questo modo:<\/p>\n<p>Quindi, se esegui nuovamente il login utilizzando <strong>root<\/strong>, verr\u00e0 sempre negato, il che rende il sistema un po&#8217; sicuro (come sai, ci sono molti IP che forzano brute e cercano di hackerare il tuo account di root).<\/p>\n<h3>FTP (rispetto a FTP)<\/h3>\n<p>FTP non \u00e8 cos\u00ec sicuro, ma se insisti nell&#8217;utilizzarlo, assicurati di utilizzare SFTP o <strong>SSL\/TLS<\/strong> se applicabile. Il popolare server FTP su Linux \u00e8 <strong>vsFTP<\/strong> e dopo averlo installato, assicurati di disabilitare anche il login di root.<\/p>\n<p>La configurazione per <strong>vsFTP<\/strong> si trova nel file <strong>\/etc\/vsftp.conf<\/strong> ed \u00e8 necessario assicurarsi che i seguenti valori siano impostati (possono essere aggiunti):<\/p>\n<pre><code>anonymous_enable=NO \u00a0# no anonymous login plz\nlocal_enable=YES\nwrite_enable=YES\nuserlist_enable=YES\nuserlist_deny=NO\nuserlist_file=\/etc\/vsftpd.users<\/code><\/pre>\n<p>E crea un file in <strong>\/etc\/vsftpd.users<\/strong> se non \u00e8 ancora presente e aggiungi gli utenti consentiti riga per riga nel file. Riavvia il vsFTP da:<\/p>\n<pre><code>sudo service vsftpd restart<\/code><\/pre>\n<p>E se accedi usando <strong>root<\/strong>, negher\u00e0 con questo messaggio:<\/p>\n<pre><code>Connecting to: XXXXXXXXX\n220 (vsFTPd 3.0.2)\nUSER root\n530 Permission denied.\n220 (vsFTPd 3.0.2)\nUSER root\n530 Permission denied.\nCertificate: \nCan't connect\nLastError: 0<\/code><\/pre>\n<h3>Database MySQL<\/h3>\n<h4>Disabilita l&#8217;accesso root in remoto<\/h4>\n<p>Rimuovi l&#8217;accesso root remoto al tuo database MySQL perch\u00e9 rimane un rischio elevato avere il tuo account root accessibile da un&#8217;altra macchina piuttosto localmente. Tuttavia, se si dispone di un server dedicato che funge da database, la storia \u00e8 diversa, nel qual caso \u00e8 necessario rafforzare la password di root e possibilmente utilizzare account normali nel proprio wordpress o in altri siti Web. Assicurati di non esporre facilmente quei file di configurazione (ad es. wp-config.php). Basta rendere questi file non scrivibili.<\/p>\n<p>Accedi a MySQL dalla riga di comando ed esegui i due comandi seguenti per rimuovere il login root remoto.<\/p>\n<pre><code>DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');\nflush privileges;<\/code><\/pre>\n<h4>Disabilita tutti gli accessi in remoto<\/h4>\n<p>Se vuoi disabilitare tutti gli accessi in remoto e consentire solo connessioni locali, puoi semplicemente aggiungere <strong>skip-networking<\/strong> (o rimuovere il commento dalla riga) in <strong>\/etc\/mysql\/my.cnf<\/strong> nella sezione di <strong>[mysqld]<\/strong>.<\/p>\n<pre><code>[mysqld]\nport=3306\nskip-networking<\/code><\/pre>\n<p>\u00c8 quindi necessario riavviare il demone MySQLd.<\/p>\n<pre><code>sudo service mysqld restart<\/code><\/pre>\n<h3>Configurazioni di sicurezza consigliate per server Linux<\/h3>\n<ul>\n<li><a href=\"https:\/\/helloacm.com\/why-and-how-to-turn-off-ping-icmp-for-servers\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Perch\u00e9 e come disattivare il ping (ICMP) sui server Linux?<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Proteggi il server Linux disabilitando l&#8217;accesso root remoto (SSH e FTP e database MySQL)<\/p>\n","protected":false},"author":1,"featured_media":224526,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[1031,720,1067],"tags":[1168],"class_list":["post-232597","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sicurezza","category-sviluppatore","category-un-computer","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/232597","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/comments?post=232597"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/232597\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/224526"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=232597"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=232597"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=232597"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}