Ubuntu24.04

Ubuntu24.04

Ubuntu Server 24.04 ; OSインストール

Ubuntu Server 24.04インストールイメージのダウンロード Ubuntu Serverのインストール用メディアはインターネット上の公式サイトからダウンロードできます。高速な回線さえあれば2~3分程度でOS自体をダウンロードすることができます。ダウンロードしたisoファイルからインストール用CD/DVDまたはUSBディスクを作成する必要があります。(約2.7G) Vmware等を使用して仮想マシンにインストールする場合はisoファイル自体を利用できます。 isoファイルのダウンロード先は「Ubuntu 公式ダウンロードサイト」です。 Ubuntu 24.04 ( 2024年04月25日リリース)は 2029年6月までサポートですので、本番環境にはLTS版のUbuntu24.04を導入するほうが無難です。
Ubuntu24.04

Ubuntu24.04 ; Zabbix7 インストール

オープンソースの統合監視ソフトウェア「Zabbix7」インストール Zabbix とは、サーバー、ネットワーク、アプリケーションを集中監視するためのオープンソースの統合監視ソフトウェアです。統合監視に必要な監視、障害検知、通知機能を備えています。多数のプラットフォームに対応した Zabbix エージェントと SNMP に対応しているため、システム全体を Zabbix ひとつで監視することが可能です。 Zabbixを実行するにはPHPプログラミング言語、データベースサーバーとしてはMySQL/MariaDB、ApacheやNginxなどのWebサーバーが必要です。 今回は次の条件がすべてが構成済みという前提で進めます。 今回は2024年06月04日にリリースされたZabbix7.0 LTSを下記環境にインストールしてみます。 Apache/2.4.58 10.11.8-MariaDB PHP 8.3.6 PHP-fpm
Ubuntu24.04

Ubuntu Server24.04 ; OSインストール後の初期設定

1. rootパスワードを設定し、SUコマンドを利用 Ubuntu のデフォルト設定では root ユーザーはパスワードが設定されていないため利用不可となっています。 root ユーザーにパスワードを設定することで、従来の [su] コマンドによる遷移が可能となる。 2. システムの最新化 # apt update # apt upgrade 3. locateコマンドを利用できるようにする Linuxシステム全体を対象として、特定のファイルを検索するのにはfindコマンドを利用する場合が多いが、findはオプションの指定がやや分かりにくいところがあります。 locateコマンドは指定したファイル名をもつファイルを全て抽出することが可能です。 4. vimエディターの設定 Ubuntu にはデフォルトでvimがインストールされています 4.1 vimの設定変更 vim設定を、全てのユーザーに許可したくない場合もあるかと思います。そのような場合には各ユーザーごとにvimの環境を変更できる「.vimrc」ファイルをユーザーのホームディレクトリに作成することでvimの環境を設定できます。 今回はrootユーザーのホームディレクトリ"/root/"に「.vimrc」ファイルを作成し全ユーザーに適用するよう設定します。
Ubuntu24.04

Ubuntu Server24.04 ; SSH , ファイアウォール

1. SSHサービスのセキュリティ設定 SSHサービスはデフォルトでrootユーザーのログインを許可しています。rootユーザーはユーザー名が既に判明しているためパスワードが判明すると、管理者権限でサーバーへログイン出来るため、これを拒否する設定を行います 1.1 一般ユーザーの作成 Ubuntu24.04のインストール時に一般ユーザーを作成している場合は、本手順は不要です。 サー バーに作成されているユーザーがrootのみの場合、SSHによるリモートログインが出来なくなりますので、OSのインストール時にユーザーを作成していない場合、事前にユーザーを作成する必要があります。OSのインストール時にユーザーを作成している場合は、本手順は不要です。 2. ファイヤーウォールの設定 Ubuntuでは「ufw」というソフトウェアを使ってファイアウォールを設定することが多いので、ufwを利用したファイアウォール設定を行います。 ufwはOSの導入時にインストールされています。インストール後に最低限のフィルタ設定を行う手順を紹介します。 ufwで設定するフィルタルール • サーバーに転送されるパケットは全て拒否 • サーバーから外部へ送信されるパケットは全て許可 • 最初に許可するポートはSSH用のポート(2244) • サーバーに入ってくるパケットを制限
Ubuntu24.04

Ubuntu Server24.04 ; 公開鍵暗号方式認証によるSSH接続

公開鍵暗号方式を用いた認証によるSSH接続  公開鍵、秘密鍵ペアの作成 OpenSSH 使って Linux サーバに接続するユーザの公開鍵と秘密鍵のペアを作成します。 公開鍵と秘密鍵のペアの作成はリモートログインするユーザ権限(huong)で実行します。 作成先・ファイル名を指定しなければ、 /home/huong/.ssh/ に id_ed25519,id_ed25519.pub が作成される。 途中、鍵用のパスワードも入力する。 PuTTYgen を使った秘密鍵の作成 Winscpを起動し「Tools」からRun Puttygen を起動する 該当サーバーを選択
Ubuntu24.04

Ubuntu Server24.04 ; NTPサーバー,FTPサーバー,Sambaインストール

1. 時刻同期サービスを提供する NTP サーバーをインストール 2. FTPサーバー 2.1 Vsftpdインストール、設定 ①インストール # apt install -y vsftpd ②UFWにてPORT 21を許可 2.2 Vsftpd Over SSL/TLS ①自己署名の証明書を作成します。 Let's Encrypt 等の信頼された正規の証明書を使用する場合は当作業は不要です。 3. Sambaでファイルサーバー導入 ユーザー認証が必要なアクセス権付ファイルサーバーをSambaで構築します。 導入手順 ①ユーザー認証が必要なアクセス権付の共有フォルダーを作成 ②アクセス可能なグループ作成 ③アクセス可能なグループに属するユーザー作成 ④設定ファイル編集
Ubuntu24.04

Ubuntu Server24.04 ; WEBサーバー(Apache)

Apache2インストール 最初にUFWでhttp:80番ポートおよびhttps:443ポートを開放しておく 2. Apache2 基本設定 3. Apache2 : Perlスクリプトを利用する CGI を有効にして Perl スクリプトが利用できるように設定します ①Perl をインストール 4. Apache2 : PHPスクリプトを利用する ①PHP をインストール 5. Apache2 : バーチャルホストの設定 ①デフォルトの設定ファイルをコピーし(ファイル名は任意、今回は例としてvhost-yourdomain.conf)、バーチャルホストの設定をします 6. Apache2でDigest認証を行う http の認証認定方式として有名なBasic 認証は認証情報を平文で送信するので、パケット盗聴されるとID とパスワードが漏洩する危険があります。 一方、Digest 認証は認証情報を暗号化して送信するので、情報漏えいの心配がほとんどありません。Digest 認証はBasic 認証を強化した認証認定方式と言えます。
Ubuntu24.04

Ubuntu Server24.04; Clamav ( アンチウィルス ) , メールサーバー インストール

1.ウイルス対策ソフトClamav導入 1.1 インストール # apt install clamav clamav-daemon 2. メールソフト導入 2.1 Postfix : インストール/設定 Postfix をインストールして SMTPサーバーを構築します。SMTP は 25/TCP を使用します。 メール不正中継防止に、後述の Dovecot の SASL機能を利用し、送信にも認証が必要なように Postfix を設定します 2.2 Dovecot : インストール/設定 DovecotをインストールしてPOP/IMAPサーバーを構築します。POP は 110/TCP, IMAP は 143/TCP を使用します 2.7 メールサーバーPostfixに ClamAV適用 Postfix と Clamav を連携させて 送受信メールをリアルタイムスキャンできるように設定します ①Amavisd および Clamav Daemon をインストールして Clamav Daemon を起動 2.8 メールサーバーPostfixに spamassassin適用 2.5.1 spamassassin をインストール ①インストール
Ubuntu24.04

Ubuntu Server24.04 ; WEBサーバー、MailサーバーSSL化(Let's Encrypt)

1. 証明書を取得する (Let's Encrypt) 1.1 事前準備 1.mod_sslを有効にする # a2enmod ssl 2.パッケージ管理システムSnappyインストール Let’s EncryptのSSL証明書発行ツール「certbo 2. Apache2にSSL/TLS(Let's Encrypt) の設定 ①Apache2のSSL関連設定ファイルの編集 hoge.com-ssl.confのhoge.com-sslは任意でよい 3. Mail サーバーにSSL/TLS(Let's Encrypt) の設定 3.1 メールサーバー用証明書の取得 メールサーバー用の証明書を取得するが上記と同様の方法では取得できないので「--standalone」オプションをつけて下記のようにしても失敗する。 # certbot certonly --standalone -d mail. 一度web サーバーを止めてから行うと下記のとおり成功す
Ubuntu24.04

Ubuntu Server24.04 ; MariaDB , WordPressインストール

1. MariaDB 1. 1インストール 2.WordPressインストール 2.1 データベース作成 Word Press 用のデータベースを作成します(例として今回はデータベース名を 「wp_db」、ユーザー名を「wp_user」、パスワードを「?Y123456y」) # apt -y install mariadb-server バージョンチェック # mariadb --version mariadb Ver 15.1 Distrib 10.11.7-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper 1.2. MariaDBサーバのセキュリティ設定 MariaDBサーバのセキュリティ関連の設定を行うためにmysql_secure_installtionというツールを実行します。 実行すると、質問形式でいくつかのセキュリティ設定
Ubuntu24.04

Ubuntu Server24.04 ; Suricata , SNORT3 インストール

Suricata SURICATA IDS/IPSはネットワーク上の通信を監視し、不審なトラフィックを検知するオープンソースのIDSです。基本的な仕組みはシグネチャ型であるため、あらかじめ設定した不正な通信を検知できます。また、Suricataは検知だけでなく防御も行えることが特徴です。 1.Suricata のインストール ①必須パッケージをインストール Snort3 1.必要なパッケージをインストール # apt install build-essential libpcap-dev libpcre3-dev libnet1-dev zlib1g-dev luajit hwloc libdumbnet-dev bison flex liblzma-dev openssl libssl-dev pkg-config libhwloc-dev cmake cpputest libsqlite3-dev uuid-dev libcmocka-dev libnetfilter-queue-dev libmnl-dev autotools-dev libluajit-5.1-dev libunwind-dev libfl-dev -y 2. DAQライブラリをインストール DAQライブラリをダウンロードしてインストール
Ubuntu24.04

Ubuntu Server24.04 ; Tripwire , DiCE , Logwatch インストール

Tripwireインストール クラッカーによるLinuxサーバーのファイルの改竄を検知するシステムを導入する。 今回は、ファイル改竄検知システムにホスト型IDS(IDS=Intrusion Detection System)のTripwireを導入する。 Tripwireは、導入時のファイル状態をデータベース化し、そのデータベースとファイルの現状を比較することにより、ファイルの追加/変更/削除を検知する。 DiCEのインストール ネットが切断されたり、ルーターが切断再起動したときにおこるグローバルIPの変更の度に、ダイナミックDNSにアクセスしグローバルIPが変更されたことを知らせなくてはいけません。その作業を自動的にやってくれるのがDiCEです ログ解析ツール logwatch インストール 1. logwatch のインストール
Ubuntu24.04

Ubuntu Server24.04 ; システムのバックアップとレストア

1. システムのバックアップ 1.1 /var/www/html 配下のバックアップ ①/var/www/systemディレクトリーを作成 # mkdir -p /var/www/system ②/var/www/system配下にbackup_all.shスクリプト作成 1.2 MariaDBのデータベースバックアップ ①/var/www/system配下にdb_backup.shスクリプト作成 2. システムの復元 2.1 HTML配下 バックアップファイルの復元 ① バックアップに使用するHTML バックアップファイルを、「/(ルート)」ディレクトリへ格納 最新のタイムスタンプの付いたバックアップファイルを選択 2.2 MariaDB データベースを復元 ①DB バックアップファイルを任意のディレクトリに保存し、データを解凍