
Arch LinuxでFirewall(ufw)を導入し、SSHを安全に利用する
自宅サーバにしろ、VPSにしろ、Linuxを一旦インストールさえしてしまえば、OSにパッケージを追加インストールしたり、設定を調整したりする際に、直接そのPCのコンソールで操作する必要はなく、普段使っているクライアントPCからリモート操作できます。
仕組みはSSHというプロトコルを通じて、そのPCにリモートアクセスします。例えば、自宅サーバの場合、同じLAN内にサーバがあるので、自宅サーバのIPアドレスに向けて、Windowsであれば、Powershell、Linuxであればターミナルから
ssh 192.168.1.20 -l sakura
みたいな感じにすれば、パスワードを入力して、sakuraユーザーで接続できます。ユーザー名は、サーバーに存在するユーザー名です。
前提条件として、Linuxサーバーに一般ユーザが追加されていること、sshとufwとsudoがインストールされていること。
では、これらのインストール方法と設定について
インストール後なら、一旦rootでログインして、
pacman -Syy
pacman -S openssh ufw sudo
useradd -m -g wheel -s /bin/bash sakura
passwd sakura
OSのインストール直後、まず行うべき設定として、自分がSSHでログインするユーザーを作成する必要があります。これはSSH越しには出来ないので、インストール時、もしくはインストール後、すぐに行ってください。
そして、sshサーバ、ufwをシステム起動時に有効にする設定を行います。
systemctl enable sshd
systemctl enable ufw
systemctl start sshd
systemctl start ufw
ufw enable
ufw allow ssh
これで外部から安全にSSH接続できるようになります。ただ、このままでは、一般ユーザーでLinuxサーバーへアクセスできますが、追加パッケージの導入など出来ないので、自分が利用するユーザーにsudo権限を与えます。
nano /etc/sudoers
以下の行をコメントアウトします
%wheel ALL=(ALL:ALL) ALL
これで、クライアントPCから
ssh 192.168.1.20 -l sakura
という感じで接続できます。例えば、追加パッケージを導入したいなら、
sudo pacman -S gparted
みたいな感じです。