anúncios

segunda-feira, 30 de janeiro de 2023

Configurando o TeamPass no ambiente Docker

TeamPass é uma ferramenta gerenciador de senhas open source que permite armazenar senhas de maneira segura e controlada. Ele foi desenvolvido para ser usado em equipes de trabalho, permitindo que os membros compartilhem senhas de contas de serviços online e de redes de computadores sem precisar compartilhar informações pessoais ou confidenciais.

O TeamPass usa criptografia de 256 bits para proteger as senhas e outras informações sensíveis, e oferece uma interface de usuário intuitiva e fácil de usar para gerenciar as senhas. Ele também fornece recursos de controle de acesso, permitindo que os administradores definam permissões para diferentes usuários e grupos.

Um dos principais recursos do TeamPass é a capacidade de compartilhar senhas com outras pessoas de maneira controlada. Os administradores podem criar grupos e atribuir permissões para cada membro, permitindo que alguns usuários vejam apenas algumas senhas, enquanto outros têm acesso completo. Isso ajuda a garantir que as informações confidenciais só sejam compartilhadas com as pessoas certas.

Além disso, o TeamPass possui recursos avançados de segurança, como autenticação de dois fatores, que adiciona uma camada adicional de proteção às senhas armazenadas. Ele também oferece relatórios de auditoria para rastrear as atividades dos usuários e detectar qualquer comportamento suspeito.

Em resumo, o TeamPass é uma ferramenta poderosa e fácil de usar para gerenciar senhas em equipes. Ele oferece uma solução segura e controlada para compartilhar senhas e outras informações sensíveis, e possui recursos avançados de segurança e auditoria para garantir a segurança das informações.

O TeamPass é um sistema de código aberto distribuído. Isso significa que pode instalar e configurar no servidor em sua própria infraestrutura ou VPS (Virtual Private Server). Desta forma, têm mais controle sobre os dados, incluindo onde e como os dados são armazenados e como são processados. Além disso, garante que seus dados fiquem fora de centros de dados de terceiros, tornando-os menos vulneráveis a violações de segurança.

Configurando o TeamPass no ambiente Docker

A premissa é ter o Docker e Docker-Compose instalados, caso ainda não tenha, verifique Instalando Docker e Docker Compose no Linux (qualquer distro) ou Instalando Docker no Windows 10

$ mkdir $HOME/ambiente-teampass-docker && cd $HOME/ambiente-teampass-docker

Crie o arquivo docker-compose.yml com o conteúdo abaixo:

$ vim docker-compose.yml

version: '3.3'

services:
  teampass:
    image: teampass/teampass
    container_name: teampass
    ports:
      - "8000:80"
    volumes:
      - ./$HOME/ambiente-teampass-docker/data:/var/www/html/teampass/includes/config
    environment:
      - TZ=America/Sao_Paulo
    restart: always

ESC + :x (salvar e sair do editor Vim)

$ docker-compose up -d

Aguarde o build concluir e depois no browser acessa http://localhost:8000 para acessar as configurações iniciais, conforme solicitado ajustando conforme o seu cenário.

Referências

https://teampass.net/

Feito!

sábado, 28 de janeiro de 2023

Conhecendo o Bitwarden

O que é Bitwarden?

Bitwarden é uma ferramenta de gerenciamento de senhas open source que permite armazenar e gerenciar senhas, cartões de crédito e outras informações sensíveis de forma segura. Com ele, você pode criar senhas fortes e únicas para cada conta, e acessá-las a partir de qualquer dispositivo com segurança.

A ferramenta é baseada em criptografia de ponta-a-ponta, o que significa que suas informações são criptografadas localmente em seu dispositivo antes de serem enviadas para o servidor. Isso significa que somente você tem acesso às suas informações, mesmo que alguém intercepte as informações enquanto elas estão sendo transmitidas.

Bitwarden também oferece recursos adicionais, como gerenciamento de senhas na equipe de trabalho, onde você pode compartilhar senhas com sua equipe de trabalho de maneira segura e controlar quem tem acesso a elas, e a capacidade de preencher automaticamente formulários de login com suas informações. Além disso, ele tem aplicativos para várias plataformas, incluindo Windows, Mac, Linux, iOS e Android, e também tem extensões de navegador para o Chrome, Firefox, Edge e Safari. Isso é especialmente útil para empresas e equipes que precisam compartilhar contas de serviços on-line.Em resumo, Bitwarden é uma ferramenta poderosa e fácil de usar para gerenciar suas senhas e informações sensíveis de forma segura. Com seus recursos de criptografia de ponta-a-ponta e gerenciamento de equipe, ele ajuda a garantir a segurança de suas informações enquanto facilita o compartilhamento e o acesso.

O Bitwarden é um sistema de código aberto distribuído. Isso significa que pode instalar e configurar no servidor em sua própria infraestrutura ou VPS (Virtual Private Server). Desta forma, os usuários têm mais controle sobre os dados, incluindo onde e como os dados são armazenados e como são processados. Além disso, garante que seus dados fiquem fora de centros de dados de terceiros, tornando-os menos vulneráveis a violações de segurança.

Além disso, também permite que personalize sua instalação, incluindo suporte para autenticação de SSO, integração com outros sistemas e configuração de políticas de segurança. Isso é especialmente útil para organizações que têm requisitos de segurança e conformidade rigorosos.

Instalando o Bitwarden no GNU/Linux (Debian ou Ubuntu)

Segue os procedimentos de instalação do Bitwarden na distro Linux Debian e serve também para Ubuntu

1. $ wget https://github.com/bitwarden/core/releases/download/v1.29.0/bitwarden_1.29.0_amd64.deb

2. $ sudo dpkg -i bitwarden_1.29.0_amd64.deb

3. Inicie o serviço do Bitwarden usando o comando systemctl

$ sudo systemctl start bitwarden

4. Configure o Bitwarden para iniciar automaticamente no boot

$ sudo systemctl enable bitwarden

5. Configure o firewall para permitir tráfego na porta HTTP (80) e HTTPS (443)

$ sudo ufw allow 80
$ sudo ufw allow 443

6. Certifique-se de ter um certificado SSL válido instalado e configurado para o seu domínio.

Para ambiente local, pode seguir um dos tutoriais: SSL self-signed-ssl no Apache OU SSL self-signed-ssl no Nginix . Caso seja em uma VPS, pode utilizar Let's Encrypt

7. Agora você pode acessar o Bitwarden no browser que utiliza, digite o endereço IP ou hostname do seu servidor.

8. Siga os passos de configuração inicial e configuração de segurança para concluir a instalação.

Nota: É importante manter seu servidor e o Bitwarden atualizado com as últimas correções de segurança e recomenda-se configurar a autenticação de dois fatores para aumentar a segurança da sua conta.

Referências

https://bitwarden.com/

Feito!

sábado, 21 de janeiro de 2023

Configurando servidor FTP no Linux (Debian, Ubuntu)

O File Transfer Protocol (FTP) é uma forma padrão de transferir arquivos entre computadores em uma rede. Ele é usado principalmente para transmissão de dados de servidores web para um computador local.

O FTP é um dos protocolos de rede mais antigos e foi originalmente criado em 1971. Desde então, o FTP se tornou um dos principais métodos de transferência de dados na web. É usado para hospedar sites, compartilhar arquivos e realizar backups.

A importância do FTP é que ele fornece uma maneira segura e eficaz de transferir arquivos entre computadores. É seguro porque os arquivos são transferidos com criptografia, o que significa que ninguém pode acessar os dados sem a autorização correta. Além disso, o FTP é extremamente rápido, pois os arquivos são transferidos diretamente entre os computadores, sem a necessidade de um servidor intermediário.

Outra vantagem significativa do FTP é que ele é compatível com quase todos os sistemas operacionais, incluindo Windows, Mac, Linux e Unix. Isso significa que os usuários de computadores diferentes podem transferir arquivos uns para os outros sem problemas.

O FTP também é uma ferramenta útil para aqueles que desejam hospedar seus próprios sites. Ao contrário de outros serviços de hospedagem, o FTP permite que os usuários façam upload de seus arquivos diretamente para o servidor, o que torna muito mais fácil criar e gerenciar um site.

Em suma, o FTP é um dos protocolos de rede mais antigos e mais importantes. É seguro, rápido e compatível com a maioria dos sistemas operacionais. Além disso, ele é ideal para aqueles que desejam hospedar seus próprios sites.

Portanto, o FTP é uma tecnologia e também uma ferramenta essencial para todos aqueles que trabalham com a web.

Instalando o FTP no Linux (Debian / Ubuntu)


$ sudo apt update

$ sudo apt install proftpd

Editar o arquivo de configuração do Proftpd

$ sudo vim /etc/protfpd/protpd.conf

Em ServerName coloque o nome de seu servidor

Em ServerType deixe standalone

Descomente a linha DefaultRoot e substitua ~ pelo caminho absoluto, por exemplo: /home/ftpusuario1 ou o diretório de sua escolha.

Salvar e sair do editor Vim, tecle ESC e digite :wq ou :x

Criando usuários e adicionado ao grupo para o FTP


$ sudo useradd -m -s /bin/false ftpusuario1

$ sudo passwd ftpusuario1

$ sudo usermod -aG ftp ftpusuario1

$ sudo usermod -d /home/ftp/usuario1 ftpusuario1

Isso irá criar o usuário sem acesso ao terminal, pois é exclusivo para acessar o servidor FTP.

Nota: Para usuários sem acesso a shell, é importante configurar o diretório home do usuário para o diretório de upload, para evitar que o usuário acesse outras partes do sistema.

Reiniciando o serviço Proftpd


$ sudo systemctl stop proftpd

$ sudo systemctl start proftpd

Para verificar se o proftpd esta em execução digite:

$ sudo ps aux | grep proftpd

Agora com o servidor FTP inicializado, em outro computador instale um cliente FTP, como o FileZilla, informando o IP, usuário, senha e porta.

O lado esquerdo são os arquivos de sua máquina e o lado direito do servidor.

Feito!

sexta-feira, 20 de janeiro de 2023

10 livros que todo programador deveria ou (poderia) ler

O objetivo do presente post é apresentar 10 livros que todo programador deveria ou poderia ler, cada livro foi também apresentado o resumo da ideia central para você ter uma noção do que se trata, e assim tomar a decisão de adquirir pelo menos um dos livros mencionados.

  1. Clean Code (Código Limpo) (Robert Martin)
  2. Clean Code, ou Código Limpo, é uma filosofia de desenvolvimento de softwares que consiste em aplicar técnicas simples que facilitam a escrita e a leitura de um código. Tornando-o, assim, de fácil compreensão.

  3. Introduction to Algorithms (Thomas Cormen)
  4. O livro começa considerando os fundamentos matemáticos da análise de algoritmos e mantém esse rigor matemático ao longo da obra. As ferramentas desenvolvidas nestas seções de abertura são aplicadas à classificação, estruturas de dados, gráficos e uma variedade de algoritmos selecionados, incluindo geometria computacional, algoritmos de cadeia de caracteres, modelos paralelos de computação, transformações rápidas de Fourier (FFTs) e muito mais. A explicação em pseudocódigo dos algoritmos, juntamente com a prova de sua precisão, torna este livro um excelente recurso sobre as ferramentas básicas usadas para analisar o desempenho dos algoritmos.

  5. Structure and Interpretation of Computer Programs
  6. O livro descreve conceitos de Ciência da Computação usando Scheme, um dialeto de Lisp. Ele também usa uma máquina de registro virtual e montador para implementar interpretadores e compiladores Lisp.

  7. The Clean Coder
  8. A Code of Conduct for Professional Programmers, o lendário especialista em software Robert C. Martin apresenta as disciplinas, técnicas, ferramentas e práticas do verdadeiro artesanato de software. Este livro está repleto de conselhos práticos sobre tudo, desde estimativa e codificação até refatoração e teste. Abrange muito mais do que técnica: trata-se de atitude. Martin mostra como abordar o desenvolvimento de software com honra, auto-respeito e orgulho; trabalhar bem e trabalhar limpo; comunicar e estimar fielmente; enfrentar decisões difíceis com clareza e honestidade; e entender que o conhecimento profundo vem com a responsabilidade de agir.

  9. Code Complete (Steve McConnel)
  10. McConnell sintetiza as técnicas mais eficazes e os princípios obrigatórios em orientações claras e pragmáticas. Não importa qual seja o seu nível de experiência, ambiente de desenvolvimento ou tamanho do projeto, este livro irá informar e estimular o seu pensamento - e ajudá-lo a construir o código da mais alta qualidade.

  11. Design Patterns Elements of Reusable Object-Oriented Software
  12. Capturando uma riqueza de experiência sobre o design de software orientado a objetos, quatro designers de alto nível apresentam um catálogo de soluções simples e sucintas para problemas de design comuns. Anteriormente não documentados, esses 23 padrões permitem que os designers criem designs mais flexíveis, elegantes e reutilizáveis, sem ter que redescobrir as próprias soluções de design. Os autores começam descrevendo o que são padrões e como eles podem ajudá-lo a projetar software orientado a objetos. Eles então nomeiam, explicam, avaliam e catalogam sistematicamente projetos recorrentes em sistemas orientados a objetos. Com os Design Patterns como seu guia, você aprenderá como esses padrões importantes se encaixam no processo de desenvolvimento de software e como você pode aproveitá-los para resolver seus próprios problemas de design com mais eficiência.

  13. The Pragmatic Programmer
  14. O programador pragmático é um daqueles raros livros de tecnologia que você vai ler, reler e ler novamente ao longo dos anos. Quer você seja novo na área ou um profissional experiente, sempre terá novos insights.

  15. Head First Design Patterns
  16. A qualquer momento, alguém luta com os mesmos problemas de design de software que você. E, provavelmente, outra pessoa já resolveu seu problema. Esta edição de Head First Design Patterns mostra os padrões testados e aprovados usados por desenvolvedores para criar software funcional, elegante, reutilizável e flexível. Ao terminar este livro, você será capaz de aproveitar as melhores práticas e experiências de design daqueles que lutaram contra a besta do design de software e triunfaram.

  17. Refactoring
  18. A refatoração melhora o design do código existente e aumenta a capacidade de manutenção do software, além de tornar o código existente mais fácil de entender. O signatário original do Manifesto Ágil e líder em desenvolvimento de software, Martin Fowler, fornece um catálogo de refatorações que explica por que você deve refatorar; como reconhecer código que precisa de refatoração; e como realmente fazê-lo com sucesso, não importa o idioma que você usa.

  19. The Art of Computer Programming
  20. Se você acha que é um bom programador leia "The Art of Computer Programming". E depois você deve definitivamente me enviar um currículo se conseguir ler tudo e entender as ideias do livro, afirmou Bill Gates em uma coluna de jornal que o bilionário costumava escrever.

    "If you think you’re a really good programmer… read [Knuth’s] Art of Computer Programming… You should definitely send me a résumé if you can read the whole thing." Bill Gates.

    Inúmeros leitores falaram sobre a profunda influência pessoal da obra de Knuth. Os cientistas ficaram maravilhados com a qualidade e elegância de sua análise, enquanto os programadores comuns aplicaram com sucesso suas soluções de "livro de receitas" para seus problemas do dia-a-dia. Todos admiram Knuth pela amplitude, clareza, precisão e bom humor encontrados em seus livros.

Feito!

segunda-feira, 16 de janeiro de 2023

Conhecendo You.com

Prepare-se para conhecer a próxima evolução em inteligência artificial: You.com. Com capacidade de processamento e compreensão de linguagem natural ainda mais avançadas do que o ChatGPT, essa solução é a escolha perfeita para pessoas quem buscam usar a IA para estudar e criar conteúdo. Sua interface intuitiva e fácil de usar permite que você acesse recursos avançados de forma simples e rápida. Ele também é altamente personalizável, permitindo que você treine e adapte o modelo para atender às suas necessidades específicas.

Com You.com , você pode fazer pesquisas precisas. E também pode ser usado para melhorar sua escrita, fornecendo sugestões de palavras e frases, além de correção gramatical e ortográfica. Além disso, você pode usá-lo para gerar idéias e inspiração para seus projetos, tornando-o um valioso aliado para sua criatividade.

Feito!