Hide Your Ports - Authentication Before Connecting

Think about the services that only a few people need to access, but they need to be accessible from anywhere, over the internet. The internet is a giant untrusted monster network, full of evil people actively trying to harm you. If only a few people (let’s say in the ten-thousands) need to access your service, why do you make the service accessible to billions? It’s so asymmetrical. VPN Gateways VPN Gateways! They’re great! They sit on the edge of your network, and they let you access all your internal stuff! But if you want someone to be able to connect to your VPN over the internet, the VPN gateway itself must be publicly accessible. Yes, you likely have authentication on your gateway such as an IPSec Pre-Shared Key, and/or a username and password. But your gateway is still internet-facing, and let’s just say there are no guarantees for security. ...

July 21, 2024 · 4 min · 810 words · Steven Polley

RHCSA Exam Notes

A collection of my personal notes as I study for the RHCSA exam. I hope you find them useful as a reference. Notes available here: RHCSA EX200 Exam Preparation Notes

July 9, 2023 · 1 min · 30 words · Steven Polley

Understand and Use Essential Tools

This post is part of a larger series on RHCSA Access a shell prompt and issue commands with correct syntax Bash The shell is the program which is invoked as part of the login process for a user. Redhat uses bash as its default shell. The default shell can be set per-user in the /etc/passwd file. The exam requires basic familiarity with how to navigate the shell. # Prints working directory pwd # Lists files in a directory ls # Change directory cd <dir> Bash Startup Files A bash shell can either be a login shell or non-login shell. The very first process that’s executed when a user logs in is the login shell, there is only one per login. Any shells spawned after that are children of the login shell and are considered non-login shells. ...

July 9, 2023 · 12 min · 2395 words · Steven Polley

Create Simple Shell Scripts

This post is part of a larger series on RHCSA Conditionally execute code (use of: if, test, [], etc.) test The absolute heart of conditionals in bash is a program called test. You can view the man pages for test to get documentation on all the valid comparisons you can make. When test makes a comparison, it counter-intuitively returns exit code 0 (success/no error) for true and exit code 1 for false. It sticks with exit code conventions at the sacrifice of boolean value conventions. The below examples demonstrate various comparisons made with test, at the end of each example we check the error code with echo $?. ...

July 9, 2023 · 4 min · 741 words · Steven Polley

Operate Running Systems

This post is part of a larger series on RHCSA Boot, reboot, and shut down a system normally This bloated systemd trash has taken over our power controls, what next. The real thing that’s going on under the hood is systemctl isolate poweroff.target. It has several shorthands: shutdown -P now telinit 0 shutdown now systemctl poweroff poweroff Boot systems into different targets manually You can get and set the default targets to boot into with: ...

July 9, 2023 · 6 min · 1150 words · Steven Polley