Signing Commits with IntelliJ IDEA Editors (like PyCharm)

Verified Commit Signature on GitLab

Want to prove that you actually committed the code attributed to your name in git repositories (and get that nice Verified stamp on your commit on GitHub or GitLab)? So did I. I followed the instructions on GitHub (which are remarkably similar to those on GitLab) but found that my commits using PyCharm still didn’t include the signature. Here’s how to get it working.

Continue reading “Signing Commits with IntelliJ IDEA Editors (like PyCharm)”

EdgeRouter Fail2Ban Persistence Through Upgrades

My last post detailed how to install and configure Fail2Ban on a Ubiquiti EdgeRouter to thwart brute force attacks against an OpenVPN server. Unfortunately, programs installed on EdgeRouters do not persist through upgrades because new images overwrite the filesystem. However, using a trick outlined here, we can set up the router to automatically install Fail2Ban and restore the settings.

Continue reading “EdgeRouter Fail2Ban Persistence Through Upgrades”

Mitigating an OpenVPN Brute Force Attack with Fail2Ban on EdgeRouter

Tonight, I noticed numerous attempts from a variety of sources to log in to my OpenVPN server that I run on my EdgeRouter (ER-X-SFP) at home. Unfortunately EdgeRouter doesn’t support any sort of blacklisting for OpenVPN natively, but it does allow the installation of Debian packages.

After playing a bit with Fail2Ban configuration, I’ve configured my router to block these repeated attempts automatically.

Continue reading “Mitigating an OpenVPN Brute Force Attack with Fail2Ban on EdgeRouter”

Output Filtering IOS Commands with Regular Expressions

Want to navigate Cisco IOS, IOS-XR, and IOS-XE routers faster?  Don’t search through tons of text visually to find specific information.  View just the relevant information by expanding your | include usage to include regex (regular expressions).

Cisco IOS and IOS-XR support filtering output using regular expressions.  Cisco’s documentation on their regular expression format is available here, but we’ll go through some of the fundamentals and some useful tricks.  Regex can be used to find just the specific information you’re looking for from usually long output.

Continue reading “Output Filtering IOS Commands with Regular Expressions”