Instalação de Open Light Speed

Set 17, 2025 | Uncategorized | 0 comments

Instalação de Open Light Speed em VPS Ubuntu 24.04 (LTS)

1. Atualizar o sistema

sudo apt update && sudo apt upgrade -y

2. Instalar OpenLiteSpeed

Adicionar repositório oficial LiteSpeed:

wget -O - https://repo.litespeed.sh | sudo bash

Instalar:

sudo apt install openlitespeed -y

Verificar:

sudo systemctl status lsws

3. Definir password do painel

sudo /usr/local/lsws/admin/misc/admpass.sh

4. Instalar e configurar o firewalld

sudo apt install firewalld -y
sudo systemctl enable --now firewalld

Abrir as portas necessárias:

sudo firewall-cmd --permanent --add-service=ssh     # SSH
sudo firewall-cmd --permanent --add-port=7080/tcp   # WebAdmin OLS
sudo firewall-cmd --permanent --add-service=http    # Porta 80
sudo firewall-cmd --permanent --add-service=https   # Porta 443
sudo firewall-cmd --permanent --add-port=8088/tcp   # Página default OLS
sudo firewall-cmd --reload

Verificar:

sudo firewall-cmd --list-all

5. Instalar CrowdSec

curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | sudo bash
sudo apt install crowdsec -y

CrowdSec instala-se como um serviço e começa logo a monitorizar logs.

6. Instalar o firewalld bouncer

Para a instalação do bouncer para o firewalld o melhor é instalar no Ubuntnu 24.04 o bouncer para nftables, já que são nftables que o firewalld usa. (nftables é o sucessor de iptables)

sudo apt install crowdsec-firewall-bouncer-nftables -y
sudo systemctl enable --now crowdsec-firewall-bouncer

Confirma que está ativo:

systemctl status crowdsec-firewall-bouncer

7. Testar

  • Painel OLS: https://teu-ip:7080
  • Site de teste: http://teu-ip:8088
  • Ver se CrowdSec está a bloquear IPs maliciosos:
sudo cscli decisions list

Snippet para integrar os logs do OpenLiteSpeed no CrowdSec.

Localização dos logs do OLS

Por defeito ficam em:

  • Access log/usr/local/lsws/logs/access.log
  • Error log/usr/local/lsws/logs/error.log

Snippet de configuração CrowdSec

Cria (ou edita) o ficheiro de aquisição de logs do CrowdSec:

sudo nano /etc/crowdsec/acquis.d/ols.yaml

E coloca este conteúdo:

filenames:
  - /usr/local/lsws/logs/access.log
labels:
  type: nginx
---
filenames:
  - /usr/local/lsws/logs/error.log
labels:
  type: syslog

Passos seguintes

Verificar se está a ler os logs: sudo cscli metrics Procura por algo como nginx-logs e syslog.

Recarregar o CrowdSec: sudo systemctl restart crowdsec




Criar o Cloudflare Origin Certificate

  1. Acede ao painel da Cloudflare → SSL/TLS → Origin Server → Create Certificate
  2. Seleciona:
    • Key Type: RSA ou ECDSA (RSA recomendado)
    • Validity: 15 anos (ou outro valor)
    • Hostnames: admin.seudominio.com e *.seudominio.com (ou apenas o necessário)
  3. Faz download dos dois ficheiros gerados:
    • Certificate: cert.pem
    • Private Key: key.pem

Colocar os certificados no servidor

sudo mkdir -p /etc/ssl/cloudflare
sudo mv cert.pem /etc/ssl/cloudflare/cert.pem
sudo mv key.pem /etc/ssl/cloudflare/key.pem
sudo chmod 600 /etc/ssl/cloudflare/key.pem
sudo chmod 644 /etc/ssl/cloudflare/cert.pem

Configurar o Admin Panel do OLS para usar SSL

  1. Abre o ficheiro de configuração do Admin OLS:
sudo nano /usr/local/lsws/admin/conf/admin_config.conf
  1. Altera ou adiciona as linhas SSL:
adminSSL 1
adminSSLCertificateFile /etc/ssl/cloudflare/cert.pem
adminSSLCertificateKeyFile /etc/ssl/cloudflare/key.pem
  1. Guarda e sai do editor.

Reiniciar o OpenLiteSpeed

sudo systemctl restart lsws

Testa:

https://localhost:7080

ou via IP se estiver permitido (mais tarde bloquearemos externo).

Criar o Cloudflare Tunnel

Abre os portos na firewall para a comunicação com o Cloudflare

# DNS para saída (comunicação com o cloudlfare)
sudo firewall-cmd --permanent --add-port=53/tcp       # DNS TCP
sudo firewall-cmd --permanent --add-port=53/udp       # DNS UDP

  1. Instala o cloudflared:
sudo apt install cloudflared -y
  1. Autentica com Cloudflare:
cloudflared login
  1. Cria o tunnel:
cloudflared tunnel create ols-admin
  1. Guarda o Tunnel ID e credenciais em /etc/cloudflared/<TUNNEL-ID>.json.

Criar a entrada DNS no Cloudflare

  • Acede ao painel → DNS → Add Record
  • Tipo: CNAME
  • Nome: admin
  • Aponta para: <Tunnel-UUID>.cfargotunnel.com
  • Proxy status: Proxied

Configurar config.yml do tunnel

tunnel: <TUNNEL-ID>
credentials-file: /etc/cloudflared/<TUNNEL-ID>.json

ingress:
  - hostname: admin.seudominio.com
    service: https://localhost:7080
  - service: http_status:404

Inicia o tunnel como serviço:

sudo cloudflared service install
sudo systemctl enable --now cloudflared

Configurar firewall para 7080 apenas em localhost

sudo firewall-cmd --permanent --remove-port=7080/tcp
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="127.0.0.1" port protocol="tcp" port="7080" accept'
sudo firewall-cmd --reload

Testes finais

  1. Testa localmente no servidor:
curl -vk https://localhost:7080
  1. Testa via Cloudflare Tunnel (externo):
https://admin.seudominio.com

A porta 7080 não deve estar acessível publicamente, apenas pelo tunnel

Deverá abrir o painel OLS com o certificado de origem

Share this
$( function() {var copyAttachmentURLClipboard = new ClipboardJS( '.wp-block-code' );});