Dashboard Operacional
Dashboard Ops
Central de Comandos
TRACCAR SERVICE & SYSTEMD
Tracker Start
Iniciar serviço
Tracker Stop
Parar serviço
Tracker Restart
Reiniciar serviço
Tracker Status
Verificar logs
Systemctl Reload
Recarregar Deamons
Systemctl Enable
Ativar inicio automático
DATABASE (MARIADB)
MariaDB Start
Iniciar Banco
MariaDB Stop
Parar Banco
MariaDB Restart
Reiniciar Banco
Destravar DB
Quando a [Traccar] NÃO Inicia!
Destravar Sync
Destravar Sincronizações [Minha Conta/Cliente]
FIREWALL & SECURITY
Firewall Apply
Aplicar Regras Nftables
Firewall Restart
Systemctl Restart Service
WEB SERVER & SISTEMA
Web Completo
Apache2 + PHP-FPM Restart
Apache2
Reiniciar apenas Apache
Nginx
Reiniciar Proxy Nginx
Webmin
Reiniciar Painel
Limpar Cache
Liberar Memória RAM
Teste Versão DB
Testar Ocultação
Traccar Build & Deploy
Limpeza (Clean)
Build (Produção)
App Mobile (Ionic)
BUILD NATIVO (ANDROID)
Versão
Alterar versão no arquivo CONFIG.XML antes de buildar.
Ionic Build Release
ionic cordova build android --minifycss --minifyjs --optimizejs --release
Assinar (Jarsigner)
Verifique caminho da Keystore.
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ./backes.keystore ./platforms/android/app/build/outputs/bundle/release/app-release.aab backes
Otimizar (Zipalign)
zipalign -v 4 ./platforms/android/app/build/outputs/bundle/release/app-release.aab app-release.aab
WEBVIEW APP (SERVIDOR)
-
1. Diretório
Navegar até a pasta do projeto.
-
2. Build
npm run build -
3. Upload
Upload arquivos da pasta
dist. Não subir assets. -
4. Cache
Limpar cache Cloudflare se necessário.
AMBIENTE WINDOWS & VERSÕES
SQL & Variados
Verificar VIT4100 (RFID Antigo)
Seleciona veículos com Firmware Antigo (0)
SELECT * FROM `bem` WHERE `cliente` = 10383...
Vitana 4100R Firmware [NOVO]
Firmware Novos Com [Zeros] A Mais [Compatibiliza]
UPDATE bem SET version_rfid = 1...
Transferir Veículos
Mover todos os veículos de um cliente
UPDATE bem SET cliente = {ID_NOVO}...
Transferência SCP
Enviar [Arquivos] Entre Servidores
scp /root/db-backups...
Descompactação Turbo (Pigz)
Extração multi-core de .tar.gz
pigz -dc /root/file.tar.gz | tar -xvf -
Setup & Ambiente (Instalação)
Hardware de Referência (Produção)
Ideal para Alta CargaRecomendação
Copie os blocos abaixo individualmente para evitar erros de execução no terminal.
1. Preparação do Sistema (Libs)
Configuração i386 e dependência gráfica libgd3.
sudo dpkg --add-architecture i386
sudo apt update
sudo apt --fix-broken install
sudo apt install -y libgd3:i386
sudo apt list --upgradable
sudo apt-mark showhold
sudo apt --fix-broken install
2. Apache2 & Repositório PHP
Instalação do servidor web e repositório Ondrej.
sudo apt update
sudo apt install apache2
sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
3. Instalação PHP 7.2 & FPM
Instala CLI, FPM e extensões. Define alternativa 7.4.
sudo apt-get install php7.2-cli libapache2-mod-php7.2 php7.2-mysql php7.2-curl php-memcached php7.2-dev php7.2-sqlite3 php7.2-mbstring php7.2-gd php7.2-json -y
sudo a2enmod rewrite
# FPM
sudo apt install -y php7.2-fpm php7.2-mysql php7.2-cli php7.2-mbstring php7.2-xml php7.2-curl
sudo update-alternatives --set php /usr/bin/php7.4
4. Ativar MPM Event & HTTP2
Configuração avançada de performance Apache.
sudo a2enconf php7.2-fpm
sudo a2dismod php7.2
sudo service apache2 restart
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo service apache2 restart
sudo a2ensite cloudflare.conf
sudo a2enmod proxy_fcgi setenvif
sudo a2enmod http2
sudo a2enmod ssl
sudo systemctl restart apache2
5. Limites do Sistema (Open Files)
Editar /etc/security/limits.conf e Timezone.
root soft nofile 1048576
root hard nofile 1048576
# Configurar Timezone
dpkg-reconfigure tzdata
6. Limites MariaDB
Criar service override para MariaDB.
sudo mkdir -p /etc/systemd/system/mariadb.service.d
sudo nano /etc/systemd/system/mariadb.service.d/limits.conf
# COLAR DENTRO DO ARQUIVO:
[Service]
LimitNOFILE=1048576
# APLICAR
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart mariadb
7. Java SDK, Wine & Node.js (Final)
Instalação final das dependências do Traccar e ferramentas de monitoramento.
sudo apt install -y openjdk-11-jdk zip unzip innoextract wine wine32 makeself nodejs
# Se houver falha no Wine acima:
sudo apt install -y wine64
sudo apt install -y wine32
# Ferramentas Monitoramento (CPU/RAM/Disco)
sudo apt-get install bc
Arquivos de Configuração
Scripts de Automação (/root)
Cronjobs & Backups
# --- Automação e Manutenção ---
/root/crontab-contabo # Realiza Snapshots através da Api da Contaboo
/root/root/crontab-jornada-graficos # Realiza o cáculo dos relatórios/Menus de [Jornada de Trabalho + Gráficos]
/root/crontab-jornada-graficos-emergencia # Selecionar data específica para corrigir (index.php linha 2)
/root/crontab-manutencao-push-notifications # Envia notificações Push de Manutenção para usuários
/root/crontab-refinamento # Script refinamento dados últimos (30) dias (Menu Minha Conta > Sincronizações)
# --- Sistema e Monitoramento ---
/root/restart.sh # Reinicia o serviço traccar de forma segura validando etapas
/root/inatividade.py # Envia E-mail de inatividade Cpu/Ram/Armazenamento +70%
/root/clean.php # Limpeza do banco de dados conforme cadastro do cliente
# --- Backup e Transferência ---
/root/backup.sh # Backup seguro com mysqldump [Tabela Única SQL]
/root/db-backups-files # Diretório: Arquivos SQLs Zipados do [Banco de Dados]
/root/db-download-files # Diretório: Onde é baixado o DB do Servidor Secundário
/root/sql-get.php # Download dos arquivos no servidor de [Backup]
/root/sql-send.php # Envia os arquivos para o servidor de [Backup]
/root/ftp_transfer.log # Logs dos envios para servidor de [Backup]
mod_evasive20.c
Proteção DDoS/DoS
# Tabela de hash para rastrear IPs
DOSHashTableSize 3097
# Permissivo: 200 requisições à mesma página em 2 segundos
DOSPageCount 200
DOSPageInterval 2
# Permitir até 2000 requisições no site em 2 segundos
DOSSiteCount 2000
DOSSiteInterval 2
# Bloqueio mais curto (30 segundos apenas)
DOSBlockingPeriod 30
# Notificação por e-mail
DOSEmailNotify backesrastreamento@gmail.com
# (Opcional) Desabilite o bloqueio via nftables para evitar queda de conexões legítimas
#DOSSystemCommand "nft add rule inet filter input ip saddr %s drop"
# Diretório de logs
DOSLogDir "/var/log/mod_evasive"
# Whitelist de IPs confiáveis
DOSWhitelist 127.0.0.1
DOSWhitelist 172.68.0.0/14 # Cloudflare range
DOSWhitelist 172.71.0.0/16 # Cloudflare range
/etc/sysctl.conf
Kernel Tuning
# /etc/sysctl.conf - Configurações avançadas de rede, segurança e desempenho
# ------------------------------------------------------------
# 1. Proteção Contra Ataques de Rede
# ------------------------------------------------------------
net.ipv4.conf.all.accept_redirects = 0 # Desativa a aceitação de redirecionamentos ICMP para evitar ataques de redirecionamento
net.ipv4.conf.default.accept_redirects = 0 # Desativa a aceitação de redirecionamentos ICMP por padrão
net.ipv6.conf.all.accept_redirects = 0 # Desativa a aceitação de redirecionamentos ICMPv6
net.ipv4.conf.all.accept_source_route = 0 # Desativa o roteamento de origem para pacotes IPv4 para evitar spoofing
net.ipv6.conf.all.accept_source_route = 0 # Desativa o roteamento de origem para pacotes IPv6
net.ipv4.icmp_echo_ignore_broadcasts = 1 # Ignora solicitações ICMP para endereços de broadcast (evita amplificação)
net.ipv4.conf.all.log_martians = 1 # Habilita o registro de pacotes "Martian" (endereços inválidos)
# Proteção contra IP Spoofing
net.ipv4.conf.all.rp_filter = 1 # Ativa a filtragem de pacotes com IPs falsificados
net.ipv4.conf.default.rp_filter = 1 # Ativa a filtragem por padrão para todas as interfaces
# Proteção adicional contra ataques
net.ipv4.conf.all.secure_redirects = 0 # Desativa redirecionamentos ICMP seguros
net.ipv4.conf.default.secure_redirects = 0 # Desativa redirecionamentos ICMP seguros para todas as interfaces
# ------------------------------------------------------------
# 2. Proteção Contra Explorações e Buffer Overflow
# ------------------------------------------------------------
kernel.randomize_va_space = 2 # Ativa randomização do espaço de endereços para proteger contra exploits
kernel.exec-shield = 1 # Protege contra execução de código não autorizado
#kernel.panic_on_oops = 1 # Reinicia o sistema em caso de erro crítico do kernel
fs.protected_hardlinks = 1 # Protege contra ataques de escalonamento de privilégios via hardlinks
fs.protected_symlinks = 1 # Protege contra ataques de escalonamento de privilégios via symlinks
kernel.yama.ptrace_scope = 1 # Restringe o uso de ptrace para processos do mesmo usuário
kernel.kptr_restrict = 1 # Restringe a leitura de ponteiros do kernel
kernel.dmesg_restrict = 1 # Restringe o acesso ao buffer dmesg
#kernel.modules_disabled = 1 # Desativa a carga de módulos de kernel
fs.suid_dumpable = 0 # Desativa o despejo de processos com UID 0 (root)
# Proteção de permissões avançada
kernel.core_uses_pid = 1 # Anexa o PID ao core dump para evitar substituições
kernel.kexec_load_disabled = 1 # Desativa carregamento de novos kernels via kexec
# ------------------------------------------------------------
# 3. Proteção Contra Ataques DoS e DDoS
# ------------------------------------------------------------
net.ipv4.icmp_ratelimit = 100 # Limita a taxa de pacotes ICMP para evitar ataques de DoS
net.ipv4.icmp_ratemask = 88089 # Configura a máscara de taxa de ICMP
# Proteção contra ataques SYN Flood
net.ipv4.tcp_syncookies = 1 # Habilita cookies SYN para prevenir ataques SYN flood
net.ipv4.tcp_synack_retries = 2 # Reduz o número de tentativas SYN/ACK para mitigar ataques
# Limites de conexões
net.ipv4.tcp_max_syn_backlog = 65535 # Define o tamanho máximo da fila de conexões SYN
net.ipv4.netfilter.ip_conntrack_max = 16777216 # Aumenta o número máximo de conexões rastreadas pelo Netfilter
# ------------------------------------------------------------
# 4. Melhorias de Desempenho de Rede e TCP
# ------------------------------------------------------------
net.ipv4.tcp_rmem = 4096 65536 33554432 # Ajuste de buffer de recepção TCP para alto desempenho
net.ipv4.tcp_wmem = 4096 65536 33554432 # Ajuste de buffer de envio TCP
net.ipv4.tcp_retries2 = 8 # Define o número de tentativas de retransmissão TCP
net.ipv4.tcp_keepalive_time = 60 # Define o tempo antes de enviar pacotes de keepalive
net.ipv4.tcp_keepalive_intvl = 10 # Intervalo entre pacotes keepalive TCP
net.ipv4.tcp_keepalive_probes = 5 # Número de pacotes keepalive antes de encerrar conexão
net.ipv4.tcp_congestion_control = bbr # Algoritmo de controle de congestionamento como BBR
net.ipv4.tcp_max_tw_buckets = 1048576 # Aumenta o número de buckets para conexões TIME_WAIT
net.ipv4.tcp_tw_reuse = 1 # Permite reutilização de conexões TIME_WAIT
net.ipv4.tcp_fin_timeout = 15 # Reduz o tempo de espera para conexões em estado FIN
# Offloading de Rede
net.ipv4.tcp_tso = 1 # Habilita TCP Segmentation Offload (TSO)
net.ipv4.tcp_ecn = 0 # Desativa Explicit Congestion Notification (ECN)
# ------------------------------------------------------------
# 5. Configurações de Alta Disponibilidade
# ------------------------------------------------------------
net.core.somaxconn = 65535 # Número máximo de conexões pendentes
net.core.netdev_max_backlog = 100000 # Tamanho da fila de backlog para a interface de rede
net.ipv4.tcp_orphan_retries = 0 # Tentativas para reestabelecer conexões órfãs
net.ipv4.tcp_max_syn_backlog = 65535 # Tamanho máximo da fila de conexões SYN
# Buffer de envio e recepção
net.core.rmem_max = 33554432 # Tamanho máximo do buffer de recepção de rede
net.core.wmem_max = 33554432 # Tamanho máximo do buffer de envio de rede
# ------------------------------------------------------------
# 6. Ajustes de Cache e Memória
# ------------------------------------------------------------
vm.swappiness = 10 # Define a tendência de usar swap como 10
vm.dirty_ratio = 20 # Percentual máximo de memória suja antes de gravar no disco
vm.dirty_background_ratio = 10 # Percentual de memória suja para iniciar gravação no disco
vm.dirty_bytes = 67108864 # Define o limite de bytes sujos antes de gravar no disco
vm.dirty_background_bytes = 16777216 # Limite para escrita em segundo plano
fs.file-max = 1000000 # Número máximo de arquivos abertos simultaneamente
fs.inotify.max_user_watches = 524288 # Aumenta o número de inotify watches
# ------------------------------------------------------------
# 7. Outras Configurações
# ------------------------------------------------------------
kernel.sysrq = 1 # Habilita a tecla de solicitação mágica do sistema (SysRq)
# ==================================================================
# == OTIMIZAÇÃO DO TCP KEEPALIVE PARA O TRACCAR ==
# == Adicione estas linhas ao final do seu /etc/sysctl.conf ==
# ==================================================================
# Tempo (em segundos) que uma conexão deve ficar ociosa antes de começar a enviar as sondas Keep-Alive.
# Valor padrão do Linux é 7200 (2 horas). Reduzimos para 300 (5 minutos).
net.ipv4.tcp_keepalive_time = 300
# Intervalo (em segundos) entre cada sonda Keep-Alive individual, após o início.
# Se a primeira sonda não for respondida, o sistema espera 60 segundos para enviar a próxima.
net.ipv4.tcp_keepalive_intvl = 60
# Número de sondas Keep-Alive a serem enviadas antes de considerar a conexão como "morta".
# Com 5 sondas a cada 60s, o sistema levará mais 5 minutos para confirmar que o dispositivo caiu.
net.ipv4.tcp_keepalive_probes = 5
# --- CORREÇÃO DE SEGURANÇA ---
# Desativa o encaminhamento de pacotes, pois este não é um roteador.
net.ipv4.ip_forward = 0
50-server.cnf
MariaDB Config
# ====================================================================
# MariaDB Configuration File: my.cnf
# ====================================================================
# Este arquivo contém as configurações do servidor MariaDB.
# É importante garantir que todas as configurações sejam adequadas ao ambiente de produção,
# para otimizar a performance e segurança do banco de dados.
# ====================================================================
[server]
# Configurações que são lidas pelo servidor MariaDB.
# Use esta seção para opções que somente o servidor (e não os clientes) deve ver.
[mysqld]
# Configurações específicas para o daemon mysqld standalone.
local-infile = 0 # Impede que atacantes utilizem o comando LOAD DATA LOCAL INFILE para carregar arquivos maliciosos
transaction-isolation = READ-COMMITTED # Ajuda a melhorar a performance em cenários de alta concorrência
#default-time-zone = '-03:00'
# Timezone America/Sao_Paulo
# ====================================================================
# * Configurações Básicas
# ====================================================================
user = mysql # Usuário sob o qual o servidor irá operar.
socket = /run/mysqld/mysqld.sock # Socket utilizado para conexões locais.
port = 3444 # Porta na qual o MariaDB escuta conexões.
basedir = /usr # Diretório base do servidor MariaDB.
datadir = /var/lib/mysql # Diretório de dados do MariaDB.
tmpdir = /tmp # Diretório para arquivos temporários.
lc-messages-dir = /usr/share/mysql # Diretório para mensagens localizadas.
#skip-external-locking # Opção para desabilitar bloqueio externo.
# ====================================================================
# * Ajustes Gerais
# ====================================================================
pid-file = /run/mysqld/mysqld.pid # Arquivo PID do servidor MariaDB.
#bind-address = 127.0.0.1 # IP no qual o MariaDB aceita conexões (0.0.0.0 aceita todas).
bind-address = 0.0.0.0 # IP no qual o MariaDB aceita conexões (127.0.0.1 aceita apenas local).
max_connections = 500 # Número máximo de conexões simultâneas.
table_open_cache = 4000 # Máximo de tabelas abertas em cache.
tmp_table_size = 256M # Tamanho máximo para tabelas temporárias em memória.
max_heap_table_size = 256M # Tamanho máximo para tabelas temporárias em consultas complexas.
join_buffer_size = 2M # Buffer para operações de junção.
sort_buffer_size = 4M # Buffer para operações de classificação.
read_buffer_size = 4M # Buffer para leitura de blocos de dados.
read_rnd_buffer_size = 8M # Buffer para leitura de blocos de dados aleatórios.
# ====================================================================
# * Cache e Buffers
# ====================================================================
query_cache_type = 0 # Tipo de cache de consultas (0 desativa o cache).
query_cache_size = 0 # Tamanho do cache de consultas (0 para desativá-lo).
innodb_buffer_pool_size = 25G # Buffer pool do InnoDB para armazenar dados e índices em memória.
innodb_log_buffer_size = 512M # Buffer para logs de transações InnoDB.
innodb_flush_method = O_DIRECT # Método de flush direto para evitar duplicação em caches de sistema.
#innodb_flush_method = O_DIRECT_NO_FSYNC # Melhor desempenho, menos seguro sem hardware adequado.
innodb_flush_log_at_trx_commit = 2 # Configura flush de log a cada transação (2 para maior desempenho).
innodb_log_file_size = 5G # Tamanho do arquivo de log de transações InnoDB.
innodb_io_capacity = 20000 # Capacidade de I/O do InnoDB.
innodb_io_capacity_max = 100000 # Capacidade máxima de I/O do InnoDB para picos de carga.
innodb_thread_concurrency = 32 # Número máximo de threads InnoDB simultâneos.
innodb_read_io_threads = 16 # Threads de leitura do InnoDB.
innodb_write_io_threads = 16 # Threads de escrita do InnoDB.
innodb_buffer_pool_instances = 24 # Instâncias do buffer pool para concorrência.
innodb_doublewrite = 1 # Desativa escrita dupla para redução de overhead.
innodb_flush_neighbors = 0 # Desativa flush vizinho em SSDs.
innodb_adaptive_hash_index = 1 # Ativa índice de hash adaptativo.
innodb_max_dirty_pages_pct = 50 # Limite de páginas sujas para escrita em segundo plano.
innodb_stats_on_metadata = 0 # Desativa atualização automática de estatísticas em metadados.
thread_handling = pool-of-threads # Gerenciamento de threads para múltiplas conexões.
thread_pool_size = 12 # Tamanho do pool de threads (um por núcleo de CPU).
innodb_strict_mode = 1 # Ativa modo estrito para maior consistência nos dados InnoDB.
innodb_use_native_aio = 1 # Habilita AIO nativo para melhor desempenho e segurança.
innodb_checksum_algorithm = strict_crc32 # Utiliza um algoritmo de checksum mais seguro.
table_definition_cache = 4096 # Cache de definições de tabelas para reduzir leituras do disco.
table_open_cache_instances = 16 # Divide o cache de tabelas abertas para evitar contenção.
net_buffer_length=32768 # Exemplo: 32 KB controla o tamanho inicial do buffer usado para comunicação entre o cliente e o servidor durante a troca de dados.
# ====================================================================
# * Segurança e Logs
# ====================================================================
log_error = /var/log/mysql/error.log # Arquivo de log de erros.
expire_logs_days = 14 # Dias para retenção de logs binários.
max_binlog_size = 512M # Tamanho máximo de log binário.
slow_query_log = 1 # Ativa log de consultas lentas.
slow_query_log_file = /var/log/mysql/slow.log # Arquivo de log de consultas lentas.
long_query_time = 2 # Tempo mínimo para logar consultas lentas (em segundos).
max_allowed_packet = 512M # Tamanho máximo do pacote de comunicação.
innodb_large_prefix = 1 # Ativa prefixo grande para índices InnoDB.
log_bin_trust_function_creators = 1 # Permite triggers e funções do usuário.
plugin-load-add = unix_socket # Autenticação via socket para root.
log_warnings = 2 # Ativa avisos detalhados no log de erros.
general_log = 0 # Ativa log geral (pode gerar logs extensos, monitorar e desativar quando não necessário).
general_log_file = /var/log/mysql/general.log # Define o arquivo de log geral.
log_slow_admin_statements = 1 # Ativa log para comandos administrativos lentos.
log_slow_slave_statements = 1 # Ativa log para comandos lentos de replicação.
# ====================================================================
# * Modos SQL
# ====================================================================
sql_mode = STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,ONLY_FULL_GROUP_BY
# Ativa modos SQL para maior controle e integridade.
# ====================================================================
# * Charset
# ====================================================================
character-set-server = utf8mb4 # Charset padrão do servidor.
collation-server = utf8mb4_general_ci # Collation padrão do servidor.
# ====================================================================
# * Segurança SSL (Comentado por padrão)
# ====================================================================
#ssl-ca = /etc/mysql/cacert.pem # Autoridade certificadora para conexões SSL.
#ssl-cert = /etc/mysql/server-cert.pem # Certificado do servidor para SSL.
#ssl-key = /etc/mysql/server-key.pem # Chave privada do servidor para SSL.
#require_secure_transport = ON # Exige conexões seguras com SSL/TLS.
[embedded]
# Configurações para servidores embutidos.
[mariadb]
# Configurações específicas para o MariaDB.
[mariadb-11.7.2]
# Configurações específicas para MariaDB versão 11.7.2.
tracker.service
Systemd Unit
[Unit]
Description=Traccar Service - High Performance (Shared Server w/ DB)
# Garante que o serviço só inicia após a rede e o MariaDB estarem prontos
After=network.target mariadb.service
Wants=mariadb.service
[Service]
# Roda como um usuário não-root por segurança
User=traccar
Group=traccar
Type=simple
WorkingDirectory=/opt/traccar
# --- Comando de inicialização focado em COMPATIBILIDADE e Estabilidade ---
ExecStart=/usr/lib/jvm/java-11-openjdk-amd64/bin/java \
# 1. MEMÓRIA: Valor CONSERVADOR para não competir com os 25GB do MariaDB.
Ex: 8GB em um servidor de 64GB.
-Xms12G -Xmx12G \
# 2. POOLS: Reduzidos para diminuir a carga na CPU e o número de conexões ativas simultaneamente.
-Dthread.pool.size=200 \
-Ddb.pool.size=80 \
# 3. GARBAGE COLLECTOR (GC): Configuração G1GC limpa e comprovada para baixa latência.
-XX:+UseG1GC \
-XX:MaxGCPauseMillis=100 \
-XX:InitiatingHeapOccupancyPercent=40 \
# 4. OTIMIZAÇÕES JVM SEGURAS: Apenas as que não causam bugs.
-Djava.awt.headless=true \
-XX:+AlwaysPreTouch \
-XX:+UseStringDeduplication \
-XX:+UseNUMA \
# 5. STACK DE THREAD: Mantido em 1MB para estabilidade.
-Xss1M \
# Caminho para o arquivo JAR do Traccar
-jar /opt/traccar/tracker-server.jar /opt/traccar/conf/traccar.xml
# Identificador nos logs
SyslogIdentifier=traccar-server
SuccessExitStatus=143
# Políticas de reinicialização para estabilidade
Restart=on-failure
RestartSec=5
TimeoutStartSec=180
TimeoutStopSec=120
# 6. RECURSOS: PRIORIDADES REMOVIDAS para não competir com o MariaDB.
Deixe o Kernel decidir.
# Nice=-10 (Removido)
# IOSchedulingPriority=2 (Removido)
# CPUAffinity=0-15 (Removido)
# 7. SEGURANÇA: Mantém as excelentes diretivas de hardening do systemd.
ProtectSystem=full
ProtectHome=read-only
PrivateTmp=true
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
/etc/nftables.conf
Firewall Rules
#!/usr/sbin/nft -f
table inet filter {
chain input {
type filter hook input priority 0;
policy drop;
##############################
# Proteções base do sistema
##############################
# Permitir tráfego local
iifname "lo" accept;
ip daddr 127.0.0.0/8 iifname != "lo" drop;
# Permitir conexões estabelecidas
ct state established,related accept;
# Bloquear pacotes inválidos
ct state invalid drop;
# Proteção contra fragmentação IP
ip frag-off & 0x1fff != 0 drop;
# Permitir apenas tráfego na interface principal
iifname != "eth0" drop;
##############################
# Proteção contra abusos
##############################
# SYN flood (conexões TCP)
ip protocol tcp tcp flags syn limit rate 50/second accept;
# Ping (limitado)
ip protocol icmp icmp type echo-request limit rate 5/second accept;
# Drop para outros tipos de ICMP (opcional)
ip protocol icmp drop;
##############################
# Liberação de portas TCP
##############################
# Web
tcp dport { 80, 443 } accept;
# Admin/API/Rastreamento
tcp dport { 2012, 3031, 7097, 7070, 6069, 7096, 7191, 8082, 8191, 10000 } accept;
tcp dport { 433, 4444, 5015, 5034, 5056, 5143, 5222, 5228, 5229, 5230, 5368, 5397, 5555 } accept;
tcp dport 5001-5215 accept;
##############################
# Liberação específica - Banco de Dados (Renan Desenvolvimento)
##############################
tcp dport 3444 ip saddr { 89.117.79.83, 138.59.131.44, 191.36.159.25 } accept;
# FTP
tcp dport 21 accept;
##############################
# Antispoofing - IPs inválidos
##############################
ip saddr 10.0.0.0/8 drop;
ip saddr 172.16.0.0/12 drop;
ip saddr 192.168.0.0/16 drop;
ip saddr 169.254.0.0/16 drop;
##############################
# Log de pacotes bloqueados
##############################
log prefix "Bloqueado: " limit rate 5/second
}
chain forward {
type filter hook forward priority 0;
policy drop;
}
chain output {
type filter hook output priority 0;
policy accept;
}
}
/etc/crontab
Automation
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d.
These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
# You can also override PATH, but by default, newer versions inherit it from the environment
#PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# Example of job definition:
# .---------------- minute (0 - 59)
# |
.------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | |
.------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | |
.---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron ||
( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron ||
( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron ||
( cd / && run-parts --report /etc/cron.monthly )
#
Apache VirtualHosts
Web Config
ServerAdmin webmaster@sistemabackes.com.br
ServerName sistemabackes.com.br
ServerAlias www.sistemabackes.com.br
DocumentRoot /var/www/html
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
SecRuleEngine On
SecRule ARGS:testparam "@contains test" "id:999,deny,status:403,msg:'Test Successful'"
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =sistemabackes.com.br [OR]
RewriteCond %{SERVER_NAME} =www.sistemabackes.com.br
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
ServerAdmin webmaster@sistemabackes.com.br
ServerName sistemabackes.com.br
ServerAlias www.sistemabackes.com.br
DocumentRoot /var/www/html
Options -Includes -ExecCGI -Indexes -FollowSymLinks
AllowOverride All
Require all granted
SecRuleEngine On
SecRule ARGS:testparam "@contains test" "id:999,deny,status:403,msg:'Test Successful'"
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/sistemabackes.com.br-0001/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/sistemabackes.com.br-0001/privkey.pem
Protocols h2
Infraestrutura & Acessos
PRODUÇÃO
SSH / FTP / SFTP
Database
DESENVOLVIMENTO
SSH / FTP
Database
NOMINATIM
SSH / FTP
Database