2023-12

Debian12.5

Debian12.5 ; OSインストールと初期設定

1.Debian12 概要とインストール方法 今回はユーザーフレンドリーなLinuxディストリビューションのUBUNTUの基になっているDebianでサーバー構築する方法を説明します。最新はDebian 12(コードネーム「bookworm」) (2023年 6 月 10 日 にリリース)のバグ修正とセキュリティーアップデートされたポイントリリース版 Debian12.5(2024年 2月 10 日 にリリース)です。 1.1 Debian12.インストールイメージのダウンロード Debian12.のダウンロードサイト  https://www.debian.org/ 上記公式サイトにアクセスし、インターネットに接続されている環境でのセットアップに都合の良い 最新の「 debian-12.5.0-amd64-netinst.iso.」をダウンロードしてください。(CD1枚に納まります) NETINSTではインターネットから必要なパッケージをダウンロードしてインストールする形になりますので、フルインストーラーと比較して容量が小さいインストーラーが利用できます。
Debian12.5

Debian12.5 ; SSH , UFW(ファイアウォール)

1. SSHサービスのセキュリティ設定 SSHサービスはデフォルトでrootユーザーのログインを許可しています。rootユーザーはユーザー名が既に判明しているためパスワードが判明すると、管理者権限でサーバーへログイン出来るため、これを拒否する設定を行います 1.1 一般ユーザーの作成 Debianのインストール時に一般ユーザーを作成している場合は、本手順は不要です。 サー バーに作成されているユーザーがrootのみの場合、SSHによるリモートログインが出来なくなりますので、OSのインストール時にユーザーを作成していない場合、事前にユーザーを作成する必要があります。OSのインストール時にユーザーを作成している場合は、本手順は不要です。 ユーザーの作成は"useradd"コマンドで行います。"-m"オプションでホームディレクトリの作成、"-p"オプションでパスワードを指定します。 例えばユーザーアカウント名として「debianuser」、パスワードとして「123456」を設定する場合は、以下のように実行します。 2. ファイヤーウォールの設定 Debianでは「ufw」というソフトウェアを使ってファイアウォールを設定することが多いので、ufwを利用したファイアウォール設定を行います。 ufwはOSの導入時にはインストールされていませんので、設定を行う前にufwパッケージのインストールを行います。インストール後に最低限のフィルタ設定を行う手順を紹介します。 ufwで設定するフィルタルール • サーバーに転送されるパケットは全て拒否 • サーバーから外部へ送信されるパケットは全て許可 • 最初に許可するポートはSSH用のポート • サーバーに入ってくるパケットを制限
Debian12.5

Debian12.5 ; 公開鍵暗号方式を用いたSSH接続

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

Debian12.5 ; FTPサーバー , NTP サーバーインストール

Debian12.5 ; FTPサーバー , NTP サーバーインストール 2. FTPサーバー導入 2.1 vsftpdをインストール # apt install vsftpd FTP Port21許可 3. Vsftpd SSL/TLS Vsftpd を SSL/TLS で利用できるように設定します 3.1 自己署名の証明書を作成 Let's Encrypt 等の信頼された正規の証明書を使用する場合は当作業は不要です
Debian12.5

Debian12.5 ; WEBサーバー(Apache)

Apache2インストール 最初にUFWでhttp:80番ポートおよびhttps:443ポートをallowしておく # ufw allow http # ufw allow https # ufw reload 1 Apache2 をインストール # apt -y install apache2 2 Apache2 基本設定
Debian12.5

Debian12.5 ; Clamav(アンチウイルス) , メールサーバー インストール

1. ウイルス対策ソフトClamav導入 ウィルス対策としてLinux 用のフリーのアンチウィルスソフトであるClam AntiVirus を導入します。 このアンチウィルスソフトを導入することで、サーバー全体のウィルススキャンはもちろん、メールサーバーを構築し、設定を行えば、送受信するメールのウィルススキャンも行うことができます。 2. メールソフト導入 Postfix は、sendmail に代わるMTA (Mail Transport Agent)として開発されたソフトウェアで、sendmail との互換性が高く、安全、メンテナンスが容易、速い、などの特徴を兼ね備えたメールサーバーです。 また、Postfix はメールを送信するSMTP サーバーとしての機能しか無いため、後半でメール受信のPOP サーバーDovecotのインストールを別途行います。 3 メールサーバーPostfixに ClamAV適用 Postfix と Clamav を連携させて 送受信メールをリアルタイムスキャンできるように設定します ①Amavisd および Clamav Daemon をインストールして Clamav Daemon を起動します
Debian12.5

Debian12.5 ; 証明書を取得 (Let's Encrypt), Apache,Mail SSL化

1. 証明書を取得する (Let's Encrypt) 1.1 事前準備 ①mod_sslを有効にする # a2enmod ssl ②Let's Encrypt証明書を取得するためのクライアントツールをインストール # apt -y install certbot ③Let's Encrypt証明書の取得 Apache httpd や Nginx などの Webサーバーが稼働していることが前提となります。 作業を実施するサーバーで Webサーバーが稼働していない場合は ④の手順を実行。 また、インターネット側から、作業を実施するサーバー (証明書を取得したい FQDN のサーバー) の 80 ポート宛てにアクセス可能であることも前提です。
Debian12.5

Debian12.5 ; MariaDB , WordPress インストール

1. MariaDBインストール 1.1 インストール # apt install mariadb-server MariaDBlバージョン確認 1.3 phpMyAdmin インストール phpMyAdmin をインストールして、Web ブラウザ経由で MariaDB の操作ができるように設定 ①インストール # apt install phpmyadmin phpMyAdmin を使用する Webサーバーの選択、今回はApache2 2.WordPressインストール 2.1 データベース作成 Word Press 用のデータベースを作成します(例として今回はデータベース名を 「wp_db」、ユーザー名を「wp_user」、パスワードを「?Y123456y」)
Debian12.5

Debian12.5 ; Suricata + Elastic Stackでログの可視化とモニタリング

前提条件 今回はSuricata IDS と ElasticStack を 次のサーバーにインストールします ・1台目サーバー Suricata IDS & Filebeat : Debian12.5 IPアドレス(192.168.11.83) ・2台目サーバー ElasticStack & kibana : Ubunru22.04 IPアドレス(192.168.11.100) root以外のsudoユーザーで実行する  1台目サーバー Suricata インストール SURICATA IDS/IPSはネットワーク上の通信を監視し、不審なトラフィックを検知するオープンソースのIDSです。基本的な仕組みはシグネチャ型であるため、あらかじめ設定した不正な通信を検知できます。また、Suricataは検知だけでなく防御も行えることが特徴です。
Archlinux

ArchLinux ; インストール #1 イメージダウンロードと事前準備

Arch Linux について Arch Linux は、Linux ディストリビューションの一つです。 他のディストリビューションでは、グラフィカルなインストールが行われる場合が多いですが、Arch Linux の場合は、CUI のコマンドライン画面上のコマンド操作でインストール作業を行います。 ただし、必要のない無駄なパッケージのインストールなどが行われることはないので、自由度が高く、軽量・コンパクトな独自の環境を作ることが出来ます。 Arch Linux には、他のディストリビューションにあるような「バージョン」の概念がありません。 インストール用の ISO には、インストール作業で使うコマンド等のみが収録されており、これらが常に最新のものとなるよう、ISO ファイルは毎月更新されます。
Archlinux

ArchLinux ; インストール #2 ディスクのパーティショニング

1. Arch Linux をインストールするディスクのパーティショニング 今回はUEFI モードでインストールするのでパーティションテーブルをGPTにするのでコマンドはgdiskを利用する 現在のディスク情報を確認 # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 693.5M 1 loop /run/archiso/airootfs sda 8:0 0 20G 0 disk sr0 11:0 1 813.3M 0 rom /run/archiso/bootmnt 上記の場合、VmwareWorkststion 上で 20 GB の仮想 HDD を作成したので、sda の SIZE が 20 GB になっています。NAME 行の sda が、ディスク全体を表すデバイス名でこのsdaにパーティショニングを行います 今回はEFIパーティションとArch Linux 用パーティションを作成しswapパーティションは作成しません 以前は、スワップ用にパーティションを一つ作って、それをスワップとして割り当てていましたが、現在は 「スワップファイル」 を使うことができるため、スワップ用のパーティションは作らなくても使用できます。 「スワップファイル」は、スワップ用に任意のサイズのファイル
Archlinux

ArchLinux ; インストール #3 インストール時の初期設定

インストールしたシステム内で初期設定 インストールしたシステムに入るにはarch-chrootコマンドを使います。 arch-chroot は、Arch Linux インストール用のスクリプトで、指定したパスがルート "/" になるようにマウントします。 ただし、これ以降はインストール先ArchLinuxにあるコマンドしか使うません、インストールメディア内にあるコマンドは利用できません。 例えばパッケージをインストールする場合pacstrapは利用できずpacmanを使用します。 インストールしたシステムに入る(/mntが/になる)
Archlinux

ArchLinux ; インストール #4 btrfsでのインストール方法

ext4ファイルシステムでインストールする場合は下記ページを参照してください https://korodes.com/arch_02/ https://korodes.com/arch_03/ 1.パーティションの作成 1.1 インストールデバイスの確認 lsblkコマンドで対象のデバイスを確認する # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 748.3M 1 loop /run/archiso/airootfs sda 8:0 0 20G 0 disk sr0 11:0 1 872.3M 0 rom /run/archiso/bootmnt 今回は上記からデバイスは/dev/sdaにあります 1.2 パーティションの作成 今回は、以下のパーティション構成とします。 パーティション サイズ フォーマット マウントポイント /dev/sda1512MBvfat/boot/dev/sda2全部btrfs/ 以下のコマンドで上記のパーティションを作成
Archlinux

ArchLinux ; OSインストール後の初期設定

1. ネットワークの接続 ■ systemd-resolved を使う場合、/etc/resolv.conf をリンクファイルとして作成 # ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf ■ systemd-resolved を使わない場合 2. 固定IPアドレス設定 インストール過程で作成した/etc/systemd/network/mynet.networkを編集する。 例としてIPアドレスを”192.168.11.83”に設定する ネットワークインターフェース名"ens33"は各自の環境に合わす 3. ユーザーアカウント作成 ユーザー(huong)をwheelグループに追加しホームディレクトリーを作成する 4. 64bit 環境で 32bit のアプリケーションを動作させる multilib リポジトリにあるパッケージが必要になるので、利用できるように/etc/pacman.conf ファイルを編集する 5. 時刻の同期 ntp を使いNTP サーバーから時刻を取得するのでntpをインストールする
Archlinux

ArchLinux ; SSH , ファイアウォール

1. SSHサービスのセキュリティ設定 SSHサービスの設定を変更するために設定ファイルを変更します。SSHサービスの設定ファイル は"/etc/ssh/sshd_config"です。 今回はデフォルトのSSHポート22から2244に変更して進めます /etc/ssh/sshd_configを下記のとおり変更する