Debian12.8

Debian12.8

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

1. SSHサービスのセキュリティ設定SSHサービスはデフォルトでrootユーザーのログインを許可しています。rootユーザーはユーザー名が既に判明しているためパスワードが判明すると、管理者権限でサーバーへログイン出来るため、これを拒否する設定を行います2. ファイヤーウォールの設定Debianでは「ufw」というソフトウェアを使ってファイアウォールを設定することが多いので、ufwを利用したファイアウォール設定を行います。 ufwはOSの導入時にはインストールされていませんので、設定を行う前にufwパッケージのインストールを行います。インストール後に最低限のフィルタ設定を行う手順を紹介します。 ufwで設定するフィルタルール • サーバーに転送されるパケットは全て拒否 • サーバーから外部へ送信されるパケットは全て許可 • 最初に許可するポートはSSH用のポート • サーバーに入ってくるパケットを制限
Debian12.8

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

1.Debian12今回はユーザーフレンドリーなLinuxディストリビューションのUBUNTUの基になっているDebianでサーバー構築する方法を説明します。最新はDebian 12(コードネーム「bookworm」) (2023年 6 月 10 日 にリリース)のバグ修正とセキュリティーアップデートされたポイントリリース版 Debian12.8(2024年 11月 9 日 にリリース)です。Miscellaneous BugfixesおよびSecurity Updatesについては下記を参照してください。https://www.debian.org/News/2024/202411092.1 vimエディターのインストールと設定Debianではデフォルトのエディターとして「nano」が設定されています。nanoはやや使いにくいことや、利用されている環境が少ないためエディタを「vim」に変更する手順を紹介します。vimパッケージの確認Debian にはデフォルトでvimがインストールされていますが「vim-tiny」というパッケージになり、機能が少ないバージョンになります。インストールされ ているvimパッケージを確認してみます。Debianではパッケージの確認に"dpkg"コマンドを利用します。"-l"オプションを付けるとパッケー ジリストが表示されます。"dpkg"コマンドをそのまま実行するとシステムにインストールされている全てのパッケージが表示されるため、文字列「vim」を含むパッケージのみを"grep"コマンドで抽出します。以下のように実行します。
Debian12.8

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

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

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

1. NTP サーバーインストール# apt -y install chrony# vi /etc/chrony/chrony.conf# 8行目:デフォルト設定はコメントにして自身のタイムゾーンの NTP サーバーを追記#pool 2.debian.pool.ntp.org iburstpool ntp.nict.jp iburst# 最終行に追記 (時刻同期を許可する範囲)(自環境に合わす)allow 192.168.11.0/242. FTPサーバー導入2.1 vsftpdをインストール# apt install vsftpd3. Vsftpd SSL/TLSVsftpd を SSL/TLS で利用できるように設定します3.1 自己署名の証明書を作成Let's Encrypt 等の信頼された正規の証明書を使用する場合は当作業は不要です
Debian12.8

Debian12.8 ; WEBサーバー(Apache),Digest認証

WEBサーバーApache2導入インストールの前にUFWでhttp:80番ポートを解放しておく# ufw allow http# ufw reload1 Apache2インストールと設定3. Apache2; Perlスクリプトを利用するCGI を有効にして Perl スクリプトが利用できるように設定します①Perl をインストール4 Apache2 : PHPスクリプトを利用する①PHP をインストール# apt -y install php php-cgi libapache2-mod-php php-common php-pear php-mbstring②Apache2 の設定
Debian12.8

Debian12.8 ; 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 を起動します4 メールサーバーに スパムチェック適用4.1 spamassassinとprocmailを使用して、スパムチェック①spamassassinとprocmailインストール
Debian12.8

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

1. 証明書を取得する (Let's Encrypt)1.1 事前準備1.mod_sslを有効にする# a2enmod ssl2.パッケージ管理システムSnappyインストールLet’s EncryptのSSL証明書発行ツール「certbot」は2021年以降は「snap」を利用したインストールが推奨されていますので、まずSnapdをインストールします2. Apache2にSSL/TLS(Let's Encrypt) の設定①Apache2のSSL関連設定ファイルの編集3. Mail サーバーにSSL/TLS(Let's Encrypt) の設定3.1 メールサーバー用証明書の取得メールサーバー用の証明書を取得するが上記と同様の方法では取得できないので「--standalone」オプションをつけて下記のようにしても失敗する。
Debian12.8

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

1. MariaDBインストール1.1 インストール# apt install mariadb-serverMariaDBlバージョン確認# mariadb -Vmariadb Ver 15.1 Distrib 10.11.6-MariaDB, for debian-linux-gnu (x86_64) using EditLine wrapper1.2 MariaDBサーバのセキュリティ設定MariaDBには、デフォルトのセキュリティスクリプトであるmariadb-secure-installationが付属しており、これを使用してMariaDBインストールの下記のようなセキュリティを向上させることができます。rootアカウントのパスワードを設定する(必要な場合)。データベースへのリモートrootログインを無効化する。1.3 phpMyAdmin インストールphpMyAdmin をインストールして、Web ブラウザ経由で MariaDB の操作ができるように設定2.WordPressインストール2.1 データベース作成Word Press 用のデータベースを作成します(例として今回はデータベース名を 「wp_db」、ユーザー名を「wp_user」、パスワードを「?Y123456y」)
Debian12.8

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

前提条件今回はSuricata IDS と ElasticStack を 次のサーバーにインストールします・1台目サーバ...
Debian12.8

Debian12.8 ; Nagios Server , Tripwire インストール

オープンソースの統合監視ソフトウェア「Nagios Server」インストールNagiosは、Linux 上で実行するオープンソースの監視ソリューションです。Nagiosは、 Ethan Galstadによって開発され、 1999 年に最初にリリースされました。その後、このプロジェクトは、いくつかの貢献者によってオープンソース プロジェクトとして改良されました。Nagiosは、ネットワーク、アプリケーション、またはサーバーの重要なパラメーターを定期的にチェックするように設計されています。これらのパラメータには、マイクロプロセッサの負荷、実行中のプロセス数、ログ ファイル、ディスクおよびメモリの使用量の他、SMTP (Simple Mail Transfer Protocol)、HTTP (Hypertext Transfer Protocol)、POP3 ( Post Office Protocol 3)の他の多くのサービスもチェックできます。Nagoisを実行するにはPHP、MySQLなどのデータベース、ApacheやNginxなどのWebサーバーが必要です。今回はこれらすべてが構成済みという前提で進めます。
Debian12.8

Debian12.8 ; Logwatch,Chkrootkit,ディスク使用率チェックスクリプト

LogwatchLogwatch は、いろいろなログをまとめて集計し、レポートとして毎日定期的にメールで届けてくれる。不正アクセスや不具合の発見とサーバの監視に便利なツールChkrootkitchkrootkitはルートキットの存在を検知するためのツール。なお、chkrootkitは既に改ざんされた後では意味がないため、導入時には考慮が必要です。また、chkrootkitはrootkitを検出しても自動的に対処する機能はないため、検出後は手動で対応する必要があります。
Debian12.8

Debian12.8 ; システムのバックアップとレストア

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