Blog

Cyrange : firewall configuration

The cyrange Cyber Range is composed of multiple docker containers. After installation, here is how to configure your firewall to allow communication between the different components...

Read more
Cloning a disk with CloneZilla

Cloning the old disk or installing the new one from zero? That question crossed many minds and this post might help you finding the answer by explaining how to clone your old disk to a new one using CloneZilla and some disk management tools.

Read more
Configure Apache reverse proxy in front of cyrange

In a previous blog post, we showed how to install cyrange cyber range web interface using docker-compose. So now the cyrange Docker container is exposed on port 8080 on your server, and the guacamole container is exposed on port 8081. In this blog post we show how to configure Apache as a reverse proxy in front of your containers.

Read more
Laravel optimization : self-hosted fonts

By default, Laravel (and Bootstrap) applications use fonts (like Nunito or Raleway) that are provided and hosted by Google. This is easy to use for developers, but comes with some drawbacks, including a performance penalty. Luckily, there is an open source project that makes it simple to use self-hosted fonts: fontsource.org

Read more
Deploy Loki on Kubernetes, and monitor the logs of your pods

Loki is a log database developed by Grafana Labs. In a previous blog post we have shown how to run Loki with docker-compose. In this blog post we will deploy Loki on a Kubernetes cluster, and we will use it to monitor the log of our pods.

Read more
Cyber Security Challenge 2022

Cyber Security Challenge 2022 will start in March 2022! It's time to register...

Read more
Getting started with Helm

Helm is a template engine that can be used to deploy applications on a Kubernetes cluster. It allows to build a customized kubernetes resources definition, that can be deployed on your cluster. But helm has actually many other functionalities, to handle the whole process of building, distributing, installing and managing Kubernetes applications.

Read more
A bit of PIL for bit plane display

Displaying image bit planes, in particular less significant ones, is an important task to reveal some image artefacts due to image degradation or manipulation. In particular, the Least Significant Bit (LSB) of pixel values is heavily used in steganography to hide messages in a cover image. We will see in this blog how to use the Python Imaging Library (PIL) to save and display an image containing some specified bit planes of a given image.

Read more
Apache : log real IP addresses behind a reverse proxy

It's quite common now to run your web application behind a reverse proxy or a loadbalancer. This is typically the case if you are running your application in a Kubernetes cluster. In this case, the IP address that is logged by Apache is the IP of the proxy server, which is quite misleading and useless. To get Apache to log the real IP address of the clients, you will have to enable and configure the module remoteip.

Read more
Laravel optimization : reduce CSS size

CSS files are a render blocking resource: the browser waits for your CSS files to be downloaded before rendering the page. This means that, as long as the browser is downloading CSS, the user is waiting in front of a black page...

Read more
2021 in numbers

2021 was (again) a special year for everybody. For us as well, but we managed to achieve some results! Here is 2021@cylab.be...

Read more
Run a development environment for Laravel with docker-compose

Developing and testing a Laravel project requires to install a substantial number of tools, with the correct version of each: PHP, composer, MySQL database, NPM etc. Moreover, for a substantial project, you will also have to run and test a queue worker and a scheduler. This can become quite complex and long to setup. In this blog post we show how to use docker-compose to run all of these in a single command line...

Read more