Categoria Tutorial

Como renomear um domínio do Active Directory

Como renomear um domínio do Active Directory

Embora não seja recomendado, pode ser necessário ter que renomear, para isso segue o passo a passo.

Nesse tutorial iremos renomear de olddomain.tld para newdomain.local

Obs. Fazer backup antes de inciar o processo.

1 – Preparar Zonas DNS

<?xml version ="1.0"?>
<Forest>
    <Domain>
        <!-- PartitionType:Application -->
        <Guid>a582d5a0-7014-401e-b313-975775b2ed64</Guid>
        <DNSname>DomainDnsZones.newdomain.local</DNSname>
        <NetBiosName></NetBiosName>
        <DcName></DcName>
    </Domain>
    <Domain>
        <!-- PartitionType:Application -->
        <Guid>5ce98fd4-7dd9-4d39-9d33-0e3927f64f35</Guid>
        <DNSname>ForestDnsZones.newdomain.local</DNSname>
        <NetBiosName></NetBiosName>
        <DcName></DcName>
    </Domain>
    <Domain>
        <!-- ForestRoot -->
        <Guid>29901115-1cd4-440e-b6fe-f16d25b6bb50</Guid>
        <DNSname>newdomain.local</DNSname>
        <NetBiosName>NEWDOMAIN</NetBiosName>
        <DcName></DcName>
    </Domain>
</Forest>

4 – Para confirmar se os dados estão preenchidos corretamente verifique com rendom /showforest

rendom /showforest

5 – Se estiver tudo certo, faça o upload do arquivo

rendom /upload

6 – Verificando os domains controllers

rendom /prepare

7 – Senão apresentar nenhum erro nas etapas anteriores então execute, o servidor será reiniciado ao final do processo. AGUARDE.

  • Caso o computador não reinicie, execute novamente.
rendom /execute

8 – Corrija NetBios Name nas entradas GPO

gpfixup /olddns:olddomain /newdns:newdomain
gpfixup /oldnb:olddomain /newnb:newdomain

9 – Adicione o novo nome no controlador de domínio manualmente e torne-os como primário.

netdom computername %COMPUTERNAME%.olddomain.local /add:%COMPUTERNAME%.newdomain.local
netdom computername %COMPUTERNAME%.olddomain.local /makeprimary:%COMPUTERNAME%.newdomain.local

10 –  Reinicie o computador

Shutdown –f –r –t 0

11 – Remove os links para o controlador antigo

rendom /clean

12 – Desbloqueie o servidor

rendom /end

Senão apresentar nenhum erro, o processo de renomear seu controlador de domínio ocorreu com sucesso.

Reinicie as estações de trabalho duas ou tres vezes se for necessário para que elas peguem as novas configurações de domínio.

Senão der certo, pode ser necessário reconfigurar as estações de trabalho.

 

Deploy de Aplicação em Django com uWSGI e Nginx

Nesse tutorial iremos realizar o deploy de uma aplicação em Django com uWSGI e Nginx

1 – Realizar o update do apt

apt-get update
apt-get upgrade

2 – Instalar dependências

apt install git gcc nginx certbot python3-dev python3.11-venv

3 – Criar diretório do projeto

mkdir /videoaula
cd /videoaula

4 – Criar e ativar o ambiente virtual

python3 -m venv venv
source venv/bin/activate

5 – Instalar os  pacotes

pip install django uwsgi

6 – Iniciar o projeto

python3 -m django --version
django-admin startproject videoaula .
python3 manage.py runserver 0.0.0.0:8000
  • Acesse o host no porta 8000 verifique se aplicação django esta presente.

7 – Ajustar o setting.py

  • Configurar o allowed hosts e a static url
  • Aproveite para checar a aplicação
  • python3 manage.py runserver 0.0.0.0:8000
vim videoaula/settings.py
import os

ALLOWED_HOSTS = ['*']

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static/")

8 – Testando manualmente o uWSGI

  • Crie um arquivo teste.py com o seguinte conteúdo.
def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World!"]
  • uwsgi –http :8000 –wsgi-file teste.py

Acesse o host na porta 8000 e confirme se o Hello World foi redenrizado.

9 – Testando o projeto vídeo aula com uWSGI usando o IP Socket

  1. Acesse a aplicação via uWSGI para simples conferência.
uwsgi --http :8000 --module videoaula.wsgi

10 – Configurando o Nginx para acessar aplicação via Unix Socket

  • Crie o arquivo .conf dentro de vim /etc/nginx/sites-available/videoaula.conf
  • Preencha com seguinte conteúdo.
# Configuração do Servidor

upstream django {
    server unix:///videoaula/videoaula.sock;
    }


server {
    listen      80;
    server_name videoaula.cuidadodigital.com.br;
    charset     utf-8;
    
    # max upload size
    client_max_body_size 75M;
    
    # Django media and static files
    location /media  {
        alias /videoaula/media;
    }
    #Django static
    location /static {
        alias /videoaula/static;
    }
    # Send all non-media requests to the Django server.
    location / {
        uwsgi_pass  django;
        include     /videoaula/uwsgi_params;
    }
}
  • Crei o uwsgi_params dentro de /video/aula
  • vim /videoaula/uwsgi_params
uwsgi_param  QUERY_STRING       $query_string;
uwsgi_param  REQUEST_METHOD     $request_method;
uwsgi_param  CONTENT_TYPE       $content_type;
uwsgi_param  CONTENT_LENGTH     $content_length;
uwsgi_param  REQUEST_URI        $request_uri;
uwsgi_param  PATH_INFO          $document_uri;
uwsgi_param  DOCUMENT_ROOT      $document_root;
uwsgi_param  SERVER_PROTOCOL    $server_protocol;
uwsgi_param  REQUEST_SCHEME     $scheme;
uwsgi_param  HTTPS              $https if_not_empty;
uwsgi_param  REMOTE_ADDR        $remote_addr;
uwsgi_param  REMOTE_PORT        $remote_port;
uwsgi_param  SERVER_PORT        $server_port;
uwsgi_param  SERVER_NAME        $server_name;
  • Crie um Link Simbólico do videoaula.conf de sites-availabe para sites-enable
ln -s /etc/nginx/sites-available/videoaula.conf /etc/nginx/sites-enabled/
  • Cheque as configurações do ngnix: # ngnix -t
  • Habilite o nginx: # systemct enable nginx
  • Reinicie o nginx: # systemct restart nginx

11 –  Testando aplicação via Unix Socket

uwsgi --socket videoaula.sock --module videoaula.wsgi --chmod-socket=666 --uid www-data
  • Nessa etapa a aplicação ja deve estar funcionando, poém como aplicação e não como serviço

12 – Crei o arquivo de configuração que o demom irá utilizar para chamar uWSGI com serviço

  • vim /videoaula/videoaula_uwsgi.ini
[uwsgi]
# full path to Django project's root directory
chdir = /videoaula
# Django's wsgi file
module = videoaula.wsgi
# full path to python virtual env
home = /videoaula/venv
# enable uwsgi master process
master = true
# maximum number of worker processes
processes = 10
# the socket (use the full path to be safe
socket = /videoaula/videoaula.sock
# socket permissions
chmod-socket = 666
# User ID
uid = www-data
# Group ID
gid = www-data
# clear environment on exit
vacuum = true
# daemonize uwsgi and write messages into given log
daemonize = /videoaula/uwsgi-emperor.log

13 – Testando a aplicação com paramentros de inicialização

uwsgi --ini videoaula_uwsgi.ini

15 – Configurando o vassals

mkdir -p /videoaula/venv/vassals
ln -s /videoaula/videoaula_uwsgi.ini /videoaula/venv/vassals/

16 – Teste final. Realizado teste em modo Emperador do uWSGI emperor mode

uwsgi --emperor /videoaula/venv/vassals --uid www-data --gid www-data

17 – Criando serviço no linux Daemon

  • Crie o arquivo videoaula-uwsgi-emperor.service
  • vim /etc/systemd/system/videoaula-uwsgi-emperor.service
  • Preencha com as seguintes configurações
[Unit]
Description=App Django - Video Aula
After=network.target

[Service]
User=admin
Restart=always
ExecStart=/videoaula/venv/bin/uwsgi --emperor /videoaula/venv/vassals --uid www-data --gid www-data

[Install]
WantedBy=multi-user.target
  • Para habilitar o serviço : systemctl enable videoaula-uwsgi-emperor.service
  • Para iniciar o serviço: systemctl start videoaula-uwsgi-emperor.service

Inpirado em: https://tonyteaches.tech/django-nginx-uwsgi-tutorial/

Tutorial Proxy Reverso com Nginx no Debian 12 (bookwork) com Certificado Digital (certbot)

Para instalar e configurar o Proxy Reverso no Debian 12 (bookworm) proceda com os seguintes passos:

1º – Instalar nginx

apt install nginx certbot python3-certbot-nginx -y

2ª Crei um Vhost em /etc/nginx/sites-enabled

cd /etc/nginx/sites-enabled
vim site01.conf

server {
  server_name app.site01.com;
  set $upstream 127.0.0.1:5000;

  underscores_in_headers on;
  location /.well-known {
    alias /var/www/ssl-proof/.well-known;
  }

  location / {
    proxy_pass_header Authorization;
    proxy_pass http://$upstream;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Ssl on; # Optional

    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_http_version 1.1;
    proxy_set_header Connection “”;
    proxy_buffering off;

    client_max_body_size 0;
    proxy_read_timeout 36000s;
    proxy_redirect off;
  }
}

Para checar as sintaxes do arquivo de configuração, execute:

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

3º Gerando Certificados

certbot --nginx -d site01.com -d app.site01.com

 

Instalando uma aplicação NodeJS no Debian 12 (bookworm)

Para instalar uma aplicação em NodeJS no Debian 12 (bookworm) pressiga com os seguintes passos.

1º Download e instalação do Node Source

Em https://github.com/nodesource/distributions selecione a versão desejada, nesse caso usaremos versão 20 para Debian

Using Debian, as root

curl -fsSL https://deb.nodesource.com/setup_20.x | bash - &&\
apt-get install -y nodejs

2ª Confira a versão

nodejs --version

3º Atualize o NPM

npm install npm@latest
npm install -g npm@10.4.0

4ª Após acessar o diretório com aplicação NodeJS, execute:

1 –  Para instalar as dependências

npm install

2 –  Para buildar os fontes

npm run build

3 –  Para executar aplicação

npm run start

5º Para configurar a aplicação como serviço, instale o PM2

npm install pm2 -g

6ª Adicionando a plicação no PM2 e Configurando ao AutoStartup

1- De dentro do diretório da aplicação, execute:

pm2 start 'npm run start' --name Frontend
pm2 list
pm2 save
pm2 startup
pm2 save
pm2 examples (para maiores informações)

 

 

Como instalar MySql 8 no Debian 12 (bookworm)

Como instalar MySql 8 no Debian 12.

Para realizar a instalação siga os seguintes passos;

1 º Realizar o update e se necessário, instalar o wget

apt update
apt install wget -y

2 º Realizar o download do repositório do MySql e instalação do mesmo.

wget https://repo.mysql.com//mysql-apt-config_0.8.29-1_all.deb
apt install ./mysql-apt-config_0.8.29-1_all.deb -y
apt update

Ps. Sinta-se avontade para baixar o resitório mais recente no site da MySQl

https://dev.mysql.com/downloads/

Em Configuring mysql-apt-config:

  1. Selecione Mysql Server e Cluster
  2. Confirme MySql Server
  3. Confirme com OK
  4. Confirme com OK

Caso precise refazer alguma configuração execute:

dpkg-reconfigure mysql-apt-config

Instale o MySql

apt update
apt install mysql-server -y

3º Configure os serviços

systemctl enable --now mysql
systemctl status mysql

4º Execute o Secure Instalations

mysql_secure_installation

 

Press y|Y for Yes, any other key for No: Y
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y

 

 

Como instalar Chatwoot via Docker + Codechat + API Whatsapp

Passo 1  – Instalação Docker

  • Remover possíveis versões anteriores
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
  • Add Docker’s official GPG key
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
  • Add the repository to Apt sources
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

  • Instalação docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
curl -SL https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

Passo 2 – Instalação do Chatwoot via Docker Compose

  • Download the env file template
  • Download the Docker compose template
  • Rename .env file
cd /root
mkdir chatwoot
wget -O .env https://raw.githubusercontent.com/chatwoot/chatwoot/develop/.env.example
wget -O docker-compose.yaml https://raw.githubusercontent.com/chatwoot/chatwoot/develop/docker-compose.production.yaml
  • Ajustando o .env file
  • Atenção para senha do postgres
Main
SECRET_KEY_BASE - criar senha segura
FRONTEND_URL=https://app.sacbr.com.br
DEFAULT_LOCALE=pt_BR

Postgres
    POSTGRES_HOST=postgres
    POSTGRES_USERNAME=postgres
    POSTGRES_PASSWORD=908AS7DF89ASIUAFSDAS89034K
    RAILS_ENV=development
Mail
    MAILER_SENDER_EMAIL=SacBR <app@sacbr.com.br>
    SMTP_DOMAIN=smtp.gmail.com
    SMTP_ADDRESS=smtp.gmail.com
    SMTP_PORT=465
    SMTP_USERNAME=sacbr{at}sacbr.com.br
    SMTP_PASSWORD=Senha123
    SMTP_AUTHENTICATION=plain
    SMTP_ENABLE_STARTTLS_AUTO=true
    SMTP_OPENSSL_VERIFY_MODE=peer
    SMTP_SSL=true
  • Ajustando o docker-compose.yml
  • Atenção para senha do postgres
version: '3'
services:
  base: &base
    image: chatwoot/chatwoot:latest
    env_file: .env ## Change this file for customized env variables
    volumes:
      - ./data/storage:/app/storage

  rails:
    <<: *base
    depends_on:
      - postgres
      - redis
    ports:
      - '127.0.0.1:3000:3000'
    environment:
      - NODE_ENV=production
      - RAILS_ENV=production
      - INSTALLATION_ENV=docker
    entrypoint: docker/entrypoints/rails.sh
    command: ['bundle', 'exec', 'rails', 's', '-p', '3000', '-b', '0.0.0.0']

  sidekiq:
    <<: *base
    depends_on:
      - postgres
      - redis
    environment:
      - NODE_ENV=production
      - RAILS_ENV=production
      - INSTALLATION_ENV=docker
    command: ['bundle', 'exec', 'sidekiq', '-C', 'config/sidekiq.yml']

  postgres:
    image: postgres:12
    restart: always
    ports:
      - '5432:5432'
    volumes:
      - ./data/postgres:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=chatwoot
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=SENHA SUPER SEGURA AQUI

  redis:
    image: redis:alpine
    restart: always
    command: ["sh", "-c", "redis-server --requirepass \"$REDIS_PASSWORD\""]
    env_file: .env
    volumes:
      - ./data/redis:/data
    ports:
      - '127.0.0.1:6379:6379'
  • Preparar banco de dados
docker compose run --rm rails bundle exec rails db:chatwoot_prepare
  • Levantando o serviço
docker compose up -d
  • Instalando Nginx e Configurando Proxy Reverso
sudo apt-get install nginx
cd /etc/nginx/sites-enabled
vim yourdomain.com.conf
  • Configurando Virtual Host
  • Em server name: chatwoot.minhaempresa.com.br
server {
  server_name <yourdomain.com>;

  # Point upstream to Chatwoot App Server
  set $upstream 127.0.0.1:3000;

  # Nginx strips out underscore in headers by default
  # Chatwoot relies on underscore in headers for API
  # Make sure that the config is set to on.
  underscores_in_headers on;
  location /.well-known {
    alias /var/www/ssl-proof/chatwoot/.well-known;
  }

  location / {
    proxy_pass_header Authorization;
    proxy_pass http://$upstream;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Ssl on; # Optional

    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_http_version 1.1;
    proxy_set_header Connection “”;
    proxy_buffering off;

    client_max_body_size 0;
    proxy_read_timeout 36000s;
    proxy_redirect off;
  }
  listen 80;
}
  • Checando as configurações
nginx -t
systemctl reload nginx
  • Instalando Certbot e gerando certififcado
apt  install certbot
apt install python3-certbot-nginx
mkdir -p /var/www/ssl-proof/chatwoot/.well-known
certbot --webroot -w /var/www/ssl-proof/chatwoot/ -d yourdomain.com -i nginx
  • Ao chegar nessa etapa do processo de instalação do Chatwoot deverá estar rodando na porta 3000.
  • O nginx deverá estar rodando nas portas 80 e 443.
  • Proxy reverso deverá estar funcional e buscando chatwoot no localhost.
  • Crie sua conta.
  • Faça Login para seguir adiante.

Passo 3 – Instalando NodeJS versão 16 (Obrigatório)

–> Adicionar repositório

sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg

–> Instalar versão 16

NODE_MAJOR=16
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list

Passo 4 – Instalar Codechat

git clone https://github.com/w3nder/chatwoot-codechat.git
mv chatwoot-codechat/ codechat
cd codechat
mv .env.example .env

–> Pegar token do usuário dentro do Chatwoot e atualizar
–> Gerar uma chave particular e colocar no CODECHAT_API_KEY Ex: ” 301803677cd97069a55a79038fb0a2ebd4be1e49 ”
–> Se desejar assinar as mensagens como o nome de usuário mude para TOSIGN=true
–> Se desejar receber mensagens enviadas fora do chatwoot mude para IMPORT_MESSAGES_SENT=false

####################################  EXEMPLO ############################
        PORT = 1234
        CHATWOOT_TOKEN = wV7yJG7q28h3RdQY7m4sDzVM
        CHATWOOT_BASE_URL = http://localhost:3000
        CODECHAT_BASE_URL = http://localhost:8080
        CODECHAT_API_KEY = 301803677cd97069a55a79038fb0a2ebd4be1e49
        TOSIGN=true
        IMPORT_MESSAGES_SENT=true
####################################  EXEMPLO ############################

Explicando em sequência:

  • Instalar dependências
  • Construir aplicação (bildar)
  • Rodar aplicação, o prompt ficará preso, assim poderá acompanhar os logs.
npm install
npm run build 
npm start

Passo 5 – Instalar API

  • Baixando API
  • Renomeando dev-env.yml para env.yml
cd
git clone https://github.com/code-chat-br/whatsapp-api.git
cd whatsapp-api
mv src/dev-env.yml src/env.yml
  • Ajustar Server Port
  • Ajustar Server URL
  • Habilitar Webhook
  • Ajustar Client
  • Usar chave de acesso configurada no Codechat
vim src/env.yml

Server Port 8080 http
Webhook --> URL: Colocar o link da url webhook: http://0.0.0.0:1234/webhook/codechat
Webhook Enabled: True

Client: Sac BR
--> Autehtication ( PEGAR A CHAVE DO CODECHAT EM cat /root/codechat/.env )
  • Explicando em sequência:

    • Instalar dependências
    • Construir aplicação (bildar)
    • Rodar aplicação, o prompt ficará preso, assim poderá acompanhar os logs.
npm install
npm run build
npm run start

Passo 6 – Instalar PM2

  • Instalar PM2
  • Configurar Codechat como Serviço
  • Configurar API como Serviço
npm install pm2 -g

cd /root/codechat
pm2 start dist/app.js --name codechat

cd /root/whatsapp-api
pm2 start 'npm run start prod' --name whatsapp-api

Passo 7 – Criando caixa de entrada no Chatwoot

  • Configurações
  • Caixa de Entrada
  • Adicionar Caixa de Entrada
  • API
URL: http://192.168.0.254:1234/webhook/chatwoot

PS. Usar endereço IP do Host. Não Usar Localhost - Não Usar 127.0.0.1
  • Criar contato para chamar o bot
  • Contatos
  • Novo Contato
    • Nome: Bot
    • Número: +123456
  • Abrir contato
    • Nova Mensagem
    • Caixa de Entrada: Whatsapp
    • Mensagem: /iniciar

 

  • Comandos do Code Chat
    • /iniciar
      • Este comando irá criar uma nova instância e gerar um QR code
    • /status
      • Este comando irá verificar o status da instância
    • /desconectar
      • Este comando irá desconectar o WhatsApp da instância

Passo 7 – Liberando personalização do chatwoot

  • Instalar PostgreSQL Client
apt install postgresql-client postgresql-client-common
  • Logar no banco de dados
  • Selecionar o chatwoot_production
  • Atualizar update installation_configs set locked = false;
psql -U postgres -h localhost -w
\c chatwoot_production
update installation_configs set locked = false;
\q

 

| Tutorial | Como instalar n8n via docker com proxy Reverso- Passo a Passo

INSTALAR N8N VIA DOCKER

Referência

https://docs.n8n.io/hosting/installation/server-setups/docker-compose/#5-create-docker-compose-file

Passo 1

cd /root
mkdir n8n
vim docker-compose.yml

Ler mais

e2guardian CentOS 7 com SSL MITM

Preparando o Ambiente

yum groupinstall ‘Development Tools’
yum install zlib-devel pcre-devel openssl-devel git vim bash-completion wget xz-devel bzip2-devel openldap-devel gd gd-devel

Desabilitando Firewall

systemctl disable firewalld
systemctl stop firewalld

Desabilitando SElinux

vim /etc/selinux/config
SELINUX=disabled

Baixando o Instalador

git clone https://github.com/e2guardian/e2guardian.git
cd e2guardian

Compilando e Instalando

./autogen.sh
./configure ‘–prefix=/usr’ ‘–enable-clamd=yes’ ‘–with-proxyuser=e2guardian’ ‘–with-proxygroup=e2guardian’ ‘–sysconfdir=/etc’ ‘–localstatedir=/var’ ‘–enable-icap=yes’ ‘–enable-commandline=yes’ ‘–enable-email=yes’ ‘–enable-ntlm=yes’ ‘–mandir=${prefix}/share/man’ ‘–infodir=${prefix}/share/info’ ‘–enable-pcre=yes’ ‘–enable-sslmitm=yes’ ‘CPPFLAGS=-mno-sse2 -g -O2’

make

make install

Criando os Serviços SystemCTL

cp /usr/share/e2guardian/scripts/e2guardian.service /etc/systemd/system/
cp /usr/share/e2guardian/scripts/e2guardian /etc/logrotate.d/

Necessário criar Log e Setar Permissão

touch /var/log/e2guardian/access.log
useradd e2guardian
chown -R e2guardian:e2guardian /var/log/e2guardian/

Gerando Certificado SSL Para MITM

Crie o diretório /etc/e2guardian/ssl/generatedcerts:

mkdir -p /etc/e2guardian/ssl/generatedcerts

Mude o mode do diretório /etc/e2guardian/ssl/generatedcerts para 777:

chmod 777 /etc/e2guardian/ssl/generatedcerts

Crie o arquivo /etc/e2guardian/sslgen.sh e o execute:

#!/bin/bash
openssl genrsa 4096 > ca.key
openssl req -new -x509 -days 3650 -key ca.key -out ca.pem
openssl x509 -in ca.pem -outform DER -out ca.der
openssl genrsa 4096 > cert.key

Execute

chmod +x sslgen.sh

cp /etc/e2guardian/ssl/ca.pem /etc/e2guardian/ssl/ca.crt

Copiar o CA.crt para Maquina Windows
Importar no Diretório de CA Confiáveis

Edite os arquivos:
/etc/e2guardian/e2guardian.conf:

# Enable SSL support
# This must be present to enable MITM and/or Cert checking
# default is off
enablessl = on

#SSL man in the middle
#CA certificate path
#Path to the CA certificate to use as a signing certificate for
#generated certificates.
# default is blank – required if ssl_mitm is enabled.
cacertificatepath = ‘/etc/e2guardian/ssl/ca.pem’

#CA private key path
#path to the private key that matches the public key in the CA certificate.
# default is blank – required if ssl_mitm is enabled.
caprivatekeypath = ‘/etc/e2guardian/ssl/ca.key’

#Cert private key path
#The public / private key pair used by all generated certificates
# default is blank – required if ssl_mitm is enabled.
certprivatekeypath = ‘/etc/e2guardian/ssl/cert.key’

#Generated cert path
#The location where generated certificates will be saved for future use.
#(must be writable by the dg user)
# default is blank – required if ssl_mitm is enabled.
generatedcertpath = ‘/etc/e2guardian/ssl/generatedcerts/’

Edite o arquivo e2guardianf1.conf e Habilite

sslmitm = on

Adicione alguns sites para teste

/etc/e2guardian/lists/bannedsitelist:

#List other sites to block:
# badboys.com
xxxbucetas.net
bucetas.b-cdn.net
xvideos.blog

Habilite e inicie o serviço e2guardian.service:

systemctl enable e2guardian.service
systemctl start e2guardian.service

Instale uma Blacklist (Opicional)

cd ~
wget http://www.shallalist.de/Downloads/shallalist.tar.gz
tar -xvzf shallalist.tar.gz
mv BL/ /etc/e2guardian/lists/

chown -R e2guardian:e2guardian /etc/e2guardian/lists/

Instale o SARG (Opicional)

wget https://sourceforge.net/projects/sarg/files/sarg/sarg-2.4.0/sarg-2.4.0.tar.gz
tar -xvzf sarg-2.4.0.tar.gz
cd sarg-2.4.0
./configure
make
make install

E2Guardian MITN Criando Certificados


  1. Crie o diretório /etc/e2guardian/ssl/generatedcerts:
    mkdir -p /etc/e2guardian/ssl/generatedcerts
  2. Mude o mode do diretório /etc/e2guardian/ssl/generatedcerts para 777:
    chmod 777 /etc/e2guardian/ssl/generatedcerts
  3. Crie o arquivo /etc/e2guardian/ssl/mkcert e o execute:
    #!/bin/bash
    
    openssl genrsa 4096 > ca.key
    openssl req -new -x509 -days 3650 -key ca.key -out ca.pem
    openssl x509 -in ca.pem -outform DER -out ca.der
    openssl genrsa 4096 > cert.key
  4. Edite os arquivos:

/etc/e2guardian/e2guardian.conf:

# Enable SSL support
# This must be present to enable MITM and/or Cert checking
# default is off
enablessl = on
...
#SSL man in the middle
#CA certificate path
#Path to the CA certificate to use as a signing certificate for
#generated certificates.
# default is blank - required if ssl_mitm is enabled.
cacertificatepath = '/etc/e2guardian/ssl/ca.pem'

#CA private key path
#path to the private key that matches the public key in the CA certificate.
# default is blank - required if ssl_mitm is enabled.
caprivatekeypath = '/etc/e2guardian/ssl/ca.key'

#Cert private key path
#The public / private key pair used by all generated certificates
# default is blank - required if ssl_mitm is enabled.
certprivatekeypath = '/etc/e2guardian/ssl/cert.key'

#Generated cert path
#The location where generated certificates will be saved for future use.
#(must be writable by the dg user)
# default is blank - required if ssl_mitm is enabled.
generatedcertpath = '/etc/e2guardian/ssl/generatedcerts/'

Edite o arquivo e2guardianf1.conf

Localize a linha e ligue o SSLMITM

sslmitm = on

/etc/e2guardian/lists/bannedsitelist:

...
#List other sites to block:

# badboys.com
xxxbucetas.net
bucetas.b-cdn.net
xvideos.blog
...
# You will need to edit to add and remove categories you want
.Include</etc/e2guardian/lists/BL/porn/domains>
.Include</etc/e2guardian/lists/BL/aggressive/domains>
  1. Habilite e inicie o serviço e2guardian.service:
    systemctl enable e2guardian.service
    systemctl start e2guardian.service

Script Backup Mikrotik Via E-mail

Script para backup mikrotik enviando por e-mail usando o Gmail

Criar uma conta no G-Mail, Permitir acesso a Dispositivos menos Seguros

Configurar NTP Clinet

Configurar uma conta de e-mail

Agendar uma tarefa, nesse cado 5 dias.

Criar um Script

/system ntp client
set enabled=yes primary-ntp=200.160.0.8 secondary-ntp=200.189.40.8

/tool e-mail
set address=smtp.gmail.com from=cuidadodigitalgyn@gmail.com password=******** \
port=587 start-tls=yes user=cuidadodigitalgyn

/system scheduler
add interval=5d name=run_backup on-event=backup policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \
start-date=oct/04/2019 start-time=18:00:00

/system script
add dont-require-permissions=no name=backup owner=admin policy=\
ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=”/\
export file=backup\r\
\n:log info message=\”Enviando backup por e-mail\”\r\
\n:delay 5s\r\
\n:global data [/system clock get date]\r\
\n:global hora [/system clock get time]\r\
\n:global nome [/system identity get name]\r\
\n/tool e-mail send to=\”contato@cuidadodigital.com.br\” subject=\”Backup_\
\$nome\” body=\”\” file=\”backup.rsc\””