﻿{"id":1158,"date":"2012-12-22T09:00:47","date_gmt":"2012-12-22T08:00:47","guid":{"rendered":"http:\/\/www.flapane.com\/blog\/?p=1158"},"modified":"2012-12-22T09:01:32","modified_gmt":"2012-12-22T08:01:32","slug":"proteggere-il-sito-da-attacchi-hacker-due-trucchi-efficaci","status":"publish","type":"post","link":"https:\/\/www.flapane.com\/blog\/2012\/12\/proteggere-il-sito-da-attacchi-hacker-due-trucchi-efficaci\/","title":{"rendered":"Proteggere il sito da attacchi hacker: due trucchi efficaci"},"content":{"rendered":"<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-1159 image\" alt=\"Proteggere il sito dagli attacchi?\" src=\"https:\/\/www.flapane.com\/blog\/wp-content\/uploads\/2012\/12\/hacked-website.jpg\" width=\"480\" height=\"204\" \/><\/p>\n<p style=\"text-align: justify\">Se \u00e8 vero che, ai giorni nostri, \u00e8 diventato relativamente facile aprire e far funzionare un sito, \u00e8 anche vero che molti tralasciano l&#8217;aspetto &#8220;<strong>sicurezza<\/strong>&#8220;.<\/p>\n<p style=\"text-align: justify\">Il risultato \u00e8 una sfilza di &#8220;You&#8217;ve been hacked&#8221;, password perse, database corrotti, ondate di spam, o ancora peggio, l&#8217;iniezione di codice malevolo nelle pagine.<\/p>\n<p style=\"text-align: justify\">Oltre ai soliti consigli, come tenere aggiornato il proprio CMS come WordPress e simili, ed utilizzare una password lunga ed un nome utente diverso dal classico &#8220;admin&#8221;, alcune statistiche<!--more--> del pannello di controllo del mio sito, relative agli error 404 (gli errori di pagina inesistente), mostravano alcune cose interessanti.<br \/>\nInfatti, numerose volte era stato tentato l&#8217;accesso a queste pagine:<\/p>\n<blockquote><p>\/undefined<br \/>\n\/crossdomain.xml<br \/>\n\/signup<br \/>\n\/signup.php<br \/>\n\/register.php<br \/>\n\/wp-login.php<br \/>\n\/administrator\/<br \/>\n\/guestbook\/\/admin.php<br \/>\n\/signup\/<br \/>\n\/\/admin.php<br \/>\n\/member\/register<br \/>\n\/join.php<br \/>\n\/account\/register.php<br \/>\n\/shop<br \/>\n\/login.aspx<\/p><\/blockquote>\n<p style=\"text-align: justify\">col risulato di &#8220;error 404&#8221;, che significava che queste pagine, nel mio sito, non esistevano.<\/p>\n<p style=\"text-align: justify\">Come si vede, il potenziale &#8220;malfattore&#8221; tentava casualmente di <strong>accedere a pagine che, di solito, chiedono username e password<\/strong>, o comunque permettono, tramite SQL e PHP, di accedere ad un database e corromperlo (sql injection).<\/p>\n<p style=\"text-align: justify\">Conviene, quindi, evitare di avere delle pagine con questo nome, rinominandole in maniera leggermente differente, in modo da evitare OGNI possibilit\u00e0 di essere &#8220;beccati&#8221; dai bot che cercano i punti deboli di un sito, e che cercano parole diffuse come &#8220;login&#8221;, &#8220;signup&#8221;, &#8220;shop&#8221;,&#8221;register&#8221;.<\/p>\n<p style=\"text-align: justify\">Un&#8217;altra statistica del mio pannello di controllo (in particolare, il log del server), recitava spesso:<\/p>\n<blockquote><p>[09-Dec-2012 15:35:45 Europe\/Berlin] PHP Warning:\u00a0 mysql_query() [&lt;a href=&#8217;function.mysql-query&#8217;&gt;function.mysql-query&lt;\/a&gt;]: Access denied for user &#8216;root&#8217;@&#8217;localhost&#8217; (using password: NO) in \/xxx\/xxx\/xxx\/yyy.php on line X<\/p><\/blockquote>\n<p style=\"text-align: justify\">Insomma, qualcuno ha tentato di aprire alcune pagine php di una sottocartella, che di norma non devono essere aperte, ma vengono &#8220;incluse&#8221; altrove tramite la funzione php <strong>include<\/strong>.<br \/>\nL&#8217;obiettivo, in questo caso, era cercare di accedere al mio database SQL, sfruttando la riga X del file yyy.php che contiene una query SQL (mysqli_query()).<\/p>\n<p style=\"text-align: justify\">La riga<\/p>\n<blockquote><p>Access denied for user &#8216;root&#8217;@&#8217;localhost&#8217; (using password: NO)<\/p><\/blockquote>\n<p style=\"text-align: justify\">ci dice che \u00e8 stato tentato l&#8217;accesso senza le credenziali, ovvero usando username e password di default.<\/p>\n<p style=\"text-align: justify\">Se il mio database SQL non fosse stato protetto da password, quindi, il malfattore sarebbe riuscito ad accedervi.<\/p>\n<p style=\"text-align: justify\">Anche se \u00e8 piuttosto improbabile che qualcuno utilizzi un database non adeguatamente protetto da password, per evitare questo inconveniente mi \u00e8 bastato disabilitare l&#8217;indicizzazione di questa ed altre cartelle dove risiedono questi file php che vengono &#8220;inclusi&#8221;.<\/p>\n<p style=\"text-align: justify\">In questo modo, il malfattore non pu\u00f2 sapere quali siano i nomi dei file php della cartella, e non pu\u00f2 tentare di forzare l&#8217;accesso in nessuno di questi.<\/p>\n<p style=\"text-align: justify\">Per disabilitare l&#8217;indicizzazione, \u00e8 sufficiente aggiungere, nel file .htaccess di quella cartella, la riga:<\/p>\n<blockquote><p>Options -Indexes<\/p><\/blockquote>\n<p style=\"text-align: justify\">Dopo aver fatto questa modifica, il log del server non mi ha pi\u00f9 segnalato accessi &#8220;sospetti&#8221; come quello di sopra.<\/p>\n<p style=\"text-align: justify\">Qualsiasi altro consiglio che serva ad aumentare la sicurezza dei nostri siti, \u00e8 il benvenuto!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>e \u00e8 vero che, ai giorni nostri, \u00e8 diventato relativamente facile aprire e far funzionare un sito, \u00e8 anche vero che molti tralasciano l&#8217;aspetto &#8220;sicurezza&#8221;.<br \/>\nIl risultato \u00e8 una sfilza di &#8220;You&#8217;ve been hacked&#8221;, password perse, database corrotti, ondate di spam, o ancora peggio, l&#8217;iniezione di codice malevolo nelle pagine.<br \/>\nOltre ai soliti consigli, come tenere aggiornato il proprio CMS come Wordpress e simili, ed utilizzare una password lunga[&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7],"tags":[214,9,14,162,116],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.flapane.com\/blog\/wp-json\/wp\/v2\/posts\/1158"}],"collection":[{"href":"https:\/\/www.flapane.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.flapane.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.flapane.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.flapane.com\/blog\/wp-json\/wp\/v2\/comments?post=1158"}],"version-history":[{"count":0,"href":"https:\/\/www.flapane.com\/blog\/wp-json\/wp\/v2\/posts\/1158\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.flapane.com\/blog\/wp-json\/wp\/v2\/media?parent=1158"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.flapane.com\/blog\/wp-json\/wp\/v2\/categories?post=1158"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.flapane.com\/blog\/wp-json\/wp\/v2\/tags?post=1158"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}