タグ: Ubuntu 24.04

Ubuntu24.04にfirefly-iiiをインストール。(php8.3対応版)

ここから施行を繰り返し、「結局、Ubuntu24.04でなければ動かないだろう」という結論。

無事にインストールできたので、その記録です。

環境

以下、既に構築済みという状況です。

そして、以下を準備済みです。

  • サイトにアクセスするドメインとDNS登録
  • 上記に沿った適切な証明書

さっくりとした手順

  1. プログラムをダウンロードします。
  2. composerでインストールします。
  3. DBを作成します。
  4. .envを設定します。
  5. DBのマイグレーションを行います。
  6. ログファイルの格納ディレクトリを設定します。
  7. ApacheでWebサーバの設定を行います。
  8. アクセスを確認します。

Firefly III のダウンロード

  • ディレクトリ移動
cd /home/www-data

Web公開用のディレクトリを指定します。

  • プログラムのダウンロード
git clone https://github.com/firefly-iii/firefly-iii.git -b v6.1.19

※PHP8.3で稼働するバージョンを指定しています。

  • ダウンロード確認
ls -ld firefly-iii

ディレクトリが作成されていること、Web実行ユーザ(www-data)であることを確認します。

DB作成

  • mysqlログイン
mysql -u root -p
  • DB作成
CREATE DATABASE firefly character set utf8mb4;
CREATE USER 'firefly'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON firefly.* TO 'firefly'@'localhost';
FLUSH PRIVILEGES;
EXIT;

ポリシーに合わせて強固なパスワードを指定します。

.env設定

  • .envのサンプルをコピー
sudo cp -pi .env.example .env
  • ファイル修正
    • .env を教義・信仰に沿ったエディタで修正します。
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=firefly
DB_USERNAME=firefly
DB_PASSWORD=your_password

最低限、上記を指定します。パスワードはDB作成時のものです。

DBマイグレーション

sudo -u www-data php artisan firefly-iii:upgrade-database
sudo -u www-data php artisan firefly-iii:correct-database
sudo -u www-data php artisan firefly-iii:report-integrity
sudo -u www-data php artisan passport:install

ログファイルの格納ディレクトリを作成

  • ディレクトリ作成
sudo mkdir /var/log/firefly
  • ディレクトリの所有者変更
sudo chown -R www-data www-data /var/log/firefly
  • ディレクトリ作成確認
ls -ld /var/log/firefly

Apache設定

  • 以下のファイルを作成します。
  • /etc/apache2/sites-available/firefly-iii.conf
  • 【】の箇所は、自分の環境に合わせて修正してください。
cat <<- __EOF__ | sudo tee -a /etc/apache2/sites-available/firefly-iii.conf
<VirtualHost *:80>
    servername 【bank.example.com】
    # ドメイン名を指定します
    RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# HTTPアクセスを強制的にHTTPSにリダイレクトします
</VirtualHost>

<VirtualHost *:443>
    ServerName 【bank.example.com】
    # ドメイン名を指定します
    CustomLog 【/var/log/firefly/firefly_access.log】 combined
    ErrorLog 【/var/log/firefly/firefly_error.log】
    DocumentRoot 【/home/www-data/firefly-iii/public】
    # 自身の環境に合わせます
    <Directory 【/home/www-data/firefly-iii/public】>
    # 自身の環境に合わせます
        AllowOverride All
        Require all granted
    </Directory>

#SSL設定
  SSLEngine on
    Protocols h2 http/1.1
  # SSLを有効化します

SSLCertificateFile 【/etc/certs/bank.example.com.crt】
# SSL証明書を指定します
SSLCertificateKeyFile 【/etc/private/bank.example.com.key】
# 秘密鍵を指定します

# SSLCACertificateFile 【/etc/certs/bank.example.com.crt】
# 中間証明書が発行元から別ファイルで提供されている場合は、この直上をコメントアウトして中間証明書を指定します

#セキュリティヘッダー付与

    Header always set Strict-Transport-Security "max-age=63072000"
    Header set X-Content-Type-Options "nosniff"
    Header always append X-Frame-Options "SAMEORIGIN"
    Header set X-XSS-Protection "1; mode=block"

</VirtualHost>

SSLProtocol             all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2
SSLCipherSuite          ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:EC6-GCM-SHA384
SSLHonorCipherOrder     off
SSLSessionTickets       off

SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
__EOF__

設定反映

  • 設定反映
sudo a2ensite firefly-iii.conf
  • Webサービス再起動
sudo systemctl restart apache2

インストール確認

設定したURLにアクセスします。(ここではbank.example.com)

  • Email address
  • パスワード(16文字以上)

を設定して、「Register」をクリックします。

続いて初期設定(メインバンクや通貨、言語の指定など)完了後、ダッシュボードが出てくればインストール完了です。

Ubuntu 24.04のphp環境構築と環境設定。

「Nextcloud等のLAMP環境が動くか」を考慮しながらUbuntu 24.04サーバを構築しています。

そこで、php8.3のインストール及びモジュールの追加を行います。

さっくりとした手順

  1. レポジトリを追加します。
  2. php並びに必要なパッケージを段階的にインストールします。
  3. Nextcloud等で必要になるように設定をしていきます。

レポジトリ追加とアップデート

  • phpレポジトリの追加
sudo add-apt-repository ppa:ondrej/php
  • パッケージ全体のアップデート
sudo aptitude update

段階的なインストール

  • php本体
sudo aptitude install php8.3
  • 周辺モジュール(APCuとMemcached)
sudo aptitude memcached php8.3-apcu
  • Webアプリに必要な周辺モジュール(MySQLを使う場合)
sudo aptitude install php8.3-{opcache,pdo,bcmath,calendar,ctype,fileinfo,ftp,gd,intl,json,ldap,mbstring,mysql,posix,readline,sockets,bz2,tokenizer,zip,curl,iconv,phar,xml,dev,imagick,gmp}
  • Webアプリに必要な周辺モジュール(Postgresを使う場合)
sudo aptitude install php8.3-{opcache,pdo,bcmath,calendar,ctype,fileinfo,ftp,gd,intl,json,ldap,mbstring,pgsql,pdo_pgsql,posix,readline,sockets,bz2,tokenizer,zip,curl,iconv,phar,xml,dev,imagick,gmp}
  • インストール確認
php -v
PHP 8.3.11 (cli) (built: Aug 30 2024 09:28:18) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.11, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.11, Copyright (c), by Zend Technologies

2024/09/06現在のバージョンです。

OPcacheとAPCuの有効化

Nextcloudはこの設定が無いと警告の対象となります。(或いはエラーが発生します)

  • 設定ファイル待避
sudo mv /etc/php/8.3/mods-available/opcache.ini /path/to/backup/directory/opcache.ini.$(date +%Y%m%d)
sudo mv /etc/php/8.3/mods-available/apcu.ini /path/to/backup/directory/apcu.ini.$(date +%Y%m%d)

任意のバックアップディレクトリを指定します。

  • 設定ファイル差し替え
cat <<- __EOF__ | sudo tee -a /etc/php/8.3/mods-available/opcache.ini
; configuration for php opcache module
; priority=10
zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.memory_consumption=256
opcache.save_comments=1
opcache.revalidate_freq=1
__EOF__
cat <<- __EOF__ | sudo tee -a /etc/php/8.3/mods-available/apcu.ini
extension=apcu.so
[apcu]
apc.enabled=1
apc.shm_size=32M
apc.ttl=7200
apc.enable_cli=1
apc.serializer=php
__EOF__

※ メモリ量などは環境に合わせます。

  • 設定反映
sudo systemctl restart apache2.service
  • Apache稼働確認
systemctl status apache2.service

active (running)を確認します。

Apacheのホームディレクトリを変更。

Ubuntu系LinuxにapacheやnginxといったWebサーバをパッケージ管理システムでインストールすると、通常は

/var/wwwがホームディレクトリとなります。

コンテンツ系を/varに余り入れたくないという好みの問題があるため、ここを変えていきます。

通常、www-dataは/usr/sbin/nologinとなっているためシェルでログインはできませんが、rubyでbundle installを行う際にホームディレクトリを参照するケースがあるため、この措置を執ります。

さっくりとした手順

  1. 新たなホームディレクトリを作成して設定します。
  2. /etc/passwdファイルを書き換えます。

ディレクトリの作成と設定

  • ディレクトリ作成
sudo mkdir -p /home/www-data

運用に合わせます。

  • ディレクトリの所有者変更
sudo chown -R www-data:www-data /home/www-data
  • 設定確認
ls -ld /home/www-data

所有者がwww-dataになっていることを確認します。

passwdファイルの書き換え

※システム全体のアカウントを制御する重要なファイルです。取り扱いは慎重に行ってください。※

  • バックアップ作成
sudo cp -pi /etc/passwd /path/to/backup/directory/passwd.$(date +%Y%m%d)

任意のバックアップディレクトリを指定します。

  • バックアップ作成確認
diff -u /path/to/backup/directory/passwd.$(date +%Y%m%d) /etc/passwd

エラーがなければバックアップは成功です。

  • ファイル書き換え
sudo sed -i 's|/var/www|/home/www-data|' /etc/passwd
  • 書き換え確認
diff -u /path/to/backup/directory/passwd.$(date +%Y%m%d) /etc/passwd

以下の差分を確認します。

-www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
+www-data:x:33:33:www-data:/home/www-data:/usr/sbin/nologin

差分がこの2つだけであることを確認できたら設定完了です。

Ubuntu 24.04、Apacheのインストールと初期設定

概要

Ubuntu24.04にWebサーバーApacheをインストールします。最近のトレンドではNginxではあるものの、

  1. 豊富なモジュールとカスタマイズ
  2. 動的コンテンツの設定をしやすい
  3. 小規模サイトを立ち上げる上での手間の少なさ

を考慮してのApache設定です。

さっくりとした手順

  1. Apacheのインストールを行います。
  2. Apacheの設定を行います。
  3. 設定の反映を確認します。

インストールを行います。

  • レポジトリ追加
sudo add-apt-repository ppa:ondrej/apache2
  • パッケージ全体のアップデート
sudo aptitude update 
  • apacheのインストール
sudo aptitude install apache2
  • バージョン確認
apache2ctl -v
Server version: Apache/2.4.62 (Ubuntu)
Server built:   2024-07-22T12:37:10
  • サービス稼働確認
systemctl status apache2.service

enabledactive (running)を確認します。

設定を行います。

  • 設定ファイルのバックアップ
sudo cp -pi /etc/apache2/apache2.conf /path/to/backup/directory/apache2.conf.$(date +%Y%m%d)

任意のバックアップディレクトリを指定します。

  • 設定ファイルのバックアップ確認
diff -u /path/to/backup/directory/apache2.conf.$(date +%Y%m%d) /etc/apache2/apache2.conf

差分が無いことでバックアップを確認します。

  • 設定ファイル追記
sudo tee /etc/apache2/apache2.conf > /dev/null << 'EOF'
ServerSignature Off
ServerTokens Prod
ServerName 自分のサーバー名
EOF

自分のサーバー名を英数字で置き換えてください。

  1. サーバーの署名をオフにして
  2. 最小限の情報のみを公開し
  3. Webサーバの名前を指定する

内容です。

  • 追記確認
diff -u /path/to/backup/directory/apache2.conf.$(date +%Y%m%d) /etc/apache2/apache2.conf
  • 差分内容
+ ServerSignature Off
+ ServerTokens Prod
+ ServerName 自分のサーバー名

設定反映を確認します。

  • 構文確認
sudo apache2ctl configtest

Syntax OKを確認します。

  • サービス再起動
sudo systemctl restart apache2.service
  • サービス再起動確認
systemctl status apache2.service

active (running)を確認します。

  • 設定反映確認
curl -I http://localhost

以下のように、ServerヘッダーにApacheのみが表示されていることを確認します。

Server: Apache

Ubuntu24.04サーバの初期設定。(ufwとfail2ban)

  • インターネット上に公開されたWebサーバを運営している
  • IPアドレスが固定されていない

場合に必要な措置となる、NW保護を行います。

環境

  • Ubunt 24.04

さっくりとした手順

  • ufwを有効化します。
  • fail2banをインストールします。
  • fail2banの設定をします。

SSHとWeb通信のみを有効化させます。

  • SSH接続を許可するが過度な接続を制限する
sudo ufw limit proto tcp from any to any port 22
  • http通信を許可
sudo ufw allow 80/tcp
  • https通信を許可
sudo ufw allow 443/tcp
  • ufwの設定を反映
sudo ufw enable

Command may disrupt existing ssh connections. Proceed with operation (y|n)?はyで続けます。

  • 反映確認
sudo ufw status

以下を確認します。

状態: アクティブ

To                         Action      From
--                         ------      ----
22/tcp                     LIMIT       Anywhere                  
80/tcp                     ALLOW       Anywhere                  
443/tcp                    ALLOW       Anywhere                  
22/tcp (v6)                LIMIT       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)             
443/tcp (v6)               ALLOW       Anywhere (v6) 

別ウィンドウで新たなSSH接続を行い、通信できるかを確認します。

  • 再起動後でもufwが有効であることを確認
sudo reboot

再起動後、SSH接続ができることを確認します。

sudo ufw status

上記、許可された設定が有効になっていることを確認します。

fail2banをインストールします。

  • インストール
sudo aptitude update && sudo aptitude install fail2ban
  • インストール確認
systemctl status fail2ban.service 

active(running)を確認します。

fail2banを設定します。

  • jail.localの作成

教義と進行に沿ったエディタを用いて/etc/fail2ban/jail.localを管理者権限で編集します。

[ufw]
enabled=true
filter=ufw.aggressive
action=iptables-allports
logpath=/var/log/ufw.log
maxretry=1
bantime=-1
ignoreip = 127.0.0.0/8 ::1
# ignoreipは任意の(ある程度アクセス元が判明しているIPアドレス)を指定ください。スペース区切りで複数指定できます。

[sshd]
enabled=true
filter=sshd
mode=normal
port=22
protocol=tcp
logpath=/var/log/auth.log
maxretry=3
bantime=-1
ignoreip = 127.0.0.0/8 ::1
# ignoreipは任意の(ある程度アクセス元が判明しているIPアドレス)を指定ください。スペース区切りで複数指定できます。
  • ufw.aggressiveを作成
sudo tee /etc/fail2ban/filter.d/ufw.aggressive.conf > /dev/null << 'EOF'
[Definition]
failregex = [UFW BLOCK].+SRC=<HOST> DST
ignoreregex =
EOF
  • 設定反映
sudo systemctl restart fail2ban.service
systemctl status fail2ban.service 

active(running)を確認します。

  • 設定確認
sudo cat /var/log/fail2ban.log

この時点で、

2024-09-01 17:14:26,476 fail2ban.filter         [1720]: INFO    [ufw] Found xxx.xxx.xxx.xxx - 2024-09-01 17:14:26
2024-09-01 17:14:26,623 fail2ban.actions        [1720]: NOTICE  [ufw] Ban xxx.xxx.xxx.xxx
2024-09-01 17:14:44,198 fail2ban.filter         [1720]: INFO    [ufw] Found yyy.yyy.yyy.yyy - 2024-09-01 17:14:44
2024-09-01 17:14:44,647 fail2ban.actions        [1720]: NOTICE  [ufw] Ban yyy.yyy.yyy.yyy

と、fail2banが不審なアクセスを弾いています。

sudo fail2ban-client status ufw

設定して10分も経たないうちに100ほどのIPアドレスがブロックされていました。

Ubuntu24.04のSSHとSSLの脆弱性対応。(OSインストール後最初に行うこと)

vpsを利用して立ち上げたUbuntu 24.04。

まずは2024年7月に発生した脆弱性に対応させます。

  • openssl
openssl version -a
OpenSSL 3.0.13 30 Jan 2024 (Library: OpenSSL 3.0.13 30 Jan 2024)
built on: Fri Aug  9 02:33:21 2024 UTC
platform: debian-amd64
options:  bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -fzero-call-used-regs=used-gpr -DOPENSSL_TLS_SECURITY_LEVEL=2 -Wa,--noexecstack -g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=/build/openssl-uVxJzP/openssl-3.0.13=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=/build/openssl-uVxJzP/openssl-3.0.13=/usr/src/openssl-3.0.13-0ubuntu3.3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=3
OPENSSLDIR: "/usr/lib/ssl"
ENGINESDIR: "/usr/lib/x86_64-linux-gnu/engines-3"
MODULESDIR: "/usr/lib/x86_64-linux-gnu/ossl-modules"
Seeding source: os-specific
CPUINFO: OPENSSL_ia32cap=0x9fb82203478bfffd:0x0
  • openSSH
ssh -V
OpenSSH_9.6p1 Ubuntu-3ubuntu13.5, OpenSSL 3.0.13 30 Jan 2024

脆弱性に対応していないバージョンだったので、まずはここから対応します。

環境

  • Ubuntu 24.04LTS
  • インストールしたばかりの状況

さっくりとならない手順

  1. 【オプション】ロケールを変更します。
  2. 【OpenSSL】必要なパッケージをインストールします。
  3. 【OpenSSL】githubレポジトリから最新安定版のソースコードをダウンロードします。
  4. 【OpenSSL】ソースからインストールしていきます。
  5. 【OpenSSL】設定を行います。(コンフィグを反映させ、パスを通します)
  6. 【OpenSSL】バージョンアップを確認します。
  7. 【OpenSSL】自動アップデートを無効化します。
  8. システム全体の再起動を行います。(1回目)
  9. 【OpenSSH】コンフィグに必要なディレクトリの作成を行います。
  10. 【OpenSSH】作業用ディレクトリに移動します。
  11. 【OpenSSH】ソースをダウンロードします。
  12. 【OpenSSH】OpenSSHをソースからビルドします。
  13. システム全体の再起動を行います。(2回目)
  14. 【OpenSSH】バージョンアップを確認します。

※脆弱性対応のため、切り戻しは一切考慮しません。※

ロケール変更

  • ロケール確認
localectl
System Locale: LANG=C.UTF-8
VC Keymap: (unset)     
X11 Layout: us
X11 Model: pc105
  • 使えるロケールを確認
localectl list-locales
C.UTF-8
en_US.UTF-8

→ 日本語がないので、追加することから確認します。

  • 日本語を追加
sudo aptitude install language-pack-ja
  • ロケール追加確認
localectl list-locales
C.UTF-8
en_US.UTF-8
ja_JP.UTF-8

追加を確認しました。

  • 日本語ロケールに設定
sudo localectl set-locale LANG=ja_JP.UTF-8

これで各種メッセージが日本語で表示されるようになります。

必要なパッケージをインストールします。

sudo apt install aptitude

パッケージ管理はこちらが好みなので先にインストールします。

sudo aptitude install build-essential zlib1g-dev libssl-dev libpam0g-dev libselinux1-dev libkrb5-dev checkinstall zlib1g-dev git

【OpenSSL】root昇格

ソースコードからコンパイルしてインストールするため、この作業は全て管理者権限で実行します。

sudo su -

【OpenSSL】ソースコード取得

  • 作業用ディレクトリに移動
cd /hoge && pwd

任意のディレクトリ名を指定します。

  • git clone
git clone https://github.com/openssl/openssl -b openssl-3.3.1

2024/09/01現在の最新版を指定します。

  • ディレクトリ移動
cd openssl && pwd

【OpenSSL】ソースからインストール

  • コンフィグ
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
  • コンフィグ成功時の出力
Configuring OpenSSL version 3.3.1 for target linux-x86_64
Using os-specific seed configuration
Created configdata.pm
Running configdata.pm
Created Makefile.in
Created Makefile
Created include/openssl/configuration.h

**********************************************************************
***                                                                ***
***   OpenSSL has been successfully configured                     ***
***                                                                ***
***   If you encounter a problem while building, please open an    ***
***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***
***   and include the output from the following command:           ***
***                                                                ***
***       perl configdata.pm --dump                                ***
***                                                                ***
***   (If you are new to OpenSSL, you might want to consult the    ***
***   'Troubleshooting' section in the INSTALL.md file first)      ***
***                                                                ***
**********************************************************************
  • make
make

時間がかかります。状況を時々見ながら待ちます。

  • makeの整合性確認
make test

これも時間がかかります。

  • インストール
make install

【OpenSSL】インストール後の設定

  • 設定ファイル追記
cat <<- __EOF__ | tee -a /etc/ld.so.conf.d/openssl-3.3.1.conf
/usr/local/ssl/lib64
__EOF__
  • 設定反映
ldconfig -v
  • 既存プログラムの退避
mv /usr/bin/c_rehash /path/to/backup/c_rehash.$(date +%Y%m%d)
mv /usr/bin/openssl /path/to/backup/openssl.$(date +%Y%m%d)

それぞれ、任意のディレクトリを指定します。

  • パスを通す
sudo sed -i 's|^PATH=.*|#&\nPATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/ssl/bin"|' /etc/environment
  • 通したパスの反映
source /etc/environment
  • パスの反映
echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/ssl/bin と表示されるのを確認します。

【OpenSSL】バージョンアップ後の確認

openssl version -a
OpenSSL 3.3.1 4 Jun 2024 (Library: OpenSSL 3.3.1 4 Jun 2024)
built on: Sun Sep  1 05:14:25 2024 UTC
platform: linux-x86_64
options:  bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DZLIB -DNDEBUG
OPENSSLDIR: "/usr/local/ssl"
ENGINESDIR: "/usr/local/ssl/lib64/engines-3"
MODULESDIR: "/usr/local/ssl/lib64/ossl-modules"
Seeding source: os-specific
CPUINFO: OPENSSL_ia32cap=0x9fb82203478bfffd:0x0

これで、バージョンが3.0.1から3.3.1に変わります。

【OpenSSL】自動アップグレード無効

その後のシステムアップグレードでパスなどが変わるのを防ぎます。

sudo apt-mark hold openssl
sudo aptitude hold openssl

【OpenSSL】システム全体の再起動(1回目)

reboot

再起動すると同時に、rootから抜けます。

【OpenSSH】ディレクトリ作成と設定

むしろここからが本番。CVE-2024-6378の致命的な脆弱性の対応を行います。

sudo mkdir /var/lib/sshd && sudo chmod -R 700 /var/lib/sshd/ && sudo chown -R root:sys /var/lib/sshd/

【OpenSSH】作業用ディレクトリに移動

cd /hoge && pwd

任意のディレクトリを指定します。

【OpenSSH】ソースのダウンロードと展開

  • ソース取得
wget -c http://mirror.exonetric.net/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz
  • ソース展開
tar -xvzf openssh-9.8p1.tar.gz
  • ディレクトリ移動
cd openssh && pwd

【OpenSSH】展開したソースコードをインストール

  • OpenSSLの位置を確認
which openssl

/usr/local/ssl/bin/opensslを確認

本手順でSSLのバージョンアップを行った場合の環境となります。

  • コンフィグ
./configure --with-kerberos5 --with-md5-passwords --with-pam --with-selinux --with-privsep-path=/var/lib/sshd/ --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/ssl

--with-ssl-dir=/usr/local/sslは、opensslがあるディレクトリを指定します。

  • make
make
  • インストール
sudo make install
  • インストール確認

ターミナルクライアントソフトは開いたまま、新たなウィンドウで開き、ログインできることを確認します。

  • バージョンアップ確認
ssh -V
OpenSSH_9.8p1, OpenSSL 3.3.1 4 Jun 2024

これで、SSH接続の脆弱性に対応。一番の危険は去りました。

Powered by WordPress & Theme by Anders Norén