Hi there!

Follow along with me in this video as I install Fog Server. To learn more about Fog Project check out there website https://fogproject.org/. The installation is done with a simple script that you download from the project website.

For this example I used Cent OS which you can get at the website here https://centos.org. You can use a Debian based OS as well but I chose Cent OS.

Somethings to keep in mind:

1. Never run as root. Create a user and elevate privileges.
2. Be sure to have a password ready, during the installation you will be prompted to create a MySQL account for the database.
3. The Fog Project login page is located at http://localhost.lan/fog/management
4. The installation can take a while so be patient.

Recently I wanted to access a Virtual Machine I had created on my desktop from my laptop. I had access to the desktop via SSH but I wanted access to the virtual machine. To make things more interesting I wanted to access the VM(virtual machine) via a graphical interface.

So I figured out that I could use SSH to “port forward” the VNC connection from the desktop to my laptop. It’s actually very easy and only requires a few basic SSH commands. All you have to know before hand is the IP addresses and ports of the application and what port you want to connect to locally.

Definitions:

pc-1: Is the computer you are connecting from, in this case the laptop.

pc-2: Is the computer you are connecting to, in this case the desktop with the VM.

So I use KVM to run the VM, so to get the VNC port from the running VM do the following.

sudo virsh dumpxml NameOfVM | grep vnc

You should see an output like this one.

<graphics type='vnc' port='5901' autoport='yes' listen='127.0.0.1'>

This tells you that KVM is running vnc on port 5901 on address 127.0.0.1 (localhost) for this virtual machine. Now it’s time to connect to the virtual machine from pc-1.

In pc-1 run the following command to create an SSH tunnel that port forward the VNC connection.

ssh [email protected] -L 5901:127.0.0.1:5901

What is is command doing?

  1. ssh [email protected] is establishing the SSH connection to pc-2 with the user “user”. In your case, the user and IP address might be different e.g [email protected].
  2. -L 5901:127.0.0.1:5901 is telling SSH agent to create a tunnel using local port 5901 and bind it to the remote machine address 127.0.0.1 on port 5901. The address on the remote machine might be different so that’s why we ran the virsh command to find it.

Now that the SSH tunnel is established connect to the VM via VNC. You can use any remote viewer software like Remmina, TightVNC, or even Remote Viewer (part of Virtual Machine Viewer). Simply connect with the following parameters.

vnc://localhost:5901

And the VNC connection should open up and start working. You can do everything you could locally via a remote VNC connection. Once you are done simply close the VNC connection and exit the SSH session.

In this tutorial I showed how to this in KVM but VirtualBox and VMware have their own methods of doing this. Simply search for “headless” virtual machine for each to find out how to accomplish the same procedure.

Congrats, you are now running a headless VM with a secure connection. SSH is cool tool that can do alot and if you combine it with other tools you can accomplish even more.

 

New Year, New Setup

Ubuntu 19.10 Desktop

I began the new year by buying a new 500GB SSD. My laptop had 2 drives: a 32GB SSD was my /root drive and a 120GB SSD was /home partition. This served me just well but obviously I would run out of space quickly if I was working with virtual machines. With a new drive I had to make the decision to start from scratch or use backups. I decided to start from scratch mainly because I wanted a clean and fast experience.

Operating System

Though I have used Pop!OS in the past this time around I decided to install Ubuntu 19.10. I have Ubuntu 19.10 installed on my desktop and I really enjoyed it’s speed and perfomance. Plus it helps to know that both my laptop and desktop are running the same OS and version. Other distro’s I considered were: Fedora, and Manjaro.

Theme

I recently came acros the Dracula theme for Emacs and I decided I needed this theme everywhere. Luckily you can go to https://draculatheme.com/ and see all the theme options for a lot of apps.

Apps

This is a list of my go to apps.

  1. Emacs
  2. Spotify
  3. Evolution (Email client)
  4. Audacity
  5. Tizonia (Spotify terminal client)
  6. VLC
  7. Keybase

Other apps I install depending on the use case:

  • VPN
  • Audacity
  • Open Broadcaster
  • GNOME Tweaks
  • Syncthing
  • Chromium

Configurations

Ok, so let’s talk how I setup my laptop the quickest way possible.

Sign into my Google account in GNOME online accounts.

This is to have Evolution setup as soon as it’s installed and launched.

Run my setup scripts

I came across this great post by software dev Victoria Drake. She wrote a great bash script that she uses to setup her Ubuntu laptop (or even a VM). So I cloned it and modified it for my use. Here are some key take aways.

# Snap packages

sudo snap install spotify

sudo snap install chromium

sudo snap install tizonia

# GNOME
install gnome-tweaks

# File Backup
install deja-dup
install git
install curl

# add more apps as needed

This is the script that is called to install my apps. This is only an example, in the real world I edited the script to add or remove apps that I wanted installed or removed. Another part of my setup scripts is the desktop.sh script.

# Set GNOME Settings
gsettings set org.gnome.desktop.wm.preferences titlebar-font 'IBM Plex Sans Bold 11'
gsettings set org.gnome.desktop.interface monospace-font-name 'IBM Plex Mono 13'
gsettings set org.gnome.desktop.interface document-font-name 'IBM Plex Sans Medium 11'
gsettings set org.gnome.desktop.interface font-name 'IBM Plex Sans 11'

Ubuntu 19.10 Terminal Dracula Theme

I use this script to setup my fonts. It downloads IBM Plex font and installs it on my system. I love this font and thus I use it everywhere. My setup scripts do other things depending on what I want to do, like setup some PPA’s or change other GNOME settings.

One thing that I found after I setup my laptop was this great script to change the terminal theme. It’s called Gogh and you can find it here https://github.com/Mayccoll/Gogh.

GPG, Git, and Emacs setup

I do the basic GPG configurations, like download my GPG keys and setup my SSH keys. I also setup Git by adding SSH login, user name and email. Then I setup Emacs by downloading my configuration from my private repo. I set Emacs to run in daemon mode cause it’s faster than lighting this way :smile:. To run Emacs in daemon mode I simply run systemctl --user enable emacs.service and systemctl start emacs.service.

Emacs 26.3

And that’s it

The setup scripts do most of the grunt work. So I simply run them and a few minutes later all my apps and laptop is setup. After I do some post installation tweaks I’m ready to get to work in about 15 minutes. So I hope you all found this post insightful and useful. Some things that I didn’t discuss here but I did do were: I encrypted my drive on initial installation and I downloaded updates while I installed Ubuntu.

 

Ubuntu Desktop

I recently decided to move my Ubuntu installation from my laptop to my desktop without having to reinstall. So basically all I wanted to do is move the SSD (which had Ubuntu 19.10 installed) in my laptop to my desktop. This process is not hard at all but in my case it was a little more complicated. I wanted to do a dual boot on my desktop computer with 2 different hard drives. One spinning disk hard drive will have a Windows 10 installation while the SSD from my laptop will have Ubuntu 19.10. Again I did not want to do any reinstall of Windows 10 or Ubuntu. So how can you accomplish this? Simple with the command update-grub.

 

First I removed the SSD in the laptop and installed it in my desktop. I ensured that it was on the first SATA port so it can be the first hard drive the system recognizes. Once installed I booted up the computer and Ubuntu booted up correctly. Ok, so now I knew Ubuntu worked fine on the desktop.

Next, I had to update grub inside of Ubuntu in order to add the Windows 10 disk to my boot order. Grub is actually pretty good at adding additional operating systems to the boot order. So turned off the computer ensured that my drives were in the correct SATA ports. After this step I ran into a small problem, Grub was not updating inside my Ubuntu installation. So I decided to boot into a Linux LiveUSB to help troubleshoot the errors.

Inside the LiveUSB Linux environment I used a chroot environment to reach my Ubuntu  19.10 installation. To do so simply follow these steps.


sudo mount /dev/sdaX /mnt

for i in /dev/ /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

sudo chroot /mnt

Once in the chroot environment I ran update-grub and I still got an error. So I decided it would be best to simply reinstall grub. To do so simply run reinstall grub-pc (if you’re on a efi system please use grub-efi-amd64). This command worked and prompted me to chose where I wanted to install grub. I chose on the main disk since this is where I wanted to have grub installed. Once that process was done, I rebooted the system and was prompted with a working grub boot screen with both operating systems showing up correctly.

Tip: If you want to customize your Grub boot screen you can do with the app Grub Customizer. Simply install it with sudo apt install grub-customizer. This allows you to add a background to Grub bootscreen, change the boot order, and much more.

Buy Me A Coffee

I blogged before about switching from Firefox Focus to DuckDuckGo mobile. Now it’s been 3 weeks since I made the switch and I wanted to do a quick post about my experience.

First, it’s going great. I really like the fact that a search widget is included. I replaced the Google search with DuckDuckGo and I find myself using it a lot more. Which is great because I really like using DuckDuckGo as my default search engine.

Another great feature is the snappy-ness of the browser. DuckDuckGo mobile “feels” faster that Firefox Focus. I don’t know if that’s because it was built with Chromium but it just feels faster. I was never really bothered by FF’s slowness but pages to render faster in DuckDuckGo.

Also it’s been nice to have the option to have multiple tabs open. This was possible in FF but it was not as intuitive as it is DuckDuckGo. Though the ability to delete all tabs with one click is rock solid on both browsers.

The one down side that I really experienced was the fact that not all apps were able to send URL links to DuckDuckGo mobile. For example, when I click on a link in a Youtube video description I do not get the option to open it in DuckDuckGo. I only get regular Firefox or Chrome. When I had Firefox Focus installed I could open that same link easily.

Overall I am really happy with DuckDuckGo mobile and I would recommend it for anyone wanting a “privacy” browser. I still using Firefox Focus and may download it again in the future. But for now I’m sticking with DuckDuckGo mobile.

Region One Cybersecurity Summit 2019

Region One hosted a Cybersecurity Summit for 2019 in Edinburg, TX. The event was free and I signed up to attend. It was a great event that had many great presenters. The theme of the summit was Cybersecurity on a regional level. Here are some of the talks I attended and the takeaways I got from them.

Reduce Your Cybersecurity Risk and Get Complaint with SB 820

– Develop Policy: use already established policies as blueprints
– Items to invest in: Malware protection/Endpoint protection, Firewalls, IDS/IPS, Spam Filtering, Log Monitoring

 

Sharpen your Cybersecurity Skills in 1 Hour

– Leverage free courses

– Practice as much as possible (1 hour a day)

– Find and compete in Cybersecurity competitions

 

Ransomware: How to Detect, Prevent, and Respond

– “Not a matter of If but When”

– Leverage immutable storage

– Develop strategies and policies.

South Texas College 2019 National CyberSecurity Awareness month

To help celebrate National CyberSecurity Awareness month the Information Security office at South Texas College created an “Escape Room” challenge. I got to participate in this years festivities. I like the challenge of doing escape rooms so one that had a cybersecurity theme seemed even more fun. The activity was quite fun despite not being able to “escape” in time.

The challenge consisted of finding the decryption key to decrypt a computer that was attacked with Ransomware. The whole exercise was intended to show the damaging effects ransomware can have on a business or institution. After the challenge the moderators gave a brief talk on tips and tricks to securing your online identities and business.

Banner with the text "Eduardo Robles"

I have been using Firefox Focus for about half a year now. I came to use because I was using Chrome and simply got paranoid of what stuff Google was collecting via Chrome. So I made the switch to Firefox on my PC and started using Firefox for Android. Now before I started using Firefox Focus I was using Brave Browser for Android.

Brave Browser is a Chromium based browser that tauts privacy for the end user. Since I became paranoid of Google I naturally was paranoid of Google based technologies. Chromium though open source is a Google project. It’s development is steered by Google. So Google has a vested interest in Chromium. While making the switch to Firefox I came to learn about Firefox Focus via a Mozilla Newsletter. So I downloaded it and gave it a try.

It was a bit weird getting used to it but after a while it was my default mobile browser. What made it great was the fact that my history was deleted after each use. I never had to worry about cookies or deleting search history. It kept my browsing experience as pure and fast as possible.

This is why I was a bit disappointed at the latest update. The app started to have memory leak issues. Causing some battery drain on my phone. The issue wasn’t all that bad but it was annoying enough that I just unistalled the app.

But I loved having a mobile browser that deleted search and use history after each use. When I looked in the Google Play store for other mobile browsers, DuckDuckGo, was recommnended. DuckDuckGo is my favorite search engine, so I was excited to see they offered a mobile browser. And it was highly rated (4.7 out 5) with a lot of positive reviews. I decided to give it a try.

On first impressions I really like it and it feels faster than Firefox Focus. Plus if I want I can get DuckDuckGo browser via F-Droid store too. It’s only been a few days since I downloaded it but so far I’m really impressed with it. I’ll continue to test it out and see if I stick to it or go back to Firefox Focus.

Shelf with lots of books

The Alchemist by Paulo Coelho

Since I have been reading “self-help” books my wife suggested I check out The Alchemist. Luckily she owned a copy, so I grabbed it from our bookshelf and stuffed it in my backpack. I gotta say that I really enjoyed this book. I can now see why so many people consider it a “self-help”, book. Here are a two of my favorite passages:

 

“My heart is afraid that it will have to suffer”, the boy told the alchemist one night as they looked up at the moonless sky.

“Tell your heart that the fear of suffering is worse that the suffering itself. And that no heart has ever suffered when it goes in search of its dreams, because every second of the search is a second’s encounter with God and with eternity”.

I loved this part because it closely aligns with my own personal beliefs on suffering. You cannot hope to succeed without a bit of hard work.

“Every second of the search is an encounter with God”, the boy told his heart. “When I have been truly searching for my treasure, every day has been luminous, because I’ve know that every hour was a part of the dream that I find it. When I have been truly searching for my treasure, I’ve discovered things along the way that I never would have seen had I not had the courage to try things that seemed impossible for a shepherd to achieve”.

 

I got teary eyed when reading this part. It’s funny how sometimes you read something and it spurs such a deep emotion. That’s how I felt reading this part in the book. I’ve always characterized myself as an optimist and I believe that it takes a bit of courage to remain an optimist in this day and age.