Quick Fix for Useless Salt Warning – Add “file_ignore_glob: []” to /etc/salt/master

Some versions of Salt give you a useless warning on every run. The problem is easy to fix.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , , | Leave a comment

Run Salt SLS File Locally – sudo salt-call –local state.apply foo

What if I just want to run a single SLS file (salt state) once?

Save your state to /srv/salt/foo.sls and apply it

$ sudo salt-call --local state.apply foo

This masterless setup is just for quick testing. In production, you would use salt master-slave architecture.

Posted in Uncategorized | Tagged , , , , , , | Leave a comment

Salt States – I Want My Computers Like This

Describe how you’d like your computers, and Salt will configure them. For example, I want Apache web server, with PHP and user homepages, on all my computers whose name starts with ‘web’.

To say the same in jargon: write your infrastructure as code, so that configuration management system, the single source of thruth, applies your states idempotently.

Continue reading

Posted in Uncategorized | Leave a comment

Salt Quickstart – Salt Stack Master and Slave on Ubuntu Linux

You can control a thousand computers with Salt. And this is how you install Salt.

Slaves, the controlled computers, can be anywhere: behind an NAT, behind a firewall, on an unknown address. And still you can control them. Only the master server needs to have a public server and known address.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , , , , , | Leave a comment

Aikataulu – Palvelinten hallinta ict4tn022 4-ti 5-ke 5 – loppukevät 2018 5p

Control 10 computers. Or 100. Or 1000. Just write what you want (idempotency). Control almost everything with one system (single source of truth). In plain text (infrastructure as code, versionable).

My current research area is configuration management systems: I gave an invited speech in IEEE ICIM, I’ve recently published a conference paper and gave some tailored teaching on this.

Course is finished, thank you all. Next configuration course is in the autumn 2018. And Penetration Testing course, too.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , , , , , , , , , , , | 211 Comments

Arvioitava laboratorioharjoitus – Linux palvelimet ict4tn021-6 torstai – alkukevät 2018 – 5 op

This is the evaluated lab exercise for Linux Server Administration course, 50% of grade. Student had a Live USB stick and an empty computer, and he could use the public Internet. No other tools were allowed.

Student feedback was excellent: 4.8 out of five. Most common feedback was five out of five. Thank you!

Continue reading

Posted in Uncategorized | Tagged , , | 8 Comments

Arvioitava laboratorioharjoitus – Linux palvelimet ict4tn021-7 tiistai – alkukevät 2018 – 5 op

This is the evaluated lab exercise for Linux Server Administration course, 50% of grade. Student had a Live USB stick and an empty computer, and he could use the public Internet. No other tools were allowed.

Student feedback was excellent 4.5 out of 5. Thank you! Lowest feedback was 1 sufficient, but happily that was the only single feedback under 4 (very good). The most common feedback was 5 (excellent).

Continue reading

Posted in Uncategorized | 5 Comments

Penetration Testing Course – Autumn 2018

I will teach the new penetration testing course.

Name: Penetration Testing - Tunkeutumistestaus
Code: ict4tn027-1
Teaching language: Finnish
Location: Computer lab pa5004, Haaga-Helia, Pasila, Helsinki
Time: Autumn 2018 Continue reading 
Posted in Uncategorized | Tagged , , , , , , , , , , , , , , | 25 Comments

Arvioitava laboratorioharjoitus – Linux palvelimet ict4tn021-8 maanantai – alkukevät 2018 – 5 op

This is the evaluated lab exercise for Linux Server Administration course, 50% of grade. Student had a Live USB stick and an empty computer, and he could use the public Internet. No other tools were allowed.

Student feedback was 4.7 out of 5 excellent, thank you! Lowest feedback was 4 (very good), and the most common was 5 (excellent). More feedback.

Continue reading

Posted in Uncategorized | 4 Comments

My Book in Design Museum

My book, Getting Started with Sensors, is on display in Design Museum.

Visit Design Museum (fi: Designmuseo) in Korkeavuorenkatu 23, Helsinki.

Thanks for taking & sending me the photos. I have co-authored the book with Kimmo Karvinen.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , | Leave a comment

“IoT Rapid Prototyping Laboratory Setup” published in the International Journal of Engineering Education

Your first Internet of Things prototype in four days? Yes, even beginners successfully built IoT systems from their own ideas.

International Journal of Engineering Education published an article I co-authored with Kimmo Karvinen.

The article explains BotBook method in the context of IoT. Two workshops (n=27, n=19) and 22 student projects are described. The article has link to reference implementations of the software we have used as backend.

Karvinen & Karvinen 2018: IoT Rapid Prototyping Laboratory Setup (Download full text PDF final draft)

Posted in Uncategorized | Tagged , , , , , , , , , , , , , | Leave a comment

Translate Titles on Wikipedia – Firefox Addon

Add links to English and Finnish translations on Wikipedia. Add-on for Firefox.

Download from official Firefox Add-ons site.

The rest of this article is “making of”, interesting if you want to learn to write your own Firefox extensions.

I wrote this addon earlier in 2015 using the previous XUL extensions API. This one is using the latest WebExtensions API, the one extentions API for both Firefox and Chromium/Chrome.

The latest 2.2.0 is also written in vanilla JavaScript (EcmaScript 6) instead of jQuery.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , , , , , , , , , | Leave a comment

Suricata IDS on Ubuntu – Easily with apt-get, oinkmaster and systemctl

Suricata is a modern intrusion detection system (IDS). It sniffs your network traffic and logs suspicious packets. Suricata uses Snort rules, so you can have a lot of them for free. Rules are installed automatically with OinkMaster.

This article shows the easy way to install Suricata. We install the package with apt-get, start it as a service and download new rules with OinkMaster.

To follow this tutorial, you must know what you are legally allowed to log and where. Also, you should be familiar with command line, daemons, logs and sudo.

Continue reading

Posted in Uncategorized | 1 Comment

Message of the Day on Ubuntu – sudoedit /etc/motd; chmod ugo-x /etc/update-motd.d/*

Message of the Day (motd) is displayed when you log in with ssh.

You can use plain text message of the day in /etc/motd also in Ubuntu. Disable scripts in /etc/update-motd.d/ to get rid of extra stuff.

When automatically configuring customer systems, it’s a good idea to leave some tangible proof that the systems are configured. Just like a janitor emptying a trash can with just one piece of paper in it.

Continue reading

Posted in Uncategorized | Tagged , , , , , | Leave a comment

Creating Legacy Boot Xubuntu USB – UnetBootin and bootable FAT32 partition

Xubuntu Linux can boot from USB disks, even without installing to hard drive. It supports both BIOS and UEFI boot.

For most USB sticks, you can just use UnetBootin after taking the USB from the package.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , , , , , , , | Leave a comment

Faster ‘vagrant up’ with apt/deb Package Proxy

Create virtual machines faster by caching deb packages.

Use squid-deb-proxy on host OS, then add an apt.conf.d/ config file to make guest OS apt-get use your proxy.

Following these notes requires fluency with command line, sudo, daemons and vagrant.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , | Leave a comment

200 Lines of Code Saves 20 000 EUR

My student Joram Puumala wrote a program to automatically configure routers.

The CEO of NDC Networks, Markus Ahonen: “NDC is expecting to deliver over 5000 routers during 2018, so the calculable savings in direct effort are significant. Especially as handling this amount of routers would require a new part time hire, leading to additional costs upward of 20 000 EUR/year.”

The news is also on Haaga-Helia front page (in Finnish). Thesis available in Theseus and GitHub.

Would you like to read the 201 lines of code?

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , , , , , , | Leave a comment

Naughty Questions and Easy Way to Forest – Apps for Android

Hurt your leg, baby in the cart and you still want to go walking in the woods? Moving with a wheelchair? Old? If you are based in Helsinki, check out HelpostiLuontoon.fi.

My students Jenni Saarinen, Elina Rajuvaaara and Kristina Lindfors have created a map and an app that shows curated routes for those who move slowly. Check out Helposti Luontoon app in Google Play.

Have a drink if you have sent naughty pictures. And download Boing Drinking Game App if you want to play a drinking game.

These two apps were the first ones to get paying customers on DigiStartUp course. I’m teaching it with Taru Parikka and Teemu Ruohonen.

Posted in Uncategorized | Leave a comment

Configuration Management Course Awards 2017: Most slaves: Tommi, most OSes: Matias

Tommi Timonen had the most slaves, a total of 1478 computers. He had 20 physical computers running many virtual computers each. Congratulations Tommi!

Tommi also took second place with his previous setup of 639 computers. Third place was Tatu Erkinjuntti with 200+ slaves, or 1500+ slaves on the same master on different times.

Matias Räisänen controlled the largest number of different operating systems: SunOS Solaris i86pc 11, Ubuntu Linux 16.04.2 LTS armv71, Windows 7 amd64, Windows 8 x86 (32 bit), Windows Vista x86 (32 bit), Windows 10 x86 (32 bit). He is also running multiple processor architectures. Congratulations Matias!

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , , | Leave a comment

Automaticaly Build Penetration Testing Environment – Kali, Metasploitable, Vagrant

My student Toni Jääskeläinen developed a PenTest environment that can be set up automatically. Based on my idea, it’s distributed as a single Vagrantfile.

Using pentest tools requires special care and skill, as even mistakes with some of these tools could be crimes in some places. Check local laws before downloading. Often, it’s best to disconnect from the Internet when testing.

Vagrantfile for PenTest environment and thesis in Finnish.

Posted in Uncategorized | Tagged , , , , , , , , , , , , , , , , , , , , , , , | Leave a comment

Automation of Router Configuration with Python & SSH

My student Joram is automating router configuration for NDC Networks.

Joram configures Advantech B+B routers for NDC’s clients. The configuration is done using custom built Python Paramiko SSH script.

The routers are configured for clients of NDC, an 8 person company with 3 million EUR revenue. An estimate of 3000 to 4000 routers per year need to be configured. Based on Joram’s test, automation is 80% faster than fully manual operation, saving over a month of working time per year.

See the results & read the source code: Puumala 2017: Automation of router configuration

Posted in Uncategorized | Tagged , , , , , , , , , , , | Leave a comment

Tommi’s 639 Puppet Slaves

My student Tommi tested Puppet with 639 slaves. Tommi is running some 20 physical computers with about 30 virtual computers each.

Tatu has 263 slaves – on a single physical machine with a huge swap file.

Who will get 640 slaves?

Posted in Uncategorized | Tagged , , , , , , , , , , , , | Leave a comment

Top Configuration Management Systems – Puppet vs Salt vs Ansible vs Chef

The leading configuration management systems compared: Puppet, Chef, Ansible, Salt. My students Joona, Jori, Eero and Jarkko gave a presentation and demonstrated each system.

ArcticCM provisioned and configured a couple of Linux desktops and servers, and also configured some Windows desktops. They published a Free (MIT licensed) configuration for that network with each of the four tools.

Download code for Puppet, Salt, Ansible and Chef.

Posted in Uncategorized | Tagged , , , , , , , , , , , , , , , , , , , , , | Leave a comment

Provision Multiple Virtual Puppet Slaves with Vagrant

For testing, it’s convenient to provision many virtual slave computers to your master.

This Vagrant file installs two virtual computers and automatically configures them as slaves to a puppetmaster in a predefined IP address.

Advanced stuff warning: Using this sample configuration requires fluency in command line, Puppet master-slave architecture and knowing the basics of vagrant and virtualbox.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , | Leave a comment

Multiple Virtual Computers in Minutes – Vagrant Multimachine

You can install multiple virtual computers in minutes.

This example shows how to install two Ubuntu 16.04 virtual machines and configure SSH – in a couple minutes.

Continue reading

Posted in Uncategorized | Tagged , , , , , , , , , | Leave a comment
  • Recent Posts

  • Picks

  • Boxing Clock for AndroidOcton8 Diving T-ShirtsShaking Tower Panda Android GameLearn Chinese with Android
  • Student projects