サイズ: 4330
コメント:
|
← 2021-04-21 02:16:38時点のリビジョン12 ⇥
サイズ: 10907
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 3: | 行 3: |
本記述は13.0-RC1時点での内容であるが、13.0がリリースされた後、微調整する。 [[FreeBSD/FreeBSD13-install|インストール]] および [[FreeBSD/FreeBSD13-initial-setup|初期設定]] が完了しているものとする。 |
本記述は13.0-R時点での内容であるが、13.0-Rがリリースされたあとも調整する。 [[FreeBSD/FreeBSD13-install|インストール]] および [[FreeBSD/FreeBSD13-initial-setup|初期設定]] が完了しているものとするが、そう極端に依存はしてないはずである。 |
行 9: | 行 9: |
= 都度対応ケース = |
|
行 10: | 行 12: |
* 実行頻度: ユーザーおよびグループを追加したいと思った都度。 | |
行 35: | 行 38: |
* `wheel`: ルートになれるユーザー(管理者) * `operator`: 再起動等のサーバーの操作ができるユーザー(オペレーター) * `dialer`: シリアル通信するユーザー |
* `wheel`: ルートになれるユーザー(管理者)が所属するグループ * `operator`: 再起動等のサーバーの操作ができるユーザー(オペレーター)が所属するグループ * `dialer`: シリアル通信したいユーザーが所属するグループ |
行 53: | 行 56: |
{{{#!highlight shell numbers=disable pw usermod ユーザー名 -w no }}} |
|
行 63: | 行 69: |
== SASL認証におけるユーザーの追加 == * 実行頻度: SASL認証対象のユーザーを追加したいと思った都度。 * いわゆるレルムとの相関についてはここでは問わない。 * 本サービスを利用する側の運用ポリシーを決めた上で作業すること。 * なおユーザー `user@domain` と、ユーザー `user`・レルム `domain` は扱いが違うので注意。 * 上位サービスによっては `user@domain` を `user`・`domain` に分解することがあるが、それはそっち側の話となる。 * レルムを指定しない場合 `hostname` が指定された物として処理されるが、これが上位サービスから認識されるかは別の話になる。 === SASLユーザーの追加 === {{{#!highlight shell numbers=disable saslpasswd2 -c ユーザー saslpasswd2 -c -u レルム ユーザー }}} === SASLユーザーのパスワード変更 === {{{#!highlight shell numbers=disable saslpasswd2 ユーザー saslpasswd2 -u レルム ユーザー }}} === SASLユーザーの一覧 === {{{#!highlight shell numbers=disable sasldblistusers2 }}} === SASLユーザーの削除 === {{{#!highlight shell numbers=disable saslpasswd2 -d ユーザー saslpasswd2 -d -u レルム ユーザー }}} === SASLユーザーの検証 === {{{#!highlight shell numbers=disable testsaslauthd -u ユーザー名 -p パスワード testsaslauthd -u ユーザー名 -p パスワード -r レルム }}} = 使用したい一回だけ設定すればいいもの = == SASL認証サーバー == * 実行頻度:セットアップしたいと思った1回だけ。再起動不要。 * 認証のバックエンドはSASLデータベース、OS(PAM)、LDAP等選べるが、組み合わせての選択はできない。 * 今回はSASLデータベースによりOSのアカウントとは独立して認証を運用する。 * またSASLデータベースのバックエンドとしてナウでヤングなLMDBを採用する。 * SASL認証サーバーを使う場合、認証メカニズムは非暗号化パスワードしか扱えない点に注意。 * `PLAIN` * `LOGIN` * SYSLOGについてのメモ。 * いわゆるファシリティAUTHで出力される。 * アイデント名は `saslauthd` か `pwcheck` である。 {{{ saslauthd -+- sasldb -+- BDB1 | +- BDB ※BDB5のこと | +- GDBM | +- LMDB +- getpwent -+- /etc/master.passwd + -kerberos5 +- pam -+- /etc/pam.d に設定に準拠 +- rimap +- ldap }}} === /etc/make.conf === {{{#!highlight makefile numbers=disable security_cyrus-sasl2_SET= LMDB LOGIN PLAIN security_cyrus-sasl2_UNSET= OTP CRAM NTLM DIGEST SCRAM security_cyrus-sasl2_UNSET+= BDB BDB1 ANONYMOUS ALWAYSTRUE AUTHDAEMOND security_cyrus-sasl2_UNSET+= OBSOLETE_CRAM_ATTR OBSOLETE_DIGEST_ATTR security_cyrus-sasl2-saslauthd_SET= LMDB security_cyrus-sasl2-saslauthd_UNSET= BDB BDB1 HTTPFORM OPENLDAP OPENLDAP_SASL }}} === インストール === {{{#!highlight shell numbers=disable cd /usr/ports/security/cyrus-sasl2-saslauthd make install clean sysrc saslauthd_enable="YES" sysrc saslauthd_flags="-a sasldb" service saslauthd start }}} === デバッグメモ === 認証動作に不良が見られる場合は以下の手順でデバッグすること。 * `saslauthd -a sasldb -d` でデバッグモードで起動する。 * `testsaslauthd -u ユーザー名 -p パスワード` でテストする。 * `testsaslauthd -u ユーザー名 -r レルム -p パスワード` でテストする。 * `testsaslauthd` を実行すると必ず `saslauthd` に接続するので、フロント側の切り分けができる。 * また、`saslauthd` のデバッグログを読めば、バックエンド側の切り分けができる。 * 究極的には `ktrace(1)` / `kdump(4)` コマンドを使用して、アクセスしているファイルを確認する。 * これはファイルにアクセスできる・できないのエラー表示が無いためである。 * レルムとの相互関係についてはSASL認証をする上位サーバーアプリの振る舞いにもよるので、ここでは以上とする。 |
|
行 64: | 行 165: |
* 実行頻度:セットアップしたいと思った1回だけ。再起動不要。 | |
行 94: | 行 196: |
== シリアルコンソールを追加する == * 実行頻度:セットアップしたいと思った1回だけ。要再起動。 * ビデオコンソール(`vidconsole`)と共にシリアルコンソール(`comconsole`)でも操作したい場合の設定。 === /bootdir/boot.config === 以下の内容のファイルを作成する。 {{{ -D }}} === /boot/loader.conf === 以下の内容をファイルに追加する。 {{{ boot_multicons="YES" }}} * シリアルコンソールでの操作が遅いと思ったら `comconsole_speed="115200"` も追加する。その際通信条件も変更すること。 * 複数のシリアルポートがあって、どれか選択したい場合は `hint.uart.n.flags` (n≧0)を設定することで制御する。 * 使わないポートに対しては `0x0` を、使うポートには `0x10` を設定する。 * この辺りの詳細は[[https://www.freebsd.org/cgi/man.cgi?uart(4)|マニュアル]]を参照のこと。 = 参考文献 = * [[https://docs.freebsd.org/en_US.ISO8859-1/books/handbook/serialconsole-setup.html|Setting Up the Serial Console]] * [[https://wiki.freebsd.org/SerialConsole|SerialConsole]] * [[https://www.freebsd.org/cgi/man.cgi?uart(4)|uart(4)]] ※シリアルポートの設定 * [[https://people.allbsd.org/~hrs/FreeBSD/sato-20140313.pdf|Kerberos 認証サービスの設定と運用]] * [[https://people.allbsd.org/~hrs/FreeBSD/sato-FBSDW20180629.pdf|30分で分かるKerberos]] |
FreeBSD13でのよくある設定集
FreeBSD 13.0-RELEASE環境におけるよく設定するような内容についてまとめる。 本記述は13.0-R時点での内容であるが、13.0-Rがリリースされたあとも調整する。
インストール および 初期設定 が完了しているものとするが、そう極端に依存はしてないはずである。
都度対応ケース
ユーザーおよびグループの追加
- 実行頻度: ユーザーおよびグループを追加したいと思った都度。
- いわゆるユーザーアカウントの管理をどうするかについてはここでは問わない。
- 管理ポリシーを決めた上で運用する際の手順をまとめる。
- ports/pkgシステムで追加されるユーザーおよびグループについて以下のファイルを参照すること(デフォルト設定)。
/usr/ports/UIDs
/usr/ports/GIDs
- もちろん事前に作成してしまってもかまわない(UIDを他の環境に合わせるなど)。
本設定においてはいくらか前提条件(/home がパーティションされてる)があるので留意すること。
ユーザーの追加
- ユーザー設定に必要なパラメータは以下の通り。
- ユーザー名
- ユーザーID
- グループ名(事前に設定しておくこと)
ログインシェルは /etc/shells ファイル内のリストから設定すること。
pw useradd ユーザー名 -u ユーザーID -g グループ名 -c "名前" -s ログインシェル
zfs create zroot/home/ユーザー名
chown ユーザー名:グループ名 /home/ユーザー名
- ここではホームディレクトリは作成しない。別途ZFSパーティションを切るものとする。
この時パスワードは無効になっている(パスワードフィールドが *)。
セカンダリグループを加えたい場合は -G オプション(複数指定はカンマ区切り)を指定すること。
- よく使われるセカンダリグループは以下の通り。
wheel: ルートになれるユーザー(管理者)が所属するグループ
operator: 再起動等のサーバーの操作ができるユーザー(オペレーター)が所属するグループ
dialer: シリアル通信したいユーザーが所属するグループ
後から修正したい場合は pw usermod を使う。
pw usermod ユーザー名 -G wheel,operator
パスワードの設定
パスワードは例えば makepasswd --chars=パスワード長 でランダムなパスワードを決める。
passwd ユーザー名
パスワードの無効化
pw usermod ユーザー名 -w no
グループの追加
- グループ設定に必要なパラメータは以下の通り。
- グループ名
- グループID
pw groupadd グループ名 -g グループID
SASL認証におけるユーザーの追加
- 実行頻度: SASL認証対象のユーザーを追加したいと思った都度。
- いわゆるレルムとの相関についてはここでは問わない。
- 本サービスを利用する側の運用ポリシーを決めた上で作業すること。
なおユーザー user@domain と、ユーザー user・レルム domain は扱いが違うので注意。
上位サービスによっては user@domain を user・domain に分解することがあるが、それはそっち側の話となる。
レルムを指定しない場合 hostname が指定された物として処理されるが、これが上位サービスから認識されるかは別の話になる。
SASLユーザーの追加
saslpasswd2 -c ユーザー
saslpasswd2 -c -u レルム ユーザー
SASLユーザーのパスワード変更
saslpasswd2 ユーザー
saslpasswd2 -u レルム ユーザー
SASLユーザーの一覧
sasldblistusers2
SASLユーザーの削除
saslpasswd2 -d ユーザー
saslpasswd2 -d -u レルム ユーザー
SASLユーザーの検証
testsaslauthd -u ユーザー名 -p パスワード
testsaslauthd -u ユーザー名 -p パスワード -r レルム
使用したい一回だけ設定すればいいもの
SASL認証サーバー
- 実行頻度:セットアップしたいと思った1回だけ。再起動不要。
- 認証のバックエンドはSASLデータベース、OS(PAM)、LDAP等選べるが、組み合わせての選択はできない。
- 今回はSASLデータベースによりOSのアカウントとは独立して認証を運用する。
- またSASLデータベースのバックエンドとしてナウでヤングなLMDBを採用する。
- SASL認証サーバーを使う場合、認証メカニズムは非暗号化パスワードしか扱えない点に注意。
PLAIN
LOGIN
- SYSLOGについてのメモ。
- いわゆるファシリティAUTHで出力される。
アイデント名は saslauthd か pwcheck である。
saslauthd -+- sasldb -+- BDB1 | +- BDB ※BDB5のこと | +- GDBM | +- LMDB +- getpwent -+- /etc/master.passwd + -kerberos5 +- pam -+- /etc/pam.d に設定に準拠 +- rimap +- ldap
/etc/make.conf
security_cyrus-sasl2_SET= LMDB LOGIN PLAIN
security_cyrus-sasl2_UNSET= OTP CRAM NTLM DIGEST SCRAM
security_cyrus-sasl2_UNSET+= BDB BDB1 ANONYMOUS ALWAYSTRUE AUTHDAEMOND
security_cyrus-sasl2_UNSET+= OBSOLETE_CRAM_ATTR OBSOLETE_DIGEST_ATTR
security_cyrus-sasl2-saslauthd_SET= LMDB
security_cyrus-sasl2-saslauthd_UNSET= BDB BDB1 HTTPFORM OPENLDAP OPENLDAP_SASL
インストール
cd /usr/ports/security/cyrus-sasl2-saslauthd
make install clean
sysrc saslauthd_enable="YES"
sysrc saslauthd_flags="-a sasldb"
service saslauthd start
デバッグメモ
認証動作に不良が見られる場合は以下の手順でデバッグすること。
saslauthd -a sasldb -d でデバッグモードで起動する。
testsaslauthd -u ユーザー名 -p パスワード でテストする。
testsaslauthd -u ユーザー名 -r レルム -p パスワード でテストする。
testsaslauthd を実行すると必ず saslauthd に接続するので、フロント側の切り分けができる。
また、saslauthd のデバッグログを読めば、バックエンド側の切り分けができる。
究極的には ktrace(1) / kdump(4) コマンドを使用して、アクセスしているファイルを確認する。
- これはファイルにアクセスできる・できないのエラー表示が無いためである。
- レルムとの相互関係についてはSASL認証をする上位サーバーアプリの振る舞いにもよるので、ここでは以上とする。
DNSキャッシュサーバーの運用
- 実行頻度:セットアップしたいと思った1回だけ。再起動不要。
- 自前でDNSキャッシュサーバー(フルリゾルバ)を運用したい場合の設定。
- デフォルトでお堅い設定なので若干緩くする。
具体的には、デフォルトで dig +trace 使えなくなるのだが、使えるように設定する。
access-control では allow の代わりに allow_snoop を有効にすると良い。
/etc/unbound/conf.d/local.conf
server: prefetch: yes rrset-cache-size: 64m rrset-roundrobin: yes access-control: 127.0.0.1/8 allow_snoop
準備
sysrc local_unbound_enable="YES"
service local_unbound setup
service local_unbound start
/etc/resolv.conf
以下の2行が追加されるので整理する。具体的には古い nameserver の指定を消す、options に組み込むなどである。
nameserver 127.0.0.1 options edns0
今時は edns0 オプションの指定をしなくても動くとのことで、消してしまっても問題無い。
シリアルコンソールを追加する
- 実行頻度:セットアップしたいと思った1回だけ。要再起動。
ビデオコンソール(vidconsole)と共にシリアルコンソール(comconsole)でも操作したい場合の設定。
/bootdir/boot.config
以下の内容のファイルを作成する。
-D
/boot/loader.conf
以下の内容をファイルに追加する。
boot_multicons="YES"
シリアルコンソールでの操作が遅いと思ったら comconsole_speed="115200" も追加する。その際通信条件も変更すること。
複数のシリアルポートがあって、どれか選択したい場合は hint.uart.n.flags (n≧0)を設定することで制御する。
使わないポートに対しては 0x0 を、使うポートには 0x10 を設定する。
この辺りの詳細はマニュアルを参照のこと。