🍊

miniPCにUbuntu24.04,Apacheを入れる(5:ポート解放,https・ssh設定)

2024/04/30に公開

前回

https://zenn.dev/tiktaksick/articles/c8a34106132ac5

ポート解放

  • 443(https)とsshを解放します.

状態確認

root@hostname:~# ufw status
状態: 非アクティブ

ファイアウォールの有効化

root@hostname:~# ufw enable
ファイアウォールはアクティブかつシステムの起動時に有効化されます。

ポート番号開放&適用

root@hostname:~# ufw allow 443
ルールを追加しました
ルールを追加しました (v6)
root@hostname:~# ufw reload
ファイアウォールを再読込しました
root@hostname:~# ufw status
状態: アクティブ

To                         Action      From
--                         ------      ----
80                         ALLOW       Anywhere                  
443                        ALLOW       Anywhere                  
80 (v6)                    ALLOW       Anywhere (v6)             
443 (v6)                   ALLOW       Anywhere (v6)             
  • 80は後にActionをDENYにさせました.

上記と同じ容量でsshを解放させます.コマンドは,ufw allow sshです.

https・ssh設定

サーバ証明書設定

  • rootログインして,/etc/apache2/sites-availableに移動
  • default-ssl.confファイルに関して,ORGファイルを作成する.
# cd /etc/apache2/sites-available
# cp default-ssl.conf default-ssl.conf.org
  • 証明書および秘密鍵を格納するディレクトリを作成
証明書用
# mkdir -p /etc/apache2/conf/ssl.crt
秘密鍵用
# mkdir -p /etc/apache2/conf/ssl.key
  • 対象の証明書および秘密鍵ファイルを上記のディレクトリ下に置く.

  • /etc/apache2/sites-available/default-ssl.confファイルのSSLCertificateFileSSLCertificateKeyFileを編集

    • ※default-ssl.confの初期設定と変更後の設定
SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile   /etc/ssl/private/ssl-cert-snakeoil.key
変更後(例)
SSLCertificateFile      /etc/apache2/conf/ssl.crt/example.cer
SSLCertificateKeyFile   /etc/apache2/conf/ssl.key/example.key

https通信

  • 以下コマンドを行う.
root@localhost:~# a2ensite default-ssl
root@localhost:~# a2enmod ssl
  • http→httpsリダイレクト設定:/etc/apache2/sites-available/000-default.confを編集
    • /etc/apache2/sites-available/に移動
# cd /etc/apache2/sites-available
ORGファイルの作成
# cp 000-default.conf 000-default.conf.org
# vim 000-default.conf
  • vim 000-default.confのDocumentRoot /var/www/htmlの次に以下のような行を加える.
Redirect "/" "https://<ドメイン名を入力>/"

この後,systemctl restart apache2をしたらhttps通信が完了となりました.

ssh通信

サーバ側の準備

  • Open SSH Serverのインストール
# sudo apt update
# apt install openssh-server
  • sshサーバ起動
# systemctl enable ssh
# systemctl start ssh
# systemctl status ssh
  • /etc/ssh/sshd_configの編集
# cd /etc/ssh/
# cp sshd_config ssh_config.org
# vim sshd_config

sshd_config内では,以下2つの項目を編集

#Port 22
↓
Port 22
#PubkeyAuthentication yes
↓
PubkeyAuthentication yes

接続元の準備

  • 接続元環境:Macbook m1

ssh-copy-idで,公開鍵をサーバ側に登録します./etc/ssh/sshd_configPasswordAuthenticationは,yesにしておきます.

サーバ側の変更

/etc/ssh/sshd_configで下記項目を編集します.

PasswordAuthentication yes
↓
PasswordAuthentication no

参考

ポート解放

https://qiita.com/siida36/items/be21d361cf80d664859c

https・ssh設定

  • https通信

https://www.server-world.info/query?os=Ubuntu_22.04&p=httpd&f=3

https://shell-mag.com/22nd_ubuntuserver/3/

  • ssh設定

https://codechacha.com/ja/ubuntu-install-openssh/

Discussion