Seu domínio está hospedado em um servidor Linux usando o Postfix para enviar emails e está na lista negra de spam ?
Você provavelmente tem um script malicioso enviando um grande número de e-mails diretamente do servidor … bem, você pega o inimigo em casa!
Se o seu daemon de e-mail de saída (ou seja, o software usado para enviar e-mails) for o Postfix, você poderá identificar a fonte de spam em apenas algumas etapas simples.
A resolução do problema pode ser igualmente fácil, embora na maioria dos casos precise de mais investigações.
Na verdade, é necessário impedir que a situação ocorra novamente, como se alguém pudesse carregar um script no seu servidor, você pode ter alguma falha de segurança.
A primeira coisa a fazer é fazer logon no servidor de correio com um usuário com direitos administrativos (sudo) e verifique se o arquivo php.ini do seu domínio (e / ou servidor global) contém a seguinte linha:
mail.add_x_header = On
sem o qual o que faremos a seguir não produzirá nenhum resultado útil.
Uma vez verificado isso, você precisará inspecionar a fila de mensagens com o comando:
mailq
Na primeira coluna, você verá o ID exclusivo de cada email de saída, por exemplo:
DA5E8647235C 369763 Wed Mar 29 16:30:19 someotheruser@someotherdomain.com
(connect to somedomain.com[123.123.123.123]:25: Connection refused)
someuser@somedomain.com
Uma vez identificado um desses e-mails que obviamente é spam, examinaremos seus detalhes com o comando:
postcat -q <ID>
e procuramos uma linha que comece com ” X-PHP-Originating-Script ” (presente graças à linha php.ini mencionada acima).
Por exemplo, usando grep para evitar a rolagem manual do conteúdo do email:
O número 45 é o UID, que é o ID do usuário do Linux que executou o script, enquanto badmailer.php é o script que está enviando emails de spam.
Nesse ponto, basta localizar o arquivo badmailer.php, excluí-lo ou limpá-lo e, acima de tudo, para entender como ele foi carregado no seu servidor e executado a partir daí.
Se o seu cabeçalho não contiver a linha X-PHP-Originating-Script, provavelmente sua conta de email foi invadida e é usada para “legitimamente” enviar spam do seu servidor. Nesse caso, identificou um email de saída de spam, você deve iniciar o seguinte comando para ver qual conta foi usada para autenticação:
postcat -q DA5E8647235C | grep sasl_username
Você obterá uma saída como esta:
named_attribute: sasl_username=info@nullalo.com
No exemplo, você deve alterar imediatamente a senha da conta info@nullalo.com por uma senha mais forte (longa, com caracteres especiais, maiúsculas e minúsculas).
Outra coisa que você pode fazer para conter o dano é liberar sua fila de mensagens enviadas com o seguinte comando:
postsuper -d ALL
Se, no entanto, e-mails importantes também estiverem na fila, além de e-mails com spam, você deverá excluir os e-mails indesejados individualmente com o comando:
postsuper -d <ID>
Portanto, no exemplo, lançaremos o seguinte comando:
postsuper -d DA5E8647235C
É isso aí… se você tiver problemas, basta adicionar um comentário a este artigo e tentaremos ajudá-lo!
Don’t forget to save the private key you obtained when you’ve generated the CSR, you will need it.
Wait for the validation of the CSR by the certificate authority (CA). When the CSR is validated, you can download the certificate on your HTTPCS account, in category « My SSL Certificates » and click on « Download ».
DETAILED TUTORIAL TO INSTALL YOUR SSL CERTIFICATE WITH ISPCONFIG
1. Log into your ISPConfig control panel
2. In the « Sites » menu, select the website you bought a certificate for.
3. In the « SSL » menu, copy/paste in the field « Private key » the private key you obtained when you have generated your CSR.
NB : If it’s a wildcard certificate, do not forget to change the « SSL domain » : choose the one starting with « * ».
4. In the « SSL Request » field, paste the content of your CSR (yellow frame).
5. In the « SSL Certificate » field, paste the content of the file « ServerCertificate.cer » you have just downloaded on HTTPCS (red frame).
6. In the « SSL Bundle » field, paste the content of the file « CACertificate.cer » you have just downloaded on HTTPCS (blue frame).
7. In the « SSL Action » dropdown list, select « Save Certificate » and click on « Save » button.
NB : when you have downloaded the certificate from your HTTPCS account, you’ve obtained 2 files named « CACertificate-1.crt » and « CACertificate-2.crt ». Open with a text editor CACertificate-1.crt and CACertificate2.crt. Copy and paste the content of the first one in the field « CA Certificate (*-ca.crt)» and then copy and paste the content of the second one, just after the first one leaving « —BEGIN CERTIFICATE—– » and « —–END CERTIFICATE—– ».
Important : You have to open these files with a text editor like Wordpad, Notepad++ or others. Don’t do that with Word or LibreOffice because it will corrupt the certificate.
phpMyAdmin is an open-source, web-based administration tool for managing the MySQL and MariaDB database. It is written in PHP and is one of the most popular database administration tools used by web hosting companies to enable novice system administrators to carry out database activities.
phpMyAdmin helps in performing database activities such as creating, deleting, querying, tables, columns, relations, indexes, users, permissions, etc. It is released under GNU GPL v2.
In this post, we will see how to install phpMyAdmin with Apache on Debian 10.
Prerequisites
Install MySQL / MariaDB Server
Before installing phpMyAdmin, install a database instance on your system to connect. You could install it as a standalone database or install as part of the LAMP stack.
Install the database and then required packages shown below.
Copy and paste the below content into the above file.
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require all granted
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
<Directory /usr/share/phpMyAdmin/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require all granted
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
Enable the virtual host with the below command.
sudo a2ensite phpmyadmin
Create the tmp directory for phpMyAdmin and change the permission.
By default, MariaDB root user is allowed to log in locally via Unix socket. So, we will now create a database user and login to phpMyAdmin with that user.
CREATE DATABASE app_db;
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;
phpMyAdmin is a free and open-source, web-based tool for managing the MySQL and MariaDB servers. It is widely used to manage the database by web hosting companies and administrators who are new to the database.
phpMyAdmin helps the system administrator to perform databases activities such as creating, deleting, querying, database, tables, columns, etc.
In this post, we will see how to install phpMyAdmin with Nginx on Debian 10.
Prerequisites
Install MariaDB Server
To install phpMyAdmin, your system must have a database instance running and Nginx web server.
Standalone Database
Follow the below tutorials and prepare your system for setting up phpMyAdmin.
Step 2:How To Install LEMP Stack on Debian 10You can skip the database part in Step 2 – LEMP stack tutorial if you have followed the Step 1 – MariaDB installation.
Install PHP extensions for phpMyAdmin to connect with database.
By default, MariaDB root user is allowed to log in locally via Unix socket. So, we will now create a database user and login to phpMyAdmin with that user.
CREATE DATABASE app_db;
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;
After fetching the repo file, you can see these packages under System -> Package Manager
Without enabling Unofficial repo, you can add it using console/ssh with
cd /root
fetch https://raw.githubusercontent.com/marcelloc/Unofficial-pfSense-packages/master/pkg-wpad/files/install_wpad_23.sh
sh ./install_wpad_23.sh
Manual Remove/uninstall
pkg delete pfSense-pkg-Wpad
Once it finishes, all must be in place. If you do not see the menu after it finishes, try to install any pfSense package from GUI, like cron for example.
WARNING
Use it at your own risk.
This script does not install packages from freebsd.
Esse é pra você que tentou tutorias de diversos locais e sempre parava pela metade, devido a erros ou falta de informações.
Fiz um ambiente 100% funcional e venho compartilhar com vocês.
Cenário:
pfSense 2.3 + package Squid package SquidGuard LAN 192.168.1.1/24 pfsense.localdomain
***** Validado nas versões: 2.3.X ***
*** Validado nas versões 2.4.X em 27/10/2017 ***
*** Não testei em versões anteriores *****
Utilizo (e recomendo) a webGUI em HTTPS, por questões de segurança. Porém, haviam problemas com sgerror.php do squidguard quando utilizado desta maneira (mas vamos contorná-los!). Neste guia, estou utilizando HTTPS – porta 9443.
Preparando o ambiente
System > General Setup
Escolha os servidores DNS de sua preferência, no meu caso, utilizei 8.8.8.8 e 8.8.4.4. Desmarcar o “Disable DNS Forwarder”, pois vamos utilizar este serviço para fornecer o WPAD via DNS, atingindo qualquer navegador.
System > Advanced > Admin Access
Habilite o acesso SSH
System > Cert. Manager
Adicione um novo CA para utilização no Man-In-The-Middle do Squid posteriormente
Descriptive Name: Escolha um nome para sua CA. Este nome será visível para os clientes. Method: Selecione “Create an internal Certificate Authority” no menu dropdown. Key length: É recomendado 2048 para máxima compatibilidade Digest Algorithm – use SHA256 ou superior. LifeTime – Configure para 3650 dias (10 anos). Distinguished Name – Preencha todos os campos como Country, State, etc.
Salve
Services > DNS Resolver
Por padrão, o PF habilita este serviço. Desative, pois vamos configurar através do DNS Forwarder
Services > DNS Forwarder
Habilite o DNS forwarder Marque DNS Query Forwarding – Query DNS servers sequentially Interfaces – LAN Marque Strict binding
Em custom options, adicione as seguintes instruções:
Vamos preparar o NGINX para subir uma 2º instância, para servir o WPAD e o sgerror.php na porta 80.
Anteriormente, eram realizados diversos comandos no SHELL para este propósito, mas foram substituídos por este pacote (WPAD – não oficial), criado pelo Marcelloc, que será instalado no passo a seguir.
Mãos a obra!
Entrar pelo Putty no PFSense e com usuário root, na tela de opções escolher a opção 8.
Habilitar o repositório não oficial (DE ACORDO COM SUA VERSÂO):
Vai baixar os arquivos, ou apresentar o conteúdo na própria página web (dependendo o navegador e as configurações).
Se você chegou até aqui, com tudo funcionando, significa que o ambiente está preparado para receber as configurações do squid e squidguard!
Services > Squid Proxy Server
Lembrando que deve-se configurar o Local Cache para poder ativar as configurações do squid.
Habilite o squid Marque a opção – Resolve DNS IPv4 First Transparent HTTP Proxy– Deixe DESMARCADO HTTPS/SSL Interception – Deixe MARCADO Porta 3128 (sim, a mesma porta!) CA – selecione o certificado criado lá no início SSL Certificate Deamon Children – 25 Remote Cert Checks – Selecione este: Accept remote server certificate with erros Certificate Adapt – Selecione estes 2: Set “Not After” | Set “Not Before”
E agora o segredo:
Em Show Advanced Options, na caixa Integrations, coloque isto:
Va na guia Target Categories Adicione uma nova Nome – BRADESCO Regular Expression – bradesco Marque o log da ACL
Salvar
Porque Bradesco? O site do bradesco fica dando refresh sozinho, alternando entre bradesco.com.br e banco.bradesco. Com isso resolve o problema, já que somos obrigado a criar uma Target Categorie pro SG ficar 100%, matamos 2 coelhos numa cajadada só!
Blacklist
Faça o download da shallalist e aguarde o processo finalizar.
Common ACL
Clique no botão + ao lado de TargetRules List e deixe a categoria BRADESCO como ALLOW Defina as outras categorias de acordo com sua necessidade Redirect mode – ext url err page(enter URL) Redirect info – http://192.168.1.1/sgerror.php?url=302 &a=%a&n=%n&i=%i&s=%s&t=%t&u=%u Marque o log e salve
DICA: Para aparecer a categoria corretamente na página de bloqueio, você deve deixar explícito a ação DENY nas ACLs. Se deixar o “traço” para pegar a política padrão, a categoria não será exibida!
Volte para General Settings e de um APPLY
Finalizado o tão sonhado proxy ativo de forma “transparente”.
DICA: Faça bloqueio das portas 80 e 443 na saída da LAN, para forçar que a navegação saia somente pelo proxy!
Note que não será necessário instalar o certificado nas estações;
Não será necessário cadastrar o proxy no navegador (Deixar opção detectar automaticamente marcada);
Funciona para qualquer browser, Chrome, IE, Firefox, Opera, etc…
**Obs1: Caso não tenha funcionado, observe todos os passos atentamente
Obs2: Os tratamentos para liberação e bloqueio de conteúdo serão feitos todos no squidGuard
Obs3: Não funciona para dispositivos mobiles (Android / iOS / WindowsPhone), a não ser que você configure manualmente nos aparelhos, o que torna inviável. Neste caso, a solução seria isolar a rede wifi com VLAN/Captive Portal**
apos aplicar um path no servidor pfsense, meu repositório sumiu.
e agora?
para você recuperar a lista de repositório você deve ir ate o diretoria de um servidor que esta funcionado o mesmo e copiar para o servidor com problema.
a lista de repositório fica em.
/usr/local/share/pfSense/pkg/repos
e só copiar o conteúdo para o servidor com problema e tudo esta normalizado.