Installing Docker Engine on Debian Bullseye as an Ansible playbook

Docker Engine is an open source containerization technology for building and containerizing our applications. Docker Engine acts as a client-server application with a server with a long-running daemon process dockerd and APIs which specify interfaces that programs can use to talk to and instruct the Docker daemon. Docker Engine is available on a variety of…

Continue reading →

How to install Hashicorp Vault on Debian

Hashicorp Vault is a popular tool for managing secrets and encryption in cloud environments. It allows us to store, access, and distribute sensitive data securely across different applications and platforms. In this blog post, I will show us how to install Hashicorp Vault on Debian 11 (Bullseye), the latest stable release of the Debian operating…

Continue reading →

How to use Ansible with the Hashicorp Vault secret manager?

Hashicorp Vault is a secret storage solution for storing and managing secrets, such as passwords, tokens, certificates, and keys. In this post, we will go through how to use Ansible with Hashicorp Vault to retrieve secrets and use them in our Ansible playbooks.

Continue reading →

What is multi-factor authentication (MFA)?

Multi-factor authentication (MFA) is a security system that requires more than one method of authentication from independent categories of credentials to verify the user’s identity for a login or other transaction1. It is a security enhancement that requires the user to provide two or more verification factors to gain access to a resource such as…

Continue reading →

What is two-factor authentication (2FA)?

Two-factor authentication (2FA) is a security process in which users provide two different authentication factors to verify themselves. It is an identity and access management (IAM) security method that requires two forms of identification to access resources and data. 2FA gives businesses the ability to monitor and help safeguard their most vulnerable information and networks.

Continue reading →

Using Ansible Galaxy for managing Ansible roles and collections

Ansible Galaxy is a hub for finding and sharing Ansible content, such as roles and collections. Roles are pre-packaged units of work that can be referenced in Ansible playbooks and immediately put to work. Collections are larger units that can contain multiple roles, modules, plugins, and other Ansible components.

Continue reading →

Using different Ansible Vault passwords with vault-id

As our infrastructure grows, we may have to use secret data of different sensitivity. If our “Infrastructure as Code” is developed by different teams, maybe every team wants to protect their own passwords, API tokens, keys, etc with different Vault passwords. This is why we use IDs in Ansible Vault.

Continue reading →

Handling sensitive data with Ansible Vault: encrypting strings instead of files

Sometimes we may want to encrypt only a single variable value or a short piece of text that we need to use in our playbook or role. For example, we may want to encrypt a user password or an API key, and not an entire file. Encrypting single variables is also a good idea when we keep our files in Source Control Management like Git. Ansible Vault has a function to encrypt only parts of files, to encrypt variables instead of the whole file.

Continue reading →

Configuration file blueprints: Jinja2 templates in the Ansible code

Templating is a huge work power in Ansible when we want to write reusable code. Just imagine about having to create different playbooks and roles for every host that have a slightly different configuration from each other. That would be nonsense. Luckily we have configuration file templates in Ansible to make our life easier, and…

Continue reading →

TryHackMe | RootMe [CTF write-up]

RootMe is a bite sized WEB upload form and Linux privilege escalation exercise.

Continue reading →

How to write more advanced Ansible inventory files?

Previously we took a look at creating a basic plain text file inventory for our Ansible automation project, but we will need more functionality when we start using it seriously. Luckily Ansible provides us some other ways to create groups of hosts and handle them. Let’s investigate what else can we do in an Ansible…

Continue reading →

How to implement and use handlers in Ansible code?

Handlers are Ansible’s solution for running specific operations only when other tasks made changes, like when we update the configuration of a web server, and we want to restart the service. Obviously we do not want to restart the Apache2 on every playbook run, only if there is a change in its configuration. This is…

Continue reading →

How to implement Ansible blocks in our code to group and manage tasks together?

There are some limitations of using YAML instead of a scripting language or a DSL, but the developers of Ansible thought about the issue, and they integrated some cool, more advanced features into the tool. We can use blocks collecting and handling tasks together Let’s investigate this feature a bit more!

Continue reading →

Using Hyper-V on Windows 10 (Updated on 2023. 03. 05.)

Hyper-V is the virtualization hypervisor technology of Microsoft. There are different versions of Hyper-V, and we can use the desktop version on our Windows 10 or Windows 11. It is similar to VMWare Workstation Pro or VirtualBox, though its feature set is quite limited.

Continue reading →

How to install ZoneMinder – an open source CCTV surveillance tool (and Android phones as IP cameras)

There are millions of CCTV and IP Camera tools and options on the market. If we want to protect our property then a camera system is a good idea. Physical security companies provide solutions with hardware, software and consultation, but if we want to play with the possibilities and the technology, then ZoneMinder is a…

Continue reading →