FreeBSD14.2

FreeBSD14.2

FreeBSD14.2 ; OS インストール

FreeBSDとはFreeBSD(フリービーエスディー)は、UNIXライクなオープンソースのOSソフトウェア。特にネットワークOSとしての稼動実績はLinux系を上回り、高い負荷にも安定したパフォーマンスを維持します。FreeBSD(フリービーエスディー)は実用性を重視し堅牢で頑丈な設計を施されている点から、大手企業・サービスのFTP、WWW、電子メールサーバなどの運用に適しています。今回は2024 年 12 月 3 日にリリースされたFreeBSD14.2をインストールし、サーバーの構築を行います。特徴高い負荷にも耐えられる高速・高性能なマルチプラットフォーム大手企業にも多々の採用実績アクセス制限によりセキュリティ対策を適用できるネットワーク小規模から大規模までのサーバの運用が可能商用から個人用途まで33,000を超える専用ソフトウェア
FreeBSD14.2

FreeBSD14.2 ; 初期設定 (バイナリーの更新,PackagesとPorts Collectionの更新)

FreeBSDのインストールが終わり、これからサーバーの構築を始めますがコンソール画面では何かと作業がしにくいので、TeraTerm等を使用しWindowsから操作します。OpenSSH サーバーはデフォルトでパスワード認証方式でのログインは可能となっています。サービスが有効になっていればリモートログインすることができます。sshd サービスの有効確認# grep sshd /etc/rc.confsshd_enable="YES"これでWindowsのTeraTermからSSH接続できます(TeraTermでの設定は他のOSの初期設定を参照してください)1. バイナリーの更新カーネルなどのバージョン情報の表示# uname -srmFreeBSD 14.2-RELEASE amd64利用可能なすべてのバイナリ更新(セキュリティアップデート)を取得今回はアップデートがありませんでした
FreeBSD14.2

FreeBSD14.2 ; 初期設定(Vimインストール,SSH接続のセキュリティ対策,ファイアウォール,NTPサーバー)

1. Vim インストールエディタとして使い慣れたVimを使用しますので下記の通りインストール# pkg install -y vimVimを標準のエディタとして利用可能するため".shrc"を編集し、再度ログインしなおすと反映するFreeBSD14はデフォルトシェルがでshになっている次のコマンドで現在のSHELLを確認できる2.localeデータベースの利用FreeBSDではupdatedbを利用すると次のようなエラーが出ます # /usr/libexec/locate.updatedb>>> WARNING>>> Executing updatedb as root. This WILL reveal all filenames>>> on your machine to all login users, which is a security risk.エラーの内容はrootユーザで updatedb を実行してます。これは、すべてのログインユーザにすべてのファイル名を見ることが可能になってしまいます。これは、セキュリティリスクです。
FreeBSD14.2

FreeBSD14.2 ; FTPサーバ , Sambaでファイルサーバー

1. FTPサーバ(Vsftpd)1.1 事前準備①秘密鍵作成# cd /etc/ssl# openssl genrsa -des3 -out server.key 2048Enter PEM pass phrase:Verifying - Enter PEM pass phrase:➁パスフレーズ削除1.2 vsftpdインストール1.1 vsftpdインストール# cd /usr/ports/ftp/vsftpd# make BATCH=yes WITH_VSFTPD_SSL=yes install clean1.2 vsftpd設定ファイル編集2. SambaでファイルサーバーWindowsやMacのファイル共有を実現するため、Sambaを使いファイルサーバーを構築する2.1 Sambaのインストール# cd /usr/ports/net/samba416/# make configADS,AD_DCのアクティブ・ディレクトリ関係は、今回は使わないので外す。LDAPもアカウント管理をLDAPで行わないので外す。デフォルトではZeroconf SupportはAVAHIにチェックがついていますが、MDNSRESPONDERに変更
FreeBSD14.2

FreeBSD14.2 ; WEBサーバー(Apache2) , MySQL8インストール

1. Apache21.1 インストール# cd /usr/ports/www/apache24# make configたくさんのオプションがありますが、デフォルトのまま進めます1.4 バーチャルホストの設定ドキュメントルート : /usr/local/www/apache24/data/[FQDN]/ドメイン : [FQDN]としてバーチャルホストを設定します# vi /usr/local/etc/apache24/httpd.conf最後のほうに下記を記入Include etc/apache24/extra/bsd-vhost.conf/usr/local/etc/apache24/extra配下にbsd-vhost.conf新規作成2. MySQLインストールPHPをインストールする前にMySQLをインストールしておきます。3. apache24 - PHP 8.33.1 PHPインストール# cd /usr/ports/lang/php83# make configスレッドセーフに動作させるには「ZTS」のオプションが必須になります。あとは、デフォルトのまま
FreeBSD14.2

FreeBSD14.2 ; WebサーバーSSL化、Webminインストール

1. Webサーバー(Apache)SSL化portsでは更にFreeBSDの定期ジョブ設定による更新が行える。certbotをpkgでインストールする。webrootモードで更新したいのでapache用のプラグインも入れる。1.1 Let's Encrypt 用 Certbot ツールのインストール以下のコマンドを実行して、CertbotパッケージとApache HTTPプラグインをインストールします1.4 Let's Encrypt証明書の取得①FreeBSD13.2と同様に下記コマンドで取得しようとしても次のエラーが出てssl moduleを読み込まないので、仕方なく➁の方法で行ったUnable to read ssl_module file; not disabling session tickets.# certbot --apache -d [FQDN]➁単一ドメイン[FQDN]のみをカバーする証明書を取得するには、以下のcertbotコマンドを実行する:今回は--standaloneオプションを使い取得しますので、一度apacheを停止します2. WebminインストールWebminは、LinuxなどのUnix系オペレーティングシステム (OS) を設定できるウェブブラウザベースのツールである。 ユーザーやディスク使用上限、サービス、設定ファイル等といったOS内部設定の変更を多数行え、ApacheやPHP、MySQLなどといった多くのオープンソースのアプリケーションの変更や制御を行える。Webminは主にPerlで構築されており、独自のプロセス、そしてウェブサーバとして動作する。 初期設定では10000番のTCPポートで通信する。
FreeBSD14.2

FreeBSD14.2 ; Mailサーバー(Postfix,Dovecot)構築と SSL/TLS

1. メールサーバー用証明書の取得メールサーバーをSSL/TLS化するためメールサーバー用の証明書を取得します。WEBサーバーをSSL化したときに利用したcertbotを使用します。一度web サーバーを止めて下記コマンド2.2 procmailインストールメールの振り分けをprocmailで行います。# cd /usr/ports/mail/procmail# make BATCH=yes install clean※ 上記でインストールできない場合は下記にてインストールする# pkg install procmail2.3 cyrus-sasl2 , cyrus-sasl2-saslauthdインストールSMTP認証にSASLを使用します。Cyrus SASL2ライブラリ及びCyrus SASL2 認証用デーモンをインストール
FreeBSD14.2

FreeBSD14.2 ; Postfix ClamAV + Amavis + SpamassAssinでウイルス・スパム対策

FreeBSD 14.2 にClamAVをインストールし、Postfixに対しAmavisで連携させます。ClamAVはアンチウイルスソフトウェアです。Postfixをすでに実装しているという前提で進めます。2. AmavisClamAVとPostfixを連携させるAmavisをインストールします3. SpamAssassinでスパム対策3.1 SpamAssassinインストールAmavisをインストールした際、オプションでspamassassinを選択しなかった場合下記要領でインストールする
FreeBSD14.2

FreeBSD14.2 ; Jail インストール

JailとはFreeBSD環境上に仮想のFreeBSD環境を複数構築することが出来るしくみである。jailはchrootを発展させたもので、ホスト環上(jailerと呼ぶ)に構築したjail環境(prisonerと呼ぶ)は、ホスト環境とは別に動作するFreeBSDマシンとして振舞う。prisonerからはjailerおよび並列する別のprisonerに直接アタッチすることが出来ない。jailの特徴・エミュレーションではないため、高速に動作する・prisonerごとにjailerとは別のIPアドレスを振ることができる・jailerとprisonerで同一のファイルシステムが利用されるため、UID/GIDの割り当てに注意する必要がある今回は、jailer(FreeBSD14.2)内に2つのprisoner(prisoner1、prisoner2)を構築する