Autor: anibalsa

  • Protocolos de segurança

    Os protocolos de segurança que serão descritos e enumerados a seguir se aplicam aos sites desenvolvidos na plataforma WordPress e também àqueles que utilizam o plugin WooCommerce para lojas virtuais.

    A maioria das medidas adotadas são implementadas no arquivo raiz .htaccess para os sites em servidores Linus – apache, nginx. Quando essas medidas precisarem ser implementadas para hospedagem Windows, deverão ser transpiladas para uso no arquivo web.config.

    Antes de começarmos a listar as medidas, vamos tentar fornecer uma metodologia para a aplicação desses protocolos. Ter um método nessa implementação é necessário, pois ela se dá em ambientes diferentes. Desses podemos identificar ao menos dois cenários: servidor e aplicação.

    O servidor é o ambiente fornecido pela empresa contratada para a hospedagem do site, que de acordo com a política de segurança de cada uma, já fornecem medidas de segurança de acordo com seus critério e comuns a todos os clientes que compartilham o mesmo servidor.

    O segundo cenário é a aplicação em si: o site. Nesse ambiente o controle é do desenvolvedor do site, onde de acordo com as necessidades de cada projeto novas medidas não listadas aqui poderão também, eventualmente, serem implementadas.

    No momento desse artigo, nenhuma das aplicações que gerencio estão em hospedagem Windows. Algumas delas estão em servidor Apache, outras em Nginx. Por isso, não deixarei nenhuma transpilação dos códigos do .htaccess para o web.config. No entanto, as medidas tomadas para incrementar a segurança da aplicação (segundo cenário) são comuns a todas, inclusive a futuras hospedagens em ambiente Windows.

  • Glossário SEO

    Glossário SEO

    Heatmap

    É utilizado em demonstrações gráficas em diversas áreas, como pesquisas relacionadas a dados geográficos, demográficos ou comportamentais.
    Referência

  • Wordfence – Proteção contra força bruta

    Wordfence – Proteção contra força bruta

    Como disse no post anterior, estou começando essa série – para que o artigo não fique tão longo – dentro dos meus critérios. A minha falta de conhecimentos sobre os detalhes de configuração é o norte. E começo pelo tópico: Wordfence – proteção contra força bruta.

    Para quem ainda não conhece o Wordfence, é um plugin que tem três funções centrais: Anti-virus, Firewall e Malware Scan. Tem mais de três milhões de instalações ativas por todo o mundo. E encontrei a dica dele no blog do Kinsta. Para quem desejar mais informações sobre o plugin e ordenadas de outra forma: consulte sua documentação oficial.

    Força bruta

    Um Brute Force Attack – ataque de força bruta – consiste em uma grande quantidade de tentativas repetidas de adivinhar nome e senha de usuários para obter acesso ao administrador do WordPress. Esses ataques são automatizados, e os nomes de usuário e senhas usados ​​para adivinhação normalmente se originam de vazamentos de dados*. Limitar a quantidade de tentativas de login que seu site permite e bloquear usuários que tentam um nome de usuário inválido são duas das várias formas de se proteger contra esse tipo de ataque.
    * Existem outras formas de obter nomes de usuário no WordPress

    firewall options

    É nessa aba que você encontrará a opção Brute Force Protection e iniciará o processo de redução desse risco de segurança aos seus usuários e tentativas de entradas não autorizadas no painel de administração do seu WordPress.

    O primeiro passo é habilitar essa proteção, trocando o botão de “OFF” para “ON”. Na sequência você verá uma série de opções, todas opcionais e configuráveis dentro de suas necessidades:

    • Bloqueio após quantas falhas de login
    • Bloqueio de quantidade de tentativas de senha esquecidas
    • Contagem de falhas durante um período de tempo
    • Quantidade de tempo que um usuário é bloqueado
    • Imediatamente bloquear nomes de usuário inválidos
    • Imediatamente bloqueie o IP dos usuários que tentam fazer login como esses nomes de usuário
    • Evitar o uso de senhas vazadas em violações de dados

    Bloquear após quantas falhas de login?

    Essa opção bloqueia o endereço do IP de quem tenta fazer login e não é bem sucedido. O sistema conta quantas tentativas foram feitas e se elas excederem a quantidade estabelecida: block!

    Normalmente, a maioria dos usuário reais – e não, os robôs – que esqueceram suas senhas, tentam, em média, 5 vezes sua autenticação. Seja tentando seu nome de usuário, seja sua senha. A documentação recomenda que essa opção seja definida em 20 tentativas. Eu, particularmente, recomendo menos que isso. Vamos combinar que se o usuário cadastrado no sistema precisa de 20 vezes pra se lembrar de seu nome e sua senha, ele nem merece estar cadastrado, né?! 😛

    Bloqueio de quantidade de tentativas de senhas esquecidas

    “Esqueceu sua senha?” ? Pois é, o bondoso link para recuperar sua senha pode ficar limitado a quantas vezes será apertado, pressionado e fazer cara de paisagem para o usuário esquecido.

    Essa função do Wordfence limita o número de vezes que o link ou botão “Esqueceu a senha” pode ser usado. Essa proteção foi feita para evitar que um usuário real e cadastrado no sistema seja inundado com e-mails de redefinição de senha. E também impede que intrusos tentem adivinhar outras contas de usuários cadastrados no site.

    A recomendação para configurar essa quantidade é de 5 vezes. Acho razoável.

    Contagem de falhas durante um período de tempo

    Você já viu que pode configurar quantas tentativas para um usuário se logar no sistema pode fazer e quantas vezes ele pode tentar recuperar sua senha no caso de ter esquecido. Mas, o que acontece após esgotar o limite de cada uma das quantidades acima?

    Para a proteção do sistema do seu site e para a sanidade mental do usuário real – ele vai tomar um café, tomar um ar refresco ou até dormir – essa configuração permite ao administrador ou responsável pela segurança do site ajustar um intervalo de tempo. Esse período de tempo manterá as diversas tentativas em espera.

    Essa é mais uma medida de proteção contra força bruta. Ataques como esse, geralmente, enviam tentativas de login a cada pouco segundos. Logo, se você definir um período de 5 minutos, será tempo o suficiente para capturar uma tentativa de hackeamento. Claro, que de acordo com o nível exigido pela segurança do seu site ou da sua paranoia, você pode configurar o tempo que quiser. O limite é de 1 dia.

    Seja bacana com seu usuário esquecido e dê a ele 1 hora inteira de descanso!

    Quantidade de tempo que um usuário é bloqueado

    Mas, caso seu usuário esquecido seja persistente, aquele funcionário dedicado ou aquele do TOC (transtorno obsessivo compulsivo), você tem essa outra camada de proteção.

    O usuário esquecido-dedicado-com-ou-sem-toc ou os atacantes remotos ficarão bloqueados por um período de tempo da sua escolha ou da necessidade de seu sistema.

    O objetivo é impedir que um ataque remoto tenha muitas possibilidade de adivinhar nomes de usuário e senhas do seu site. Se as senhas do seu sistema forem fortes, serão milhares de tentativas dos invasores para adivinharem suas senhas corretamente.

    Faça as contas. Sua contagem de falhas foi definida como 20, seu período de tempo 60 minutos para as tentativas e agora junte a essa conta o tempo de bloqueio de um usuário – sejamos bondosos e pensemos em mais 60 minutos.
    Assim, o invasor poderá tentar 20 vezes a cada 60 minutos adivinhar suas senhas e depois disso terá que aguardar mais outros 60 minutos para voltar ao ataque.

    No total, apenas 20 tentativas poderão ser feitas a cada 2 horas. Como o dia tem 24 horas, multiplique 20 x 12 e seu intrujão poderá realizar apenas 240 tentativas por dia.



  • Utilizando Wordfence

    Utilizando
    Wordfence

    Nesse artigo, a ideia é armazenar diversas informações pertinentes ao uso e configurações do Wordfence e através de uma série trazer a tradução automática para o português da documentação do plugin. Nem toda a documentação estará aqui completa, pois tomarei como base minhas próprias dúvidas e a de eventuais clientes, que no que diz respeito à segurança de TI, somo todos iniciantes.

    Não sou especialista em segurança cibernética. Sou designer, desenvolvedor web e jornalista. Além de curioso, por natureza. Então, juntando minhas duas últimas qualificações, saio pela rede investigando tudo o que posso sempre quando deparo com algum problema ou quando estou em busca de novas soluções. Logo, o que escreverei nos posts relacionados ao Wordfence e, eventualmente, sobre outros plugins terão por base a minha experiência e a documentação oficial de seus desenvolvedores.

    Não estarei, ao menos nesse momento, seguindo, uma ordem de documentação, mas, partirei do ponto onde encontrei um problema que ainda estou testando. Fiquei preso do lado de fora de casa.

    Instalei um plugin de reCaptcha – o Advanced noCaptcha & invisible Captcha – para reforçar a segurança nos formulários de “Fale Conosco” e comentários de posts. Mas, afoitamente, aproveitei e pensei: “o que custa também acrescentar outra camada de proteção aos formulários de login na administração do site?!” e pimba!… fui lá e marquei a caixinha habilitando a proteção de login. E assim fiquei batendo na porta e ninguém me deixava entrar.

    Como entrei? Outra hora, conto. Mas, consegui entrar, sem fazer bagunça e sem arrombar as portas. Assegurei que o plugin de reCaptcha estava desativado e voltei lá no Wordfence para rever suas configurações. E aqui estou eu, escrevendo esse post, pois assim nunca mais esqueço (não esqueço mesmo!) as configurações que estou adotando e tomando como padrão, ao mesmo tempo que me esclareço através da documentação oficial do plugin.
    Quem se interessar em ler no original, pode ir direto lá.

    Mas, vamos começar a série no próximo post: Proteção contra força bruta. E de lá seguimos.

  • Wordfence – plugin WordPress para segurança

    Wordfence – plugin WordPress para segurança

    Até a data de publicação desse artigo, já são mais de 3 milhões instalações ativas, a partir do repositório oficial do WordPress. O Wordfence Security tem uma excelente avaliação entre os usuário e mantém a compatibilidade com a versão 5.2.2 do WP. Blogs como Kinstra o recomendam por ser uma solução gratuita e sua versão premium é mais barata para desenvolvedores.

    A seguir, reproduzo alguns trechos sobre o plugin, retirados diretamente do Kinstra, que nesse artigo faz um review de outros plugins, como Sucuri Security, iThemes Security, WP fail2ban, All In One WP Security & Firewall, Jetpack, SecuPress e tantos outros. No entanto, vou me ater ao Wordfence, que é o plugin que estou estudando e testando.

    Wordfence Security é um dos mais populares plugins de segurança WordPress e há um bom motivo para isso. Esta verdadeira joia combina simplicidade e poderosas ferramentas de proteção, como recursos robustos de login seguro e acessórios de recuperação de incidentes de segurança. Uma das principais vantagens do Wordfence é o fato de que ele oferece insights sobre as tendências gerais de tráfego em seu site e tentativas de ataques.

    O Wordfence possui uma das mais incríveis soluções gratuitas, que inclui desde bloqueios de firewall à proteção contra ataques de força bruta. A versão premium custa a partir de US$99 por ano e cobre apenas um site. Os criadores do plugin o tornam mais barato para desenvolvedores, oferecendo grandes descontos quando há a aquisição de chaves para múltiplos sites. Por exemplo, ao adquirir 25 chaves, o valor cai para US$29 por ano para cada site. De forma geral, vale a pena considerar o Wordfence se você estiver trabalhando no desenvolvimento de diversos sites e deseja proteger todos eles.

    Conferi diretamente no site do Worfence algumas de suas principais características, que encontro na versão gratuita:

    • Proteção de senhas vazadas
    • Monitoramento em tempo real do tráfico no seu site, incluindo origem endereço IP e hora do dia
    • Bloqueio manual de atividades maliciosos por humanos e por robôs
    • Reparo de arquivos do WordPress, temas e plugins
    • Autenticação de dois fatores e uso do reCaptcha do Google*

    Acompanhe minhas análises e estudos sobre o Wordfence nos próximos artigos, ok?!

  • Em busca da Proporção Divina

    Em busca da Proporção Divina

    Harmonia e equilíbrio são dois fatores que perseguimos em qualquer projeto, seja ele gráfico, arquitetônico ou musical, quando estamos em busca da proporção divina. A partir dela podemos criar composições que, além de serem claras e precisas, aos olhos de quem as vê, também por si só, se tornam belas e balanceadas em seu todo.

    No design de sites, como em todo projeto, podemos utilizar duas metodologias, usadas desde o Renascimento pelos grandes mestres da arte: a sequência Fibonacci e a Regra dos Terços.

    Forma oficial da logomarca em cores

    Como diz o nome, os projetos de Fibonacci são baseados na conhecida sequência de números, que relacionados ente si criam a Proporção Áurea. Mas, não é apenas a metodologia Fibonacci que pode ser empregada na busca de composições harmoniosas em um design. A regra dos terços, que tem por objetivo a mesma proporção Áurea, é um processo mais simplificado, embora, um tanto eficaz.

    Cada uma das metodologias acima possuem aplicações práticas no web design e é isso que vamos ver ao longo dessa série.

    Fibonacci

    Por definição, os dois primeiros números de Fibonacci são o 0 e 1, e cada número a seguir é a soma dos dois anteriores a si. Uma clássica sequência é:
    0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233…

    Quanto mais alta a sequência de Fibonacci, mais próximos seus números se relacionam de acordo com a Proporção Áurea.

    No entanto, no processo criativo, a sequência é um parâmetro orientador que pode servir de base a todo projeto gráfico. Logo, você pode determinar um número base, que não seja o 0 ou o 1, e a partir desse número elaborar sua sequência.

    Nos meus projetos, normalmente, eu começo com o 8px para a menor medida, como os paddings laterais em uma tela de 320px.

    Assim, minha sequência seria: 8, 13, 21, 34, 55, 89, 144

    Regra dos terços

    Essa regra baseia-se em dividir qualquer composição em nove partes iguais, separadas por duas linhas horizontais e duas linhas verticais igualmente espaçadas entre si.

    Da interseção dessas quatro linhas temos quatro pontos que são utilizados como “âncoras” para os elementos mais importantes a serem vistos na composição.

    O uso da regra dos terços, apesar de mais simplificada e não exigir cálculos matemáticos, através de seus alinhamentos é uma poderosa técnica para criar um composição com mais intensidade, energia e atração visual.

  • Frases sobre design

    frases sobre design

    “Bem feito é melhor que bem dito.” – Benjamin Franklin

    “Tudo deve ser feito tão simples quanto possível… mas não mais simples.” – Albert Einstein

  • Não sabe desenhar, não é designer!

    Não sabe desenhar, não é designer!

    Polêmico né?! Parece que sim, se você apenas olhar a superfície. Agora, o que é desenhar? E o que é um designer?

    Desenhar não é apenas rabiscar linhas sobre um papel ou copiar uma forma já existente, mesmo que isso resulte numa bela imagem final.

    Desenhar envolve muito mais que usar um lápis!

    Saber o que representa um ponto e uma linha em duas e três dimensões.
    Perceber as formas obtidas a partir desse dois vetores e obter novas formas a partir deles dentro dessas dimensões, representando-as graficamente, é um pré-requisito básico para saber desenhar.

    Entender o processo de luz e sombra e saber utilizá-los em uma representação gráfica é a base para criar camadas de objetos em planos bi e tridimensionais. É o que leva a uma dupla profundidade no processos de desenhar. A primeira é obtida pelo autor do desenho, que além de avaliar corretamente os pesos e os contrastes entre formas e entre planos, consegue atingir realmente a representação gráfica imaginada para aquele desenho. E a segunda profundidade acontece quando o resultado pretendido pelo autor é o mesmo na percepção de todos que olham o mesmo desenho.

    Ao saber usar a luz e a sombra, você não apenas ontem dimensões de pesos e contrastes, mas aprende a atingir o equilíbrio do uso de cores dentro do projeto.
    E as cores por si só representam uma gama de tonalidades entre si, como despertam infinitas outras gamas de percepções no olhar dos leitores do desenho em si.

    E daí vem a perspectiva dos planos e contra-planos. E o uso dela implica no balanceamento das formas, com seus pesos, com suas texturas – sim, essas são resultantes das cores, das linhas e dos pontos e da profundidade de luz – suas medidas, seus tons de mais claros e mais escuros.

    São essas técnicas de desenho que permitem a um desenhista passar a um outro nível em suas criações.

    A partir delas vem as noções e os princípios de composição gráfica.

    E é na composição gráfica que se obtém harmonia, balanço, contrastes, movimentos, orientação e condução visual do olhar do leitor.

    Desses parâmetros e dessas técnicas surgem os projetos gráficos. Assim, nasce um design. E por detrás dessa criatura, está seu criador, o designer. E na fundação de ambos está o desenho.

  • Função wp_list_pages

    Função wp_list_pages

    Função para listar páginas irmãs:

    function combox_list_sister_pages() {
    
    global $post;
    
    $childpages = '';
    
    $string = '';
    
    $post_data = get_post($post->post_parent);
    
    $parent_id = $post_data->ID;if ( is_page() && $post->post_parent )
    
    $childpages = wp_list_pages( 'sort_column=post_title&depth=1&title_li=&child_of=' . $parent_id . '&echo=0&exclude=' . $post->ID);
    else
    $childpages = wp_list_pages( 'sort_column=post_title&depth=1&title_li=&child_of=' . $post->ID . '&echo=0&exclude=' . $post->ID );
    
    if ( $childpages ) {
    
    $string = '<ul>' . $childpages . '</ul>';
    }
    
    return $string;
    }

    Função para listar páginas filhas:

    /**
    * Get all children from page ID
    * Return a unorderd list
    *
    */
    
    function combox_list_child_pages() { 
    global $post;
    $childpages = '';
    $string = '';
    
    if ( is_page() && $post->post_parent )
    
    $childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->post_parent . '&echo=0&exclude=' . $post->ID);
    else
    $childpages = wp_list_pages( 'sort_column=menu_order&title_li=&child_of=' . $post->ID . '&echo=0&exclude=' . $post->ID );
    
    if ( $childpages ) {
    
    $string = '<ul>' . $childpages . '</ul>';
    }
    
    return $string;
    }

    Para ordenar a listagem de páginas:

    ‘sort_column’
    (string) Comma-separated list of column names to sort the pages by. Accepts ‘post_author’, ‘post_date’, ‘post_title’, ‘post_name’, ‘post_modified’, ‘post_modified_gmt’, ‘menu_order’, ‘post_parent’, ‘ID’, ‘rand’, or ‘comment_count’. Default ‘post_title’.

    Mais info: