{"id":260690,"date":"2022-12-31T11:31:00","date_gmt":"2022-12-31T08:31:00","guid":{"rendered":"https:\/\/inform.click\/wordpress-sob-pressao-proteja-com-suas-proprias-maos\/"},"modified":"2022-12-31T11:31:00","modified_gmt":"2022-12-31T08:31:00","slug":"wordpress-sob-pressao-proteja-com-suas-proprias-maos","status":"publish","type":"post","link":"https:\/\/inform.click\/pt-pt\/wordpress-sob-pressao-proteja-com-suas-proprias-maos\/","title":{"rendered":"WordPress sob press\u00e3o. Proteja com suas pr\u00f3prias m\u00e3os"},"content":{"rendered":"<p>\n  WordPress \u2013 uma plataforma conveniente para a publica\u00e7\u00e3o de artigos e gerenciamento, baseada em um grande n\u00famero de sites diferentes. Por causa de sua preval\u00eancia, esse CMS tem sido um petisco saboroso para os hackers.\n<\/p>\n<p>\n  Infelizmente, as configura\u00e7\u00f5es b\u00e1sicas n\u00e3o fornecem um n\u00edvel adequado de prote\u00e7\u00e3o, deixando muitos buracos descobertos na inadimpl\u00eancia de cr\u00e9dito. Neste artigo, vamos passar por um t\u00edpico site de hacking &#8220;modelo&#8221; no WordPress e mostrar como corrigir as vulnerabilidades identificadas.\n<\/p>\n<p>\n  Hoje, o sistema de gerenciamento de conte\u00fado WordPress \u00e9 o mais popular. Sua participa\u00e7\u00e3o \u00e9 de 60,4% do n\u00famero total de sites que usam mecanismos de CMS. Destes, segundo as estat\u00edsticas, 67,3% dos sites baseiam-se na vers\u00e3o mais recente do software. Enquanto isso, nos doze anos do web engine foram encontradas 242 vulnerabilidades de v\u00e1rios tipos (excluindo vulnerabilidades encontradas em plug-ins e temas de terceiros). Uma estat\u00edstica de complementos de terceiros \u00e9 ainda mais triste. Assim, a empresa realizou uma an\u00e1lise em 2350 modelos Revisium Russified para WordPress, retirados de diferentes fontes. Como resultado, eles descobriram que mais da metade (54%) estavam infectados com links Web Shell, backdoors, blackhat seo (&#8220;spam&#8221;) e scripts contendo vulnerabilidades cr\u00edticas. Ent\u00e3o sente-se, agora vamos entender como realizar uma auditoria no site WordPress e eliminar as defici\u00eancias encontradas. O uso ser\u00e1 a vers\u00e3o 4.\n<\/p>\n<h5>\n  Site de indexa\u00e7\u00e3o<br \/>\n<\/h5>\n<p>\n  A primeira etapa em qualquer teste geralmente \u00e9 coletar informa\u00e7\u00f5es sobre o alvo. E, muitas vezes, ajuda a configura\u00e7\u00e3o incorreta do site de indexa\u00e7\u00e3o, que permite que usu\u00e1rios n\u00e3o autorizados visualizem o conte\u00fado de determinadas se\u00e7\u00f5es do site e, por exemplo, obtenham informa\u00e7\u00f5es sobre plug-ins e temas instalados, bem como acesso a dados confidenciais ou backups de bancos de dados. Para verificar quais diret\u00f3rios s\u00e3o vis\u00edveis de fora, a maneira mais f\u00e1cil de aproveitar o Google. Basta executar uma consulta do tipo Google Dorks site: example.com intitle: \u00abindex of\u00bb inurl: \/ wp-content \/. O operador inurl: Voc\u00ea pode especificar os seguintes diret\u00f3rios:\n<\/p>\n<p>\n  <code>\/wp-content\/<\/code><br \/>\n  <code>\/wp-content\/languages\/plugins<\/code><br \/>\n  <code>\/wp-content\/languages\/themes<\/code><br \/>\n  <code>\/wp-content\/plugins\/<\/code><br \/>\n  <code>\/wp-content\/themes\/<\/code><br \/>\n  <code>\/wp-content\/uploads\/<\/code>\n<\/p>\n<p>\n  Se voc\u00ea pode visualizar o \/ wp-content \/ plugins \/, o pr\u00f3ximo passo \u00e9 coletar informa\u00e7\u00f5es sobre os plug-ins instalados e suas vers\u00f5es \u00e9 bastante simplificado. Naturalmente, voc\u00ea pode impedir a indexa\u00e7\u00e3o usando o arquivo robots.txt. Portanto, por padr\u00e3o, ele n\u00e3o est\u00e1 inclu\u00eddo no pacote de instala\u00e7\u00e3o do WordPress, \u00e9 necess\u00e1rio criar e se jogar no diret\u00f3rio raiz do site. Os manuais para criar e trabalhar com o arquivo robots.txt s\u00e3o muitos, ent\u00e3o deixe esse assunto para si. Para dar apenas uma das op\u00e7\u00f5es poss\u00edveis:\n<\/p>\n<pre><code>User-Agent: *\nDisallow: \/cgi-bin\nDisallow: \/wp-login.php\nDisallow: \/wp-admin\/\nDisallow: \/wp-includes\/\nDisallow: \/wp-content\/\nDisallow: \/wp-content\/plugins\/\nDisallow: \/wp-content\/themes\/\nDisallow: \/?author=*\nAllow: \/<\/code><\/pre>\n<p>\n  Se os arquivos armazenados em uma pasta de uploads forem informa\u00e7\u00f5es confidenciais, adicione a esta linha de lista: Disallow: \/wp-content\/uploads\/. Por outro lado, o arquivo robots.txt n\u00e3o \u00e9 recomendado para colocar links para diret\u00f3rios que foram criados especificamente para o armazenamento de informa\u00e7\u00f5es confidenciais. Caso contr\u00e1rio, voc\u00ea facilita a tarefa do invasor, porque este \u00e9 o primeiro lugar onde geralmente todos procuram por &#8220;yammy&#8221;.\n<\/p>\n<h5>\n  Plugins de seguran\u00e7a para WordPress<br \/>\n<\/h5>\n<ul>\n<li>\n    <a href=\"https:\/\/wordpress.org\/plugins\/login-lockdown\/\" target=\"_blank\" rel=\"noopener\">Login LockDown<\/a> \u2013 limita o n\u00famero de tentativas de login com falha;\n  <\/li>\n<li>\n    <a href=\"https:\/\/revisium.com\/rwp\/\" target=\"_blank\" rel=\"noopener\">Revisium WordPress Theme Checker<\/a> \u2013 procura pe\u00e7as t\u00edpicas de malware nos temas do WordPress;\n  <\/li>\n<li>\n    <a href=\"https:\/\/wordpress.org\/plugins\/sucuri-scanner\/\" target=\"_blank\" rel=\"noopener\">Sucuri Security<\/a> \u2013 realiza monitoramento e detec\u00e7\u00e3o de c\u00f3digos maliciosos;\n  <\/li>\n<li>\n    <a href=\"https:\/\/wordpress.org\/plugins\/better-wp-security\/\" target=\"_blank\" rel=\"noopener\">IThemes Security (anteriormente Better WP Security)<\/a> \u2013 para proteger o WordPress multi plug;\n  <\/li>\n<li>\n    <a href=\"https:\/\/wordpress.org\/plugins\/backupwordpress\/\" target=\"_blank\" rel=\"noopener\">BackUpWordPress<\/a> \u2013 faz backup de arquivos e bancos de dados;\n  <\/li>\n<li>\n    <a href=\"https:\/\/wordpress.org\/plugins\/google-captcha\/\" target=\"_blank\" rel=\"noopener\">Google Captcha (reCAPTCHA)<\/a> \u2013 estabelece um captcha no cadastro, login, recupera\u00e7\u00e3o de senha e na forma de coment\u00e1rios.\n  <\/li>\n<\/ul>\n<h5>\n  Conecte .htaccess<br \/>\n<\/h5>\n<p>\n  Para restringir o acesso a informa\u00e7\u00f5es confidenciais \u00e9 melhor usar o arquivo .htaccess \u2013 \u00e9 um arquivo de configura\u00e7\u00e3o usado pelo Apache Web Server. Considere a possibilidade do arquivo do ponto de vista da seguran\u00e7a. Com ele voc\u00ea pode: negar acesso a diret\u00f3rios e arquivos, bloquear v\u00e1rios scripts maliciosos e de inje\u00e7\u00e3o de SQL. Para este arquivo .htaccess padr\u00e3o para CMS WordPress 4.1, voc\u00ea precisa expandir um pouco. Para fechar a lista de arquivos e pastas, adicione:\n<\/p>\n<pre><code>Options +FollowSymLinks -Indexes\n \nRewriteCond %{QUERY_STRING} base64_encode[^(]*([^)]*) [OR]<\/code><\/pre>\n<p>\n  Refer\u00eancias de bloco contendo a codifica\u00e7\u00e3o Base64. Livre-se de links que contenham a tag :\n<\/p>\n<pre><code>RewriteCond %{QUERY_STRING} (|%3E) [NC,OR]<\/code><\/pre>\n<p>\n  Para neutralizar scripts que tentam definir vari\u00e1veis \u200b\u200bglobais ou alterar <code>_REQUEST<\/code>vari\u00e1veis \u200b\u200bvia URL:\n<\/p>\n<pre><code>RewriteCond %{QUERY_STRING} GLOBALS (=|[|%[0-9A-Z]{0,2}) [OR]\nRewriteCond %{QUERY_STRING} _REQUEST (=|[|%[0-9A-Z]{0,2})<\/code><\/pre>\n<p>\n  Para combater as solicita\u00e7\u00f5es de bloqueio de inje\u00e7\u00e3o SQL para o URL, contendo determinadas palavras-chave:\n<\/p>\n<pre><code>RewriteCond %{query_string} concat.*( [NC,OR]\nRewriteCond %{query_string} union.*select.*( [NC,OR]\nRewriteCond %{query_string} union.*all.*select [NC]\nRewriteRule ^(.*)$ index.php [F,L]<\/code><\/pre>\n<p>\n  Para estragar a vida das ferramentas comuns de hacking, filtra certos user-agents:\n<\/p>\n<pre><code>SetEnvIf user-agent \u00abIndy Library\u00bb stayout=1\nSetEnvIf user-agent \u00ablibwww-perl\u00bb stayout=1\nSetEnvIf user-agent \u00abWget\u00bb stayout=1\ndeny from env=stayout<\/code><\/pre>\n<h5>\n  Protege arquivos<br \/>\n<\/h5>\n<p>\n  Seria bom limitar e acessar arquivos cr\u00edticos que armazenam a configura\u00e7\u00e3o ou apenas podem fornecer algumas informa\u00e7\u00f5es a um invasor. Voc\u00ea pode selecionar os seguintes candidatos:\n<\/p>\n<ul>\n<li>Wp-config.php, inclui um nome de banco de dados, nome de usu\u00e1rio, senha e prefixo de tabela;\n  <\/li>\n<li>.htaccess;\n  <\/li>\n<li>Readme.html e ru_RU.po, que cont\u00eam uma vers\u00e3o do WordPress;\n  <\/li>\n<li>Install.php.\n  <\/li>\n<\/ul>\n<p>\n  Isto se faz do seguinte modo:\n<\/p>\n<pre><code>\nOrder Allow,Deny\nDeny from all\n<\/code><\/pre>\n<p>\n  O arquivo .htaccess, contendo essas linhas, deve estar no mesmo diret\u00f3rio onde o arquivo est\u00e1 protegido. Em seguida, n\u00e3o permita a listagem de usu\u00e1rios (lembre-se, um pouco mais acima, falamos sobre como \u00e9 f\u00e1cil obter uma lista de usu\u00e1rios?):\n<\/p>\n<pre><code>RewriteCond %{QUERY_STRING} author=d\nRewriteRule ^ \/? [L,R=301]<\/code><\/pre>\n<p>\n  Ent\u00e3o, o que mais? Voc\u00ea pode permitir a entrada apenas de endere\u00e7os IP especificados. Para fazer isso, crie um arquivo .htaccess em seu wp-admin com as seguintes regras:\n<\/p>\n<pre><code>AuthUserFile \/dev\/null\nAuthGroupFile \/dev\/null\nAuthName \"Access Control\"\nAuthType Basic\norder deny,allow\ndeny from all\nallow from 178.178.178.178  # IP Home computer\nallow from 248.248.248.248  # IP Work computer<\/code><\/pre>\n<p>\n  O m\u00e9todo n\u00e3o \u00e9 muito flex\u00edvel e \u00e9 aplic\u00e1vel somente se voc\u00ea estiver trabalhando com um n\u00famero limitado de endere\u00e7os IP fixos. Caso contr\u00e1rio, \u00e9 recomend\u00e1vel definir uma senha para a pasta wp-admin panel por meio da hospedagem (se esta funcionalidade).\n<\/p>\n<h5>\n  WWW<br \/>\n<\/h5>\n<p>\n  Um conjunto de regras 5G Blacklist e 6G Blacklist beta da Perishable Press, que permite lidar com solicita\u00e7\u00f5es de URL maliciosas predominantes para WordPress.\n<\/p>\n<h5>\n  Medidas adicionais<br \/>\n<\/h5>\n<p>\n  Al\u00e9m do que foi dito acima, as seguintes recomenda\u00e7\u00f5es podem ser adicionadas. Primeiro, use apenas as vers\u00f5es mais recentes do WordPress e seus componentes \u2013 isso eliminar\u00e1 as vulnerabilidades conhecidas. Em segundo lugar, remova os plugins e temas, que tamb\u00e9m podem ser proekspluatirovat. Em terceiro lugar, baixe os temas e plugins do WordPress de fontes confi\u00e1veis, como sites de desenvolvedores e o site oficial do WordPress. Al\u00e9m do PC dom\u00e9stico, voc\u00ea precisa verificar periodicamente seu recurso da Web Antiv\u00edrus da Web, por exemplo, AI-Bolit. Se voc\u00ea tiver acesso ao servidor web, o humor de direitos de acesso a arquivos e diret\u00f3rios. Normalmente, o WordPress define todos os direitos na fase de instala\u00e7\u00e3o, mas, se necess\u00e1rio, pode ser definido manualmente chmod. Para diret\u00f3rio \u2013 chmod 755 para arquivos \u2013 chmod 644. Certifique-se de que os direitos do 777 s\u00e3o atribu\u00eddos apenas \u00e0s instala\u00e7\u00f5es que precisam dele (\u00e0s vezes \u00e9 necess\u00e1rio para o funcionamento normal de alguns plug-ins). Se o WordPress parou de funcionar normalmente, experimente os direitos de acesso: primeiro tente 755, depois 766 e finalmente 777. Para que todo o arquivo htaccess exponha o chmod 444 (somente leitura). Se o site n\u00e3o funcionar mais, experimente valores de 400, 440, 444, 600, 640, 644.\n<\/p>\n<p>\n  Mova o arquivo wp-config.php. Este arquivo cont\u00e9m informa\u00e7\u00f5es sobre as configura\u00e7\u00f5es, MySQL, o prefixo da tabela, chaves secretas e muito mais. Portanto, \u00e9 necess\u00e1rio transferir para o arquivo n\u00e3o dispon\u00edvel na Internet. Se o site n\u00e3o estiver localizado na pasta public_html, arraste o arquivo wp-config.php no n\u00edvel de pasta acima e o WordPress o encontrar\u00e1 automaticamente no diret\u00f3rio raiz (aplica-se se houver apenas um site de hospedagem neste CMS).\n<\/p>\n<p>\n  Para complicar o shell de transmiss\u00e3o, desative a capacidade de editar t\u00f3picos do console do WordPress. Para fazer isso, insira a seguinte linha no arquivo wp-config.php:\n<\/p>\n<pre><code>define ('DISALLOW_FILE_EDIT', true) ;<\/code><\/pre>\n<p>\n  Outro ponto fraco \u2013 o arquivo install.php (na pasta wp-admin). Portanto, \u00e9 melhor remover, bloquear ou alterar. Execute um dos seguintes procedimentos:\n<\/p>\n<ol>\n<li>Simplesmente exclua este arquivo \u2013 ap\u00f3s a instala\u00e7\u00e3o, ele n\u00e3o \u00e9 mais necess\u00e1rio.\n  <\/li>\n<li>Negue o acesso ao arquivo via .htaccess.\n  <\/li>\n<li>Renomeie o arquivo original install.php (por exemplo, install.php.old) e crie um novo arquivo install.php com o seguinte conte\u00fado:\n  <\/li>\n<\/ol>\n<pre><code>&lt;?php header(\"HTTP\/1.1 503 Service Temporarily Unavailable\"); ?&gt;\n&lt;?php header(\"Status 503 Service Temporarily Unavailable\"); ?&gt;\n&lt;?php header(\"Retry-After 3600\"); \/\/ 60 minutes ?&gt;\n&lt;?php mail(\"your@email.com\", \"Database Error\", \"There is a problem with teh database!\"); ?&gt;\n\n\n\n<\/code><\/pre>\n<p><meta http-equiv=\"Content-Type\" content=\"text\/html; charset=utf-8\" \/><\/p>\n<pre>\n<\/pre>\n<p><title><br \/>\n  Error Establishing Database Connection<br \/>\n<\/title><\/p>\n<pre>\n\n\n<\/pre>\n<h1>\n  <code>Error Establishing Database Connection<\/code><br \/>\n<\/h1>\n<pre>\n<br \/>We are currently experiencing database issues. Please check back shortly. Thank you.\n\n<\/pre>\n<p>\n  <code>Al\u00e9m de notificar os visitantes do site, esse script faz o seguinte:<\/code>\n<\/p>\n<ul>\n<li>\n    <code>Envia ao cliente e aos motores de busca o c\u00f3digo de estado 503 (\"Servi\u00e7o indispon\u00edvel\");<\/code>\n  <\/li>\n<li>\n    <code>Especifica o intervalo de tempo em que os clientes e os buscadores podem retornar ao site (par\u00e2metro ajust\u00e1vel);<\/code>\n  <\/li>\n<li>\n    <code>Notifique por e-mail sobre um problema com o banco de dados para a a\u00e7\u00e3o apropriada.<\/code>\n  <\/li>\n<\/ul>\n<p>\n  <code>O fato de que em vers\u00f5es anteriores do WordPress (<\/code>\n<\/p>\n<p>\n  <code>Por fim, desconecte o cadastro de novos usu\u00e1rios, caso isso n\u00e3o seja necess\u00e1rio. Se, no entanto, fornecer registro online, cuide para que novos usu\u00e1rios ap\u00f3s o registro recebam privil\u00e9gios m\u00ednimos.<\/code>\n<\/p>\n<h5>\n  <code>Links \u00dateis<\/code><br \/>\n<\/h5>\n<ul>\n<li>\n    <code>&lt;a href=\"https:\/\/codex.wordpress.org\/Hardening_WordPress\"&gt;Fortalecendo o WordPress&lt;\/a&gt;<\/code>\n  <\/li>\n<li>\n    <code>&lt;a href=\"http:\/\/habrahabr.ru\/post\/62814\"&gt;Dez passos para proteger seu blog WordPress&lt;\/a&gt;<\/code>\n  <\/li>\n<li>\n    <code>&lt;a href=\"http:\/\/www.securitylab.ru\/analytics\/456835.php\"&gt;Cada segundo modelo russificado para WordPress infectado ou vulner\u00e1vel&lt;\/a&gt;<\/code>\n  <\/li>\n<li>\n    <code>&lt;a href=\"http:\/\/xakep.ru\/2015\/04\/01\/wordpress-hack\"&gt;Apresenta\u00e7\u00e3o sobre hackear WordPress&lt;\/a&gt;<\/code>\n  <\/li>\n<\/ul>\n<h5>\n  <code>fechando<\/code><br \/>\n<\/h5>\n<p>\n  <code>WordPress \u2013 um produto bastante grande e complexo, com seus pr\u00f3s e contras. Infelizmente, na configura\u00e7\u00e3o padr\u00e3o, sua seguran\u00e7a \u00e9 question\u00e1vel, pois mesmo na presen\u00e7a de skriptkidis normais, a m\u00e3o direita e a Internet poder\u00e3o romper a prote\u00e7\u00e3o. Portanto, recomendamos verificar o recurso da mesma forma que fizemos no artigo. E se voc\u00ea encontrar falhas, corrija-as para reduzir ao m\u00ednimo as chances de um invasor comprometer um recurso.<\/code>\n<\/p>\n<p>\n  <code>&lt;\/p&gt;\n&lt;p&gt;<\/code>\n<\/p>\n<div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\n  <code>Fonte de grava\u00e7\u00e3o: &lt;a target=\"_blank\" rel=\"noopener nofollow\" data-pssr=\"\" href=\"http:\/\/www.instantshift.com\/2015\/07\/06\/protect-you-wordpress\/\"&gt;instantshift.com&lt;\/a&gt;<\/code>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>WordPress \u2013 uma plataforma conveniente para a publica\u00e7\u00e3o de artigos e gerenciamento, baseada em um grande n\u00famero de sites diferentes. Por causa de sua preval\u00eancia, esse CMS tem sido um petisco saboroso para os hackers. Infelizmente, as configura\u00e7\u00f5es b\u00e1sicas n\u00e3o fornecem um n\u00edvel adequado de prote\u00e7\u00e3o, deixando muitos buracos descobertos na inadimpl\u00eancia de cr\u00e9dito. Neste artigo, vamos passar por um t\u00edpico site de hacking \u201cmodelo\u201d no WordPress e mostrar como corrigir as vulnerabilidades identificadas. Hoje, o sistema de gerenciamento de conte\u00fado WordPress \u00e9 o mais popular. Sua participa\u00e7\u00e3o \u00e9 de 60,4% do n\u00famero total de sites que usam mecanismos de CMS. Destes, segundo\u2026<\/p>\n","protected":false},"author":1,"featured_media":222087,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[150,124,228,111,59],"tags":[],"class_list":["post-260690","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dicas-e-truques-da-web","category-ferramentas-web","category-livros-didaticos","category-seguranca-web","category-web-e-wordpress-2"],"_links":{"self":[{"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/260690","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/comments?post=260690"}],"version-history":[{"count":0,"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/260690\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/media\/222087"}],"wp:attachment":[{"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/media?parent=260690"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/categories?post=260690"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inform.click\/pt-pt\/wp-json\/wp\/v2\/tags?post=260690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}