Categoria: Geral

  • UFW – Uncomplicated FireWall

    Introdução

    Para uma introdução consultar o artigo Firewall.

    UFW – Uncomplicated FireWall

    A ferramenta de configuração padrão da firewall para o Ubuntu é ufw. Desenvolvido para facilitar a configuração da firewall do iptables, o ufw fornece uma maneira fácil de criar uma firewall baseada em host IPv4 ou IPv6. Por padrão, o UFW está desativado.

    Gufw é uma GUI disponível como front-end.

    Sintaxe e exemplos básicos

    As regras padrão são aceitáveis para o utilizador.

    Quando o UFW for ativo, vai usar um conjunto de regras (perfis) padrão que devem ser aceitáveis para o utilizador doméstico mediano. Esse é o objetivo principal dos desenvolvedores do Ubuntu. Em resumo, todas as ‘entradas’ são rejeitadas, com algumas exceções para facilitar as coisas para os utilizadores domésticos.
    ( Procurar as exceções à data de edição )

    Ativar e desativar

    Ativar UFW

    sudo ufw enable

    Para verificar o status do UFW:

    sudo ufw status verbose

    A saída deve ser assim:

    utilizador@nomecomputador:~$ sudo ufw status verbose
    [sudo] password for youruser:
    Status: active
    Logging: on (low)
    Default: deny (incoming), allow (outgoing)
    New profiles: skip
    utilizador@nomecomputador:~$

    Observar que, por padrão, negar está a ser aplicado à entrada. Há exceções, que podem ser encontradas na informação que gera o proximo comando:

    sudo ufw show raw

    Também podemos ler os ficheiros de regras em /etc/ufw (os arquivos cujos nomes terminam em .rules).

    Desativar UFW

    Para desativar o ufw, usar: sudo ufw disable .

    Permitir e Negar (regras específicas)

    Allow (permitir)

    Sintaxe: sudo ufw allow <port>/[protocol]

    exemplo: para permitir pacotes TCP e UDP recebidos na porta 53

    sudo ufw allow 53

    exemplo: para permitir pacotes TCP recebidos na porta 53

    sudo ufw allow 53/tcp

    exemplo: para permitir pacotes udp recebidos na porta 53

    sudo ufw allow 53/udp

    Permitir IP específico

    Sintaxe: sudo ufw allow from <ip address>

    exemplo: Para permitir pacotes de 207.46.232.182:

    sudo ufw allow from 207.46.232.182

    Permitir por sub-rede

    sudo ufw allow from 192.168.1.0/24

    Permitir por porta e endereço IP específicos

    Sintaxe: sudo ufw allow from <target> to <destination> port <port number>

    exemplo: permitir que o endereço IP 192.168.0.4 aceda a porta 22 para todos os protocolos

    sudo ufw allow from 192.168.0.4 to any port 22

    Permitir por porta, endereço IP e protocolo específicos

    Sintaxe: sudo ufw allow from <target> to <destination> port <port number> proto <protocol name>

    exemplo: permite que o endereço IP 192.168.0.4 aceda à porta 22 e usar TCP

    sudo ufw allow from 192.168.0.4 to any port 22 proto tcp

    Deny

    Em desenvolvimento

    Drop PING

    Nota: A segurança por obscurecimento pode trazer muito pouco benefício real nos scripts modernos dos crackes. Por padrão, o UFW permite solicitações de ping. Pode deixar as solicitações de ping (icmp) ativadas para ajudar a diagnosticar problemas de rede.

    Para desativar as solicitações de ping (icmp), precisa editar o /etc/ufw/before.rules e remover ou comentar as seguintes linhas:

    # ok icmp codes
    -A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
    -A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT
    -A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
    -A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
    -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

    ou mudar o “ACCEPT” para “DROP”. E fica:

    # Não ok icmp codes
    -A ufw-before-input -p icmp --icmp-type destination-unreachable -j DROP
    -A ufw-before-input -p icmp --icmp-type source-quench -j DROP
    -A ufw-before-input -p icmp --icmp-type time-exceeded -j DROP
    -A ufw-before-input -p icmp --icmp-type parameter-problem -j DROP
    -A ufw-before-input -p icmp --icmp-type echo-request -j DROP

    Fonte: https://help.ubuntu.com/community/UFW

  • PS3 em modo seguro (Safe Mode):

    1 – Com a TV desligada e a PS3 desligada, ligar apenas o cabo HDMI entre estes.

    2 – Ligar a TV e selecionar a entrada correta que está ligada à PS3.

    3 -Manter pressionado o botão de ligar/desligar da PS3 até ouvir 3 sons (bips).

    a. 1º bip – liga o sistema

    b. 2º bip – redefine a saída de vídeo

    c. 3º bip – desliga o sistema.

    Neste momento, a PS3 deve estar desligada. Caso contrário, repetir as etapas acima.

    4 -Pressionar e manter pressionado o botão ligar/desligar, novamente, até ouvir os seguintes bips:

    a . 1º bipe – liga o sistema

    b. Sinal sonoro duplo – coloca a PS3 em modo de segurança. Soltar o botão ligar/desligar, caso contrário o sistema será desligado no próximo bip.

    A esta altura, será mostrado um menu com 6 opções destacadas no ecrã. Caso contrário e se há a certeza que foram concluidas as etapas acima corretamente, entre em contato com a Sony e solicite assistência. Continue se aparecer o menu.

    5 – Selecionar “Redefinir sistema” ou algo do género. Deverá ser o #1 item do menu.

    6 – Após a reinicialização do sistema, no ecrã informa que detectou um dispositivo HDMI. Selecionar “Sim” para configurar a PS3 para a saída HDMI.

    7 – Após a saída HDMI ter sido configurada, no ecrã, é perguntado se queremos configurar a saída HDMI para obter as configurações ideais, selecionar “Sim” e a resolução do ecrã deve usar as configurações ideais.

    8 – O menu normal da PS3 deve aparecer neste momento e o problema deve ficar resolvido.

    Fonte: https://www.ifixit.com/Answers/View/15658/Why+doesnt+my+PS3+power+up

  • Samba como controlador de domínio do Active Directory

    Pré-requisitos:

    • Debian 10 (buster) instalado.
    • É obrigatório que o IP seja estático: Adicionar no router um IP estático no servidor DHCP ou configurar o interface da máquina onde iremos instalar o controlador de domínio.
    • Escolher o nome de acordo com:  https://wiki.samba.org/index.php/Active_Directory_Naming_FAQ

    1 – Pré-instalação

    Verificar se o pacote resolvconf está instalado

    apt search resolvconf

    Verificar que nenhum processo do Samba está a correr:

    ps ax | egrep "samba|smbd|nmbd|winbindd"

    Adicionar a linha que se segue ao ficheiro “/etc/hosts” (Alterar o ip 10.0.0.1 de acordo com com o ip do próprio controlador de domínio):

    10.0.0.1     dc1.empresa.o.teu.dominio dc1

    Fica semelhante a :

    127.0.0.1       localhost
    10.0.0.1        dc1.empresa.o.teu.dominio dc1
    
    ::1             localhost ip6-localhost ip6-loopback
    ff02::1         ip6-allnodes
    ff02::2         ip6-allrouters

    2 – Instalação do samba no Debian 10:

    apt install acl attr samba samba-dsdb-modules samba-vfs-modules winbind libpam-winbind libnss-winbind libpam-krb5 krb5-config krb5-user dnsutils

    Remover o ficheiro /etc/samba/smb.conf que foi criado durante a instalação:

    rm /etc/samba/smb.conf
    (mais…)
  • Protejer o Nginx com o Let’s Encrypt no Debian 10

    Let’s Encrypt é uma autoridade de certificação (CA) que fornece uma maneira direta de obter e instalar certificados TLS / SSL gratuitos, possibilitando HTTPS criptografado em servidores da de páginas web.

    Pré-requisitos

    • Debian 10 server. (tutorial pendente)
    • Um nome de domínio registado. Podem fazê-lo em registrars como o dns.pt. (tutorial pendente)
    • Registos dos DNS configurados para o teu servidor. (tutorial pendente)
    • Nginx instalado. Segui a primeira parte da instalação no link a seguir (Instalar Linux, Nginx, MariaDB, PHP (LEMP stack) no Debian 10).

    1 – Instalar o Certbot

    Atualizar a lista de pacotes entes de qualquer instalação:

    sudo apt update

    Instalar o pacote python3-certbot-nginx, se tudo correr normal, os pacotes dependentes também serão instalados:

    sudo apt install python3-certbot-nginx

    Pergunta se queremos instalar o pacote e dependencias, clicamos em <enter>.

    O Certbot está pronto para ser usado, mas para configurar o SSL no Nginx, precisamos verificar algumas das configurações do Nginx.

    2 – Verificar configuraçães do Nginx

    Se o nginx estiver configurado como diz no tutorial colocado em pré-requisitos, devemos ter a configuração com caminho “/etc/nginx/sites-available/o.teu.dominio“. Para verificar e se necessário alterar, fazer:

    sudo nano /etc/nginx/sites-available/o.teu.dominio

    É apresentado o editor de ficheiros “nano” com o conteúdo do caminho colocado à frente do nome do editor.

    Encontrar a linha com a diretiva “server_name” e verificar se tem os domínios corrects que queremos usar como nomes comuns nos certificados.

    #...outras diretivas e programas antes
    server_name o.teu.dominio www.o.teu.dominio;
    #...outras diretivas e programas depois

    Se está correto só é necessário fechar com “ctrl+x” no teclado. Caso os domínios não forem os corretos, proceder com as alterações e guardar e fechar com “ctrl+x” carregar em “Y” ou “S” (depende da configuração da linguagem) e então carregar em <enter> para guardar no caminho apresentado.

    Testar a configuração:

    sudo nginx -t

    Se as mensagens apresentarem erros, fazer verificação do ficheiro de configuração. Caso apresente configuração com sucesso proceder ao reinício do serviço nginx:

    sudo systemctl reload nginx

    Com esta configuração o Certbot pode encontrar o bloco de servidor correto e atualizá-lo. Que será o próximo passo.

    Nota: a esta altura já deveríamos ter a firewall do servidor configurada para permitir tráfego seguro, porta 443. Caso não esteja, fazer as alterações necessárias que podem ver na ligação que está em pré.requisitos na instalação do nginx.

    3 – Obter o certificado SSL

    O Certbot tem a possibilidade de obter certificados através de plugins (software adicional). O plugin do nginx “--nginx” toma conta da configuração dos certificados no(s) servidor(s) que correspondem aos domínios colocados em argumento (“-d“) e faz o reinício do servidor, se necessário, como vamos poder ver a seguir:

    sudo certbot --nginx -d o.teu.dominio -d www.o.teu.dominio -d outros.dominios.se.necessario

    Se tivermos sucesso, o Certbot perguntará como desejamos definir as configurações de HTTPS.

    Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    1: No redirect - Make no further changes to the webserver configuration.
    2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
    new sites, or if you're confident your site works on HTTPS. You can undo this
    change by editing your web server's configuration.
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

    Se estamos aqui é porque não estamos muito acostumados com a criação de certificados ou porque o queremos fazer de forma mais rápida. Sendo assim a resposta será a “2” e pressionamos <enter> . Se tudo funcionar bem iremos obter algo como:

    Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/o.teu.dominio
    Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/o.teu.dominio
    Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/o.teu.dominio
    nginx: [warn] "ssl_stapling" ignored, issuer certificate not found for certificate "/etc/ssl/certs/nginx-selfsigned.crt"
    
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Congratulations! You have successfully enabled https://o.teu.dominio,
    https://www.o.teu.dominio, and https://outros.dominios.se.necessario
    
    You should test your configuration at:
    https://www.ssllabs.com/ssltest/analyze.html?d=o.teu.dominio
    https://www.ssllabs.com/ssltest/analyze.html?d=www.o.teu.dominio
    https://www.ssllabs.com/ssltest/analyze.html?d=outros.dominios.se.necessario
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    
    IMPORTANT NOTES:
     - Congratulations! Your certificate and chain have been saved at:
       /etc/letsencrypt/live/o.teu.dominio/fullchain.pem
       Your key file has been saved at:
       /etc/letsencrypt/live/o.teu.dominio/privkey.pem
       Your cert will expire on 2020-03-05. To obtain a new or tweaked
       version of this certificate in the future, simply run certbot again
       with the "certonly" option. To non-interactively renew *all* of
       your certificates, run "certbot renew"
     - Your account credentials have been saved in your Certbot
       configuration directory at /etc/letsencrypt. You should make a
       secure backup of this folder now. This configuration directory will
       also contain certificates and private keys obtained by Certbot so
       making regular backups of this folder is ideal.
     - If you like Certbot, please consider supporting our work by:
    
       Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
       Donating to EFF:                    https://eff.org/donate-le

    Nota: Se o nosso servidor estiver com um certificado auto-assinado, pode aparecer uma aviso que será ignorado mas devemos comentá-las:

    sudo nano /etc/nginx/sites-available/o.teu.dominio

    Colocar um “#” antes das linhas “include snippets/auto-assinado.conf;”  e  “include snippets/ssl-params.conf;” e passam a ser ignoradas:

    #...    
    #include snippets/auto-assinado.conf;
    #include snippets/ssl-params.conf;
    #...

    Guardar e fechar com “ctrl+x” carregar em “Y” ou “S” (depende da configuração da linguagem) e carregar em <enter> para guardar no caminho apresentado. Testar com:

    sudo nginx -t

    Reiniciar o servidor:

    sudo systemctl reload nginx

    Neste momento já devemos ter uma página com certificado Let’s Encrypt válido por 90 días e com o programados de tarefas “cron” configurado para que seja feita a renovação. Para verificar , fazer:

    cat /etc/cron.d/certbot

    Até à próxima…

  • Instalar Linux, Nginx, MariaDB, PHP (LEMP stack) no Debian 10

    Tutorial otimizado para Debian 10 “buster”.

    Pré-requisitos: Servidor Debian 10,

    Introdução

    “LEMP” é o acrónimo de Linux operating system, com o servidor web (E)Nginx . Os dados são armazenado na MariaDB e o processamento dinâmico é tratado pelo PHP.

    Instalar Nginx

    Atualizar a lista de pacotes

    sudo apt update

    Instalar Nginx

    sudo apt install nginx

    Depois de instalado, por norma, o servidor web fica funcional. Para testar abrimos um browser e verificamos com o ip do Servidor abre a página. Caso não abra pode ser de alguma firewall que possa estar a impedir. Em seguida vamos configurar a firewall para permitir ligações na porta 80.

    (mais…)
  • Orçamento de Estado

    Orçamento de Estado: documento que prevê e autoriza as receitas e as despesas a efectuar pelo Estado no ano seguinte.

    • elaborado pelo Ministério das Finanças
    • aprovado pelo Governo
    • apresentado à Ass. da República para discussão e aprovação final

    No Orçamento existem 3 elementos:

    • Económico (previsão da actividade financeira)
    • Político (autorização para a realização dessa actividade)
    • Jurídico (controlo legislativo dos poderes das administrações públicas no domínio financeiro)

    Funções do Orçamento de Estado:

    • adaptação das despesas às receitas
    • limitação das despesas
    • exposição do plano financeiro do Estado

    …permite:

    (mais…)

    Páginas: 1 2