FLUX RSS

  • YouTube
  • LinkedIn
  • Google

Configurer le serveur de messagerie sur le serveur Ubuntu

A RedHat descontinuou o Centos e deixou muita gente como eu acostumado a linha derivada do RHEL orfão de um servidor Linux estável e baseado em RPMs.

E o que isso tem a ver com este tutorial? Resposta direta: ;Para mim tudo”;.

Fui obrigado a migrar meu servidor de CentOS 8 para outra distrô disponível em VPSs da OVH e consequentemente reconfigurar tudo o que já estava em “;voo de cruzeiro; e isso inclui o servidor de email que inclusive escrevi um tutorial. Para manter a tradição, conforme vou fui executando os passos da configuração escrevo o tutorial.



Continuer la lecture >>

Chrome gel sur Ubuntu 22.02 Méduses Jammy

I’;J’ai récemment mis à jour mon ordinateur portable avec Ubuntu à partir de 20.02 À 22.02 via apt en ligne de commande et après l’a fait, mon Chrome installé a un comportement gênant. Chaque fois qu’un mode de téléchargement apparaît pour enregistrer des pièces jointes ou même pour télécharger un fichier, Chrome cesse de fonctionner, Gel de tous les onglets et menus.

Il est possible de quitter avec le bouton droit de la souris sur les favoris ou le dock et de rouvrir, mais le problème persiste.

Après beaucoup de recherches, j’ai trouvé cette page et Ce commentaire et la solution a-t-elle été expliquée là et finalement le problème a été résolu jusqu’à présent.

La solution

Il suffit de désactiver Sons de rétroaction d’entrée.

Vous pouvez le faire via la ligne de commande:

$ dconf write /org/gnome/desktop/sound/input-feedback-sounds false

Ou en utilisant dconf-editor

J’espère que cela aidera quelqu’un!

Code de validation CPF pour Javascript

O código abaixo é de uma função em Javascript otimizada para ter o menor numero de complexidade ciclomática linhas que consegui baseado na explicação presente no artigo Algoritimo de validação de CPF brasileiro – Cadastro de Pessoa Física. Ele tem uma ligeira alteração no momento do cálculo do segundo digitido verificador. Ao invés de começar pelo segundo algarismo, o codigo começa pelo primeiro e usa o valor 11 como multiplicador. Outra alteração visivel é que para evitar a necessidade de comparação para saber se estamos no nono e decimo digitos, atribuo o valor zero ao ultimo elemento (indice 10) para reduzir mais uma comparação.

O algoritmo utilizado é o método 1 explicado no artigo e há um pequeno truque para evitar a comparação com o resto igual a 10 que é fazer o módulo de 10 do resto.

   // Codigo que valida um CPF informado quanto a validade de seus dígitos verificadores.

const validarCpf = (cpf) => {
  if (cpf.length !== 11) { // Supõe-se já vir filtrado o valor
    return false;
  }
  let elementos = cpf.split(''); // convertendo a string em array
  elementos[10] = 0; // Forçando ao valor da ultima multiplicacao ser zero
  let somaA = 0;
  let somaB = 0;

  elementos.reduce(function(i, valor, indice) {
    let multiplicador = 11 - indice;
    somaB += (valor * multiplicador);
    somaA += (valor * (multiplicador > 2 ? multiplicador - 1 : 0));
  }, somaA);
  let moduloA = ((somaA * 10) % 11) % 10;
  let moduloB = ((somaB * 10) % 11) % 10;
  return cpf.replace(/\d{9}(\d{2})$/g, '$1') == ("" + moduloA + moduloB);
}

Você pode testar esse código Ici.

Code de validation CPF pour PHP

O código abaixo é de uma função em PHP otimizada para ter o menor numero de complexidade ciclomática que consegui baseado na explicação presente no artigo Algoritimo de validação de CPF brasileiro – Cadastro de Pessoa Física. Ele tem uma ligeira alteração no momento do cálculo do segundo digitido verificador. Ao invés de começar pelo segundo algarismo, o codigo começa pelo primeiro e usa o valor 11 como multiplicador. Outra alteração visivel é que para evitar a necessidade de comparação para saber se estamos no nono e decimo digitos, atribuo o valor zero ao ultimo elemento (indice 10) para reduzir mais uma comparação.

O algoritmo utilizado é o método 1 explicado no artigo citado anteriormente e há um pequeno truque para evitar a comparação com o resto igual a 10 que é fazer o módulo de 10 do resto.

   // Codigo que valida um CPF informado quanto a validade de seus dígitos verificadores.

   /**
     * 
     * Verifica se um CPF é válido
     * @author Marcos Regis <marcos@marcosregis.com>
     * @param  string $cpf
     * @return bool
     */
    function validar(string $cpf): bool
    {
        if (strlen($cpf) != 11) {
            return false;
        }
        $elementos = (array)str_split($cpf);
        $elementos[10] = 0; // Reduz uma comparação no calculo de $somaB
        $somaA = 0;
        $somaB = 0;
        foreach ($elementos as $indice => $elemento) {
            $multiplicador = count($elementos) - $indice;
            $somaA += (int)$elemento * (int)($multiplicador > 2 ? $multiplicador - 1 : 0);
            $somaB += (int)$elemento * (int)$multiplicador;
        }

        $moduloA = (($somaA * 10) % 11) % 10;
        $moduloB = (($somaB * 10) % 11) % 10;

        return preg_replace('#\d{9}(\d{2})$#', '$1', $cpf) == $moduloA . $moduloB;
    }

Você pode testar esse código Ici.

Algoritimo de validação de CPF brasileiro –; Inscription individuelle

Neste artigo explicarei passo a passo na transformação de um algorítimo de verificação da validade de um CPF para código em PHP.

Se você já conhece o algorítmo e quer ir direto aos códigos disponíveis, Cliquez ici.

Mas o que é o CPF?

CPF é o acrônimo para Cadastro de Pessoa Física. Ele é um número de documento brasileiro atualmente gerenciado e emitido pela Receita Federal. Todo brasileiro tem o direito (ou o dever) de ter um e somente com ele é possível ter acesso a serviços bancários, matricular-se em cursos de graduação públicos, assumir cargo através de concurso público, ter cartão de crédito, entre outros exemplos.

Composição do CPF

O CPF é composto de onze algarismos, sendo que os ultimos três algarismos possuem significados que explicaremos a seguir.

O nono dígito, lendo da esquerda para a direita, indica a Região Fiscal onde ele foi emitido. Há dez regiões para os algarismo de zero a nove conforme tabela abaixo.

1 – DF, GO, MS, MT e TO
2 – AC, AM, AP, PA, RO e RR
3 – CE, MA e PI
4 – AL, PB, PE, RN
5 – BA e SE
6 – MG
7 – ES e RJ
8 – SP
9 – PR e SC
0 – RS

Os primeiro oito algarismos são o numero base.

Os ultimos dois algarismo são os dígitos verificadores.

Esses dígitos são gerados a partir de cálculos dos nove primeiros algarismos de acordo com a seguintes regras:

Primeiro Dígito verificador

Para o primeiro dígito, pegamos os 8 primeiros algarismos e multiplicamos cada um deles por um número iniciado em 10 e a medida em que vamos avançando para a direita, diminuimos em 1 esse multiplicador e somamos todos os resultados.

Para melhor entendimento, tomemos 123.456.789-XY como exemplo de CPF a ter o digito XY calculado.

1 x 10 = 10
2 x 9 = 18
3 x 8 = 24
4 x 7 = 28
5 x 6 = 30
6 x 5 = 30
7 x 4 = 28
8 x 3 = 24
9 x 2 = 18
Somando 10 + 18 + 24 + 28 + 30 + 30 + 28 + 24 + 18 temos 210.

Agora, com o total obtido temos duas forma de chegar ao digito verificador.

Método 1

Multiplicamos 210 por 10, dividimos por 11 e pegamos o resto.

Temos então: 210 x 10 = 2.100

2.100 / 11 = 190 com resto 10.

Se o resto for 10 o dígito verificador é zero, Sinon, o resto é o dígito verificador.

Dans notre cas, como o resto é igual a 10 o primeiro dígito será 0 (zéro).

Método 2

Obtemos o resto da divisão de 210 por 11.

Temos então: 210 / 11 é igual a 19 com resto 1.

Aqui temos uma regra para quando o resto for 0 (zéro) ou 1 (um). Quando isso acontece o dígito verificador é zéro, do contrário subtraimos o resto de 11 para obter o dígito verificador.

Pour notre cas, como temos resto 1, o nosso primeiro dígito verificador será 0 (zéro).

Segundo dígito verificador

Para obter o segundo dígito verificador, acrescentamos o primeiro dígito verificador aos 9 algarismos iniciais e fazemos novamente o mesmo processo feito para o primeiro dígito, com a diferença de que agora iniciamos a partir do segundo dígito.

Nosso CPF já está com o valor 123.456.789-0X e as operações necessárias estão abaixo.
2 x 10 = 20
3 x 9 = 27
4 x 8 = 32
5 x 7 = 35
6 x 6 = 36
7 x 5 = 35
8 x 4 = 32
9 x 3 = 27
0 x 2 = 0
Somando 20 + 27 + 32 + 35 + 36 + 35 + 32 + 27 + 0 temos 244.

Agora, com o total obtido devemos usar uma das duas formas já explicadas para chegar ao dígito verificador.

Método 1

Multiplicamos 244 por 10, dividimos por 11 e pegamos o resto.

Temos então: 244 x 10 = 2.440

2.440 / 11 = 221 com resto 9.

Se o resto for 10 o dígito verificador é zero, Sinon, o resto é o dígito verificador e no nosso caso temos 9 como segundo dígito verificador.

Método 2

Obtemos o resto da divisão de 244 por 11.

Temos então: 244 / 11 é igual a 22 com resto 2.

Lembrando que temos uma regra para quando o resto for 0 (zéro) ou 1 (um) o dígito verificador é zero.

Caso seja maior que 1 subtraimos esse valor de 11 para obter o dígito verificador.

Pour notre cas, temos 11 ; 2 = 9 como nosso segundo dígito verificador que é o mesmo valor obtido no método 1.

CPF tem um limite para emissão?

Na teoria, podemos ter até 10^8 ou 100.000.000 (cem milhões) de combinações possíveis para cada região. Na prática temos um pouco menos devido ao não uso de algarismos repetidos, par exemple. Embora pareça um número bem grande, ele deverá ser remodelado em algum momento, já que não pode ser reutilizado mesmo quando uma pessoa falece.

Supondo que já existam na região 8 (estadao de São Paulo) cerca de 40 milhões de CPFs emitidos (não consegui dados fidedignos em 2022 por isso estou usando um número aproximado da população residente que é de 44,5 milhões de pessoas), restariam aproximadamente 60 milhões de CPFs disponíveis. Com a atual taxa de crescimento de CPFs (ano de 2022) em cerca de 600 mil por ano, o sistema deve aguentar pouco menos de 100 années.

Chegamos aqui ao final da explicação e do exemplo sobre a composição do CPF. O nosso CPF de exemplo ficou como 123.456.789-09. Abaixo temos alguns exemplos de códigos tanto para gerar os dígitos verificadores, quanto para validá-los.

Códigos

Version PHP.

Version JavaScript.

Mise en place d’un serveur de messagerie

Tenho meu próprio servidor de e-mail utilizando ;Postfix, Dovecot, MariaDB, Spamassassin, ClamAV, Amavisd-new, Fail2ban, Nginx, Postfixadmin et Roundcube ;Sous le CentOS 8.
Bien qu'il ait plusieurs recettes pour savoir comment configurer ce paquet, Il m'a fallu plusieurs heures pour trouver un moyen de garder le service s'exécute correctement, chaque configuration dans le main.cf et dans le master.cf et en fin de compte parvenir à réduire le flot de spam qui arrive à chaque instant.
Et anti-spam est l'objet de cette publication. J'ai souffert et souffre encore avec les tentatives constantes à utiliser mes services comme un zombie ou d'excrétion du virus, fraude et tout le reste que vous pouvez.

J'ai perdu le compte de combien de fois mon service DNS arrêté par excès de connexion tente d'entupiam la mémoire et forcé le s.. a cortar processos para economizar recursos e o ;nommée ;a été choisi pour être le maillon faible.
Alors, Cet article a le focus dans la configuration correcte pour les services de courrier privé, un peu d'utilisateurs et de quelques domaines. Certainement beaucoup de ce qui est dans ce petit manuel sert aux services de calibre mondial, mais je crois que dans ces cas l'utilisation d'outils ou services dédiés et spécialisés doit toujours prendre en considération.

Então deixemos de lado o falatório para irmos direto ao ;Hands-on.

Installation des paquets

La première étape consiste à installer tous les paquets qui seront utilisés. Roundcube et Postfixadmin fonctionnent sous la direction d’un serveur web soutenu par PHP dont les comptes de messagerie peuvent être stockés sur un serveur de base de données. Comment utiliser Nginx Webserver et bien que je préfère PostgreSQL utilisera le MariaDB comme SGBD en raison du fait que la plupart des utilisations (en raison de WordPress probablement).

Alors, à la fin du processus d’installation, nous aurions dû installer de nouveaux dépôts de paquets.

Activer les dépôts Extra pour vos paquets de la distribution, Si vous n’avez pas déjà. Pour CentOS 8 la commande ci-dessous le fera.

$ sudo dnf install epel-release

En outre, installer les paquets Curl, htop, Je suis venu, Yum-utils, wget, NET-tools, chrony et certbot qui seront nécessaires à d’autres points de la configuration.

$ sudo dnf install -y curl htop vim yum-utils wget net-tools chrony certbot

Postfix

Postfix ;est un agent MTA (agent de transfert de courrier). Un MTA comble le fossé entre les ordinateurs pour l’échange de messages de courrier électronique. Pour notre cas, est l’élément principal.

La version de Postfix que j’utiliserai dans le présent document est le 3.3. Pour savoir quelle version sera installée type:

$ sudo dnf info postfix

Pour installer exécuter la commande

$ sudo dnf install -y postfix postfix-mysql postfix-pcre

Laissons le service arrêté pour maintenant, mais déjà configurΘ pour dΘmarrer avec le système d’exploitation.

$ sudo systemctl enable postfix

Dovecot

Dovecot ;est un serveur de messagerie Imap et Pop3. Avec elle, nous pouvons envoyer et recevoir des messages par l’intermédiaire de Postfix et entre autres choses, contrôler l’accès au service via une authentification.
Pour installer Dovecot avec le support mysql il suffit d’exécuter la commande:

$ sudo dnf install -y dovecot dovecot-mysql

Encore une fois, Nous allons activer le service, mais le laisser debout.

$ sudo systemctl enable dovecot

Amavis

Amavis ;est un filtre de contenu pour les messages électroniques. Avec, il est possible de filtrer les messages nuisibles à l’aide de paramètres contre le spam, virus et autres logiciels malveillants. Les commandes d’installation ci-dessous. Elle nécessite de nombreux bureaux du gouvernement qui sera mis à jour ou installé avec. Uma dessas dependencias é o ;SpamAssassin ;qui sera configuré plus tard, ainsi que tous les autres paquets, nous allons installer.

Assurez-vous d’abord que le référentiel PowerTools est activé, parce que c’est à partir de lui que nous allons installer amavisd-nouveau.

$ sudo dnf config-manager --set-enabled powertools

Em seguida instalamos o Amavis e algumas dependencias sendo uma delas o ;ClamAV ;C’est un antivirus simple et très efficace pour les types les plus courants des menaces et complètement gratuit.

$ sudo dnf -y install amavisd-new clamd perl-Digest-SHA1 perl-IO-stringy

Encore une fois, Tournons-nous vers les services qui démarrent toujours automatiquement, mais pour l’instant en les laissant debout.

$ sudo systemctl enable amavisd spamassassin

MariaDB (ou MySQL)

Normalement, quem usa WordPress já possui instalado e configurado o ;MariaDB ;ou MySQL. Si c’est le cas, peut sauter cette étape.

Je préfère PostgreSQL, mais comme l’objectif de ce document est de permettre peut avoir ses propres services DevOps et ne peut pas toujours avoir plusieurs instances, que j’ai décidé d’utiliser le MariaDB. De cette façon, Si vous devez ajouter le WordPress, pas besoin d’ajouter un SGBD supplémentaire ou même utiliser wrappers d’avoir PostgreSQL de soutien.

Ne vous inquiétez pas pour les paramètres à ce stade, parce que je vais les détailler plus tard dans une autre publication. Poursuivant l’installation, nous devrions exécuter la commande:

$ sudo dnf install -y mariadb-server

puis activer le service pour commencer avec le système

$ sudo systemctl enable mariadb

Serveur Web (Nginx + Php-Fpm)

Les derniers éléments à installer font partie du serveur Web. Il est possible que vous avez déjà une course comme Apache alors que ce point peut être ignoré. Si vous démarrez un nouveau serveur ou si vous n’avez aucune intimité avec la configuration apache et PHP, Je vous conseillons de suivre les conseils de cette installation.

Eu gosto muito do ;Nginx ;e vou usar em conjunto com o ;Php-Fpm.

$ sudo dnf install -y nginx php-fpm

À ce stade, nous avons tous les fichiers nécessaires pour démarrer la configuration du serveur mail.

Je suis trop paresseux

N’aime pas taper ou ne craint pas les détails de chaque élément installé. Vos problèmes sont plus!

Vous pouvez exécuter toute commande de ce document contenant les lignes suivantes:

ATTENTION! Ce script est un fichier avec les lignes de commande. Par la suite peuvent ne pas fonctionner correctement selon les paramètres de votre système.

$ sudo dnf update
$ sudo dnf install -y epel-release
$ sudo dnf config-manager --set-enabled powertools
$ sudo dnf -y install --enable-repo=epel-release,powertools curl htop vim yum-utils wget net-tools chrony certbot postfix dovecot amavisd-new clamd perl-Digest-SHA1 perl-IO-stringy mariadb-server ngixn php-fpm
$ sudo systemctl enable postfix mariadb spamassassin amavisd dovecot nginx php-fpm 

Avec tout installé, nous pouvons commencer les réglages. Comecemos pelo ;MariaDB.

Antispam pour serveurs de messagerie

J’ai déjà publié il ya quelque temps un article montrant comment j’ai mis en place un serveur et e-mail en utilisant les outils les plus communs pour l’environnement OpenSource sur Linux. Utilisé Postfix, Dovecot, Postfixadmin, RoundCube et Spamassassin.

Maintenant, je vais montrer un autre outil qui est une alternative à Spamassassin qui est le MailCleaner, Nouvel An.



Continuer la lecture >>

Protegendo seu WordPress de ataques

Ce site auquelle vous accédez est une installation de la WordPress. J’aime la facilité de celui-ci.

WordPress est vraiment bon à produire un blog rapidement dans un VPS ou Cloud, mais sa facilité est aussi son plus grand défaut.

Comme il est simple d’avoir un site web avec elle, la grande majorité des pages présentes sur internet sont réalisées à l’aide de celui-ci et, par conséquent, cela attire ceux qui recherchent des failles dans la programmation de son open source.



Continuer la lecture >>

Docker sur Ubuntu. Service nginx n'a pas réussi à construire: ADD a échoué: stat /var/lib/docker/tmp/docker-builder(;)/startup.sh: aucun fichier ou répertoire de ce genre

Docker à Ubuntu

Parfois, lors de l’utilisation de Laradock, cette erreur se produit après avoir essayé une reconstruction de conteneur avec no such file or directory message sur docker-compose up -d –build nginx Commande.

Ce n’est pas clair pour moi quelle est la question actuelle, mais en cours d’exécution de la commande avec sudo, nous pouvons l’exécuter avec succès.

Seems that the regular user need access rights to directory /var/lib/docker/tmp/ but do not have. So, running with sudo the trouble is bypassed and the build can finished normally.

Après la construction de conteneurs avec sudo, est possible de le décharger et de recharger sans sudo.

Servidor de Email –; Partie 4 ; Postfix 3

Partie 1 ; Configurer le main.cf de fichiers

Il s’agit de la quatrième partie du processus de création du serveur Mail dans un 8 et la première partie de la configuration Postfix. Si vous êtes arrivé ici par hasard, mieux lire d'abord l'une des publications ci-dessous:

Partie 1 ; Installation du paquet

Partie 2 ; Configuration MariaDB

Partie 3 ; Configuration Dovecot

Postfix est la partie la plus importante de notre serveur de messagerie. Il sera responsable de parler à d'autres MTA pour qu'il reçoive et envoie des messages électroniques et qu'il soit contacté, il est nécessaire qu'il soit identifiable par le nom du serveur ou son Hostname.



Continuer la lecture >>