Instalando certificado letsencrypt no apache2 linux

Instale os pacotes

apt install certbot python3-certbot-apache apache2

crie o arquivo /etc/apache2/letsencrypt.conf

Alias /.well-known/acme-challenge/ /var/www/letsencrypt/.well-known/acme-challenge/
<Directory "/var/www/letsencrypt/.well-known/acme-challenge/">
    Options None
    AllowOverride None
    ForceType text/plain
</Directory>

crie o arquivo /etc/letsencrypt/options-ssl-apache.conf

# This file contains important security parameters. If you modify this file
# manually, Certbot will be unable to automatically provide future security
# updates. Instead, Certbot will print and log an error message with a path to
# the up-to-date file that you will need to refer to when manually updating
# this file.

SSLEngine on

# Intermediate configuration, tweak to your needs
SSLProtocol             all -SSLv2 -SSLv3
SSLCipherSuite          ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
SSLHonorCipherOrder     on
SSLCompression          off

SSLOptions +StrictRequire

# Add vhost name to log entries:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" vhost_combined
LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost_common

#CustomLog /var/log/apache2/access.log vhost_combined
#LogLevel warn
#ErrorLog /var/log/apache2/error.log

# Always ensure Cookies have "Secure" set (JAH 2012/1)
#Header edit Set-Cookie (?i)^(.*)(;\s*secure)??((\s*;)?(.*)) "$1; Secure$3$4"

crie o arquivo de virtualhost do seu domínio

/etc/apache2/sites-available/dominio.conf

<VirtualHost *:80>
        ServerAdmin [email protected]
        DocumentRoot /var/www/html/dominio
	include /etc/apache2/letsencrypt.conf
        ServerName dominio.com.br
        ServerAlias dominio.com.br
        ErrorLog ${APACHE_LOG_DIR}/error-dominio.com.br.log
        CustomLog ${APACHE_LOG_DIR}/access-dominio.com.br.log combined
 </VirtualHost>

reinicie o apache /etc/init.d/apache2 restart

agora vamos criar o certificado

certbot certonly -d dominio.com.br –webroot -w /var/www/letsencrypt/

se tudo ocorrer bem, os certificados devem ser criados em /etc/letsencrypt/live/

agora vamos criar o virtualhost do dominio com o certificado, outro arquivo…

/etc/apache2/sites-available/dominio-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerAdmin [email protected]
        DocumentRoot /var/www/html/nfe/api-asaas/
	include /etc/apache2/letsencrypt.conf
        ServerName nfe.bitcontrol.us
        ErrorLog ${APACHE_LOG_DIR}/error-nfe.log
        CustomLog ${APACHE_LOG_DIR}/access-nfe.log combined
        SSLCertificateFile /etc/letsencrypt/live/dominio.com.br/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/dominio.com.br/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

depois de criar o certificado, ative o redirecionamento automático assim sempre que alguém acessar http://dominio.com.br será automaticamente direcionado para https://dominio.com.br

para isso basta adicionar as linhas a seguir dentro do <VirtualHost> </VirtualHost>

RewriteEngine on
RewriteCond %{SERVER_NAME} =dominio.com.br
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

ficando o arquivo /etc/apache2/sites-available/dominio.conf assim (não esqueça de reiniciar o apache depois das mudança dos arquivos de configuração)

<VirtualHost *:80>
        ServerAdmin [email protected]
        DocumentRoot /var/www/html/dominio
	include /etc/apache2/letsencrypt.conf
        ServerName dominio.com.br
        ServerAlias dominio.com.br
        ErrorLog ${APACHE_LOG_DIR}/error-dominio.com.br.log
        CustomLog ${APACHE_LOG_DIR}/access-dominio.com.br.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =dominio.com.br
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
 </VirtualHost>

Como adicionar boleto em debito em conta no banco do brasil

Para adicionar um boleto em “débito em conta” para que seja pago automaticamente nos próximos meses, primeiro confira se o boleto possui essa opção, confira se o boleto possui “número de convênio”. Normalmente existe uma área do boleto destinada as informações de débito em conta.

Contas como Agua, Luz, Telefone, normalmente são cabíveis de ser adicionadas em débito em conta.

Para adicionar o boleto em débito em conta realize o pagamento do boleto em questão. Logo após, abra o APP do BB

Menu -> pagamentos -> débito automático -> incluir via codigo de barras ou QR Code

leia o código de barras do boleto

Depois insira o “convênio” como “identificador”

Instalando painel unifi controller no debian 10

Instalando as dependencias do apt

apt install apt-transport-https ca-certificates wget dirmngr gnupg gnupg2 software-properties-common multiarch-support

Instalando o mongodb < 4.0

wget -qO - https://www.mongodb.org/static/pgp/server-3.4.asc |  apt-key add -
echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4 main" | tee /etc/apt/sources.list.d/mongodb-org-3.4.list

Instalando o libss1.0 (por padrão o debian 10 vem com o 1.1)

wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb
dpkg -i libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb

Instalando o java

wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -
sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/

apt update
apt install adoptopenjdk-8-hotspot

java -version

Editar o profile para inserir a variavel de ambiente


vi /etc/profile
export JAVA_HOME="/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64"

source /etc/profile

echo $JAVA_HOME

Instalando o painel unifi

apt-key adv --keyserver keyserver.ubuntu.com --recv 06E85760C0A52C50
echo 'deb https://www.ui.com/downloads/unifi/debian stable ubiquiti' | tee /etc/apt/sources.list.d/100-ubnt-unifi.list
apt update && apt install unifi

como montar um bucket digital ocean (spaces) no linux

o Digital Ocean Spaces é o serviço de bucket (object storage) da Digital Ocean, ele é compatível com o serviço de object storage da amazon (S3) por tanto, podemos usar a maioria das ferramentas que conectam no S3 para conectar no Spaces da digital Ocean.

para “montar”, isso é, acessar o bucket em seu computador com linux faça o seguinte:

sudo apt-get install s3fs

echo "SPACES_ACCESS_KEY_ID:SPACES_SECRET_ACCESS_KEY > ~/.passwd-s3fs

note que existe um “:” entre o KEY_ID e o ACCESS_KEY

chmod 600 ~/.passwd-s3fs

mkdir ~/bucket

s3fs nome_do_seu_bucket ~/bucket -ourl=https://nyc3.digitaloceanspaces.com -ouse_cache=/tmp -o passwd_file=/.passwd-s3fs

estou assumindo que seu bucket esta em NYC3 (região)

Pasta com senha no samba

Assumindo que você ja tenha a pasta compartilhada no samba (se você não tem, você pode ver como faz clicando aqui)

no compartilhamento adicione : (supondo que o usuário a ser autenticado é rafael)

read list = rafael
write list = rafael
admin users = rafael
valid users = rafael 

no linux adicione um usuário no samba (mesmo usuário, no nosso exemplo: rafael)

smbpasswd -a rafael

coloque a senha

depois ative o usuário

smbpasswd -e rafael

reinicie o samba (/etc/init.d/smbd restart)

Permitindo apenas IPs brasileiros acessarem pasta apache2 (bloqueio por região)

para bloquear determinada pasta e restringir acesso apenas a IPs brasileiros adicione as seguintes linhas no arquivo .htaccess dentro da pasta desejada.

<Files *>
   <RequireAll>
Require all granted
Require  ip 24.0.0.0/8 44.0.0.0/8 45.0.0.0/8 131.0.0.0/8 132.0.0.0/8 38.0.0.0/8 139.82.0.0/16 141.0.0.0/8 143.0.0.0/8 144.22.0.0/16 146.134.0.0/16 146.164.0.0/16 147.65.0.0/16 149.19.0.0/16 49.19.206.0/23 150.161.0.0/16 150.162.0.0/15 150.164.0.0/15 152.0.0.0/8 154.0.0.0/8 155.0.0.0/8 160.0.0.0/8 164.0.0.0/8 167.0.0.0/8 168.0.0.0/8 170.0.0.0/8 177.0.0.0/8 179.0.0.0/8 181.0.0.0/8 186.0.0.0/8 187.0.0.0/8 189.0.0.0/8 190.0.0.0/8 191.0.0.0/8 192.0.0.0/8 198.0.0.0/8 196.0.0.0/8 200.0.0.0/8 201.0.0.0/8 204.225.42.0/23 206.43.0.0/16 206.204.248.0/23 207.191.160.0/22 207.191.168.0/22 207.248.0.0/16 208.52.162.0/23
  </RequireAll>
</Files>

Lembrando que para “ativar” o htaccess é necessário que a opção AllowOverride esteja all para o diretório. (dentro da conviguração do <virtualhost>

<Directory "/var/www/html/">
	Allowoverride all
</Directory>

Resolvendo problema de “esse site não é confiável” letsencrypt e navegador chrome

conforme ja explicamos aqui https://www.delete.com.br/em-30-de-setembro-de-2021-certificados-ssl-lets-encrypt-causam-problemas-de-acesso/

O Certificado Raiz do letsencrypt venceu no dia 30 de setembro de 2021, o novo certificado Raiz conta com mais segurança (nível mais alto de criptografia)

Infelizmente, sistemas operacionais mais antigos (como é o caso do Windows 7) não possuiem este certificado por padrão e será necessário instalar ele manualemente para que seu navegador reconheça sites que usam o letsencrypt como sites seguros

veja como fazer:

baixe o certificado raiz:

letsencrypt.org/certs/isrgrootx1.pem

Renomeie o arquivo isrgrootx1.pem para isrgrootx1.crt

abra seu chrome e importe o certificado raiz

Na parte de definições -> Segurança (chrome://settings/security/)

Atenção para o detalhe, importe na aba “Autoridades de certificação Raiz confiáveis”

procure onde esta o cetificado raiz (você deve ter baixado em Downloads)

Deseja instalar o certificado: SIM

Reinicie seu CHROME e teste o site novamente.

em 30 de setembro de 2021 certificados ssl lets-encrypt causam problemas de acesso

O certificado raiz DST Root CA X3 expirou em 30 de setembro às 14:01:15 de 2021 GMT

30 de setembro de 2021 às 14:01:15 de 2021 GMT – houve uma mudança radical – prevista e anunciada – no modo como os navegadores e dispositivos mais antigos confiam nos certificados SSL da emitidos pela Let’s Encrypt.

Trata-se do certificado denominado IdentTrust DST Root CA X3, emitido pela organização Let’s Encrypt. Isso se torna um problema, pois muitos clientes não conseguem atualizar de forma automática a cadeia de confiança e, se isso não acontecer, não há como um novo certificado substituir o que está expirando.

Para a maioria dos dispositivos, hoje é um dia normal e essa mudança passou desapercebido pois os fornecedores de software e hardware há muito tempo atualizaram seus firmware e sistemas operacionais.

No entanto, aqueles outros dispositivos abandonados pelos seus fabricantes após o fim do seu suporte oficial e que, por isso, deixaram de receber atualizações, ficarão repentinamente sem acesso à internet isso inclui, por exemplo:

  • Sistemas integrados projetados para não serem atualizados automaticamente
  • Smartphones com versões de software antigas.
  • Versões do macOS anteriores ao macOS 10.12.1 
  • Versões do MS Windows anteriores ao Windows XP Service Pack 3 
  • PlayStations mais antigos que ainda não receberam atualizações de firmware 
  • Em geral, todo software baseado em OpenSSL 1.0.2 ou anterior 

Possíveis problemas
Segundo o portal Certify The Web, na maioria dos casos, os sistemas mudarão automaticamente para a próxima cadeia confiável que puderem encontrar, mas em alguns casos, a expiração da raiz DST Root CA X3 pode fazer com que os certificados sejam considerados não confiáveis ??ou inválidos.

Para consertar isso, os servidores precisaram migrar para uma cadeia válida.

Em outros casos, o problema pode ser com o computador ou outro dispositivo cliente.

Apache, nginx etc. têm seus próprios mecanismos de confiança.

Site para verificar se o dominio usa o certificado com a raiz antiga:

https://verify-letsencryptr3.dnsimple.tools