web-dev-qa-db-ja.com

バインド許可エラー

私はnsupdateを使用してネームサーバーレコードを動的に更新しようとしています。

試行すると、serverfailが発生します。これは、syslogからのものです。

Nov 12 08:00:53 ps133045 named[14314]: client 78.72.53.42#50135: signer "www.mydomain.com" approved
Nov 12 08:00:53 ps133045 named[14314]: client 78.72.53.42#50135: updating zone 'mydomain.com/IN': adding an RR at 'client$
Nov 12 08:00:53 ps133045 named[14314]: /etc/bind/zones/mydomain.com.zone.jnl: create: permission denied
Nov 12 08:00:53 ps133045 named[14314]: client 78.72.53.42#50135: updating zone 'mydomain.com/IN': error: journal open fai$

だから私はそれが許可であると思ったので、テストするために/ var/namedと/ etc/bindの両方を与えましたchmod 666

助けにならなかったので、mydomain.com.zone.jnlファイルを作成し、それをchmod 600で実行すると考えて、chown bind:bindとroot:bindも実行しましたが、どちらの場合でも同じエラーが発生します。

このエラーのため、バインドを再開することもできません

Nov 12 08:40:10 ps133045 named[21169]: loading configuration from '/etc/bind/named.conf'
Nov 12 08:40:10 ps133045 named[21169]: /etc/bind/named.conf.local:9: open: /var/named/dnskeys.conf: permission denied
Nov 12 08:40:10 ps133045 named[21169]: loading configuration: permission denied
Nov 12 08:40:10 ps133045 named[21169]: exiting (due to fatal error)

私はこれらのアクセス許可エラーを本当に理解していません。どちらの場合も、ファイルとchown bind:bindまたはroot:bindでchmod 666を試しました。それでもエラーが発生します。

ここにディレクトリの権利があります

/ var/named

drw-rw-rw-  2 root bind  121 Nov 12 08:53 .
drwxr-xr-x 15 root root 4.0K Nov 11 16:24 ..
-rw-------  1 root root   59 Nov 11 16:48 Kwww.mydomain.com.+157.17183.key
-rw-------  1 root root  165 Nov 11 16:49 Kwww.mydomain.com.+157.17183.private
-rw-------  1 root bind  126 Nov 12 08:53 dnskeys.conf

/ etc/bind

drwxrwsrwx   3 root bind 4.0K Nov 11 17:31 .
drwxr-xr-x 115 root root 8.0K Nov 10 04:59 ..
-rw-r--r--   1 root root 2.5K Oct 20 10:46 bind.keys
-rw-r--r--   1 root root  237 Oct 20 10:46 db.0
-rw-r--r--   1 root root  271 Oct 20 10:46 db.127
-rw-r--r--   1 root root  237 Oct 20 10:46 db.255
-rw-r--r--   1 root root  353 Oct 20 10:46 db.empty
-rw-r--r--   1 root root  270 Oct 20 10:46 db.local
-rw-r--r--   1 root root 3.0K Oct 20 10:46 db.root
-r--r--r--   1 root bind    3 Nov 10 05:07 jam.sh
-rw-r--r--   1 root bind  463 Nov 11 05:15 named.conf
-rw-r--r--   1 root bind  490 Oct 20 10:46 named.conf.default-zones
-rwxr-xr-x   1 root bind  503 Nov 12 09:01 named.conf.local
-rwxr-xr-x   1 root bind  462 Nov 11 17:30 named.conf.local.bak
-rw-r--r--   1 root bind  572 Oct 20 10:46 named.conf.options
-rw-r-----   1 bind bind   77 Nov 10 04:59 rndc.key
drw-rwSrw-   2 root bind  109 Nov 12 08:26 zones
-rw-r--r--   1 root root 1.3K Oct 20 10:46 zones.rfc1918

/ etc/bind/zones

drw-rwSrw- 2 root bind  109 Nov 12 08:26 .
drwxrwsrwx 3 root bind 4.0K Nov 11 17:31 ..
-r--r--r-- 1 root bind  402 Nov 11 11:07 mydomain.com.zone
-rw-rw-rw- 1 bind bind    0 Nov 12 08:26 mydomain.com.zone.jnl
-r--r--r-- 1 root bind  377 Nov 11 11:06 rev.241.205.33.66.in-addr.arpa

どんな助けや指導でも大歓迎です、事前に感謝します!

4
Thuy

エラーメッセージは実際にはかなり自明です:

/etc/bind/named.conf.local:9:open:/ var/named/dnskeys.conf:permission denied

namedプロセスは通常、制限されたユーザー(おそらくbind)として実行されており、ファイルdnskeys.confへのアクセス権がありません(現在の権限では、ファイルにアクセスできるのはユーザーroot):

-rw------- 1 root bind 126 Nov 12 08:53 dnskeys.conf

そのファイルの permissions を640に変更して、グループbindが読み取りアクセス権を持つようにします。

chmod g+r /var/named/dnskeys.conf

または、ファイルの所有者をnamedプロセスを実行しているユーザーに変更します。

chown bind /var/named/dnskeys.conf

他の人が指摘しているように、絶対に[〜#〜]しない[〜#〜]ファイルを誰でも読み取り可能にし、誰でも書き込めないようにしてください。

3
Ansgar Wiechers

これはAppArmorの問題のように見えます。一時的にpermissiveに設定してみて、問題が解消するかどうか確認してください。

デフォルトでは、Bind/Namedデーモンには、/ etc内のゾーンファイルへのwrite権限がありません。読むことしかできません。したがって、nsupdateプロセスはそれらに書き込むこともできません。

DNSを動的に更新する場合は、代わりにゾーンファイルを/ var/lib/bindに保存する必要があります- https://help.ubuntu.com/14.04/serverguide/dns-configuration.html#dns- primarymaster-configuration

Aptインストーラーは、適切な権限とAppArmorコンテキストでこのディレクトリをすでに作成しているはずです。

10
Andy Foster

上記のファイルシステムレベルの権限とは別に、allow-updateディレクティブを使用してこれらのリモート更新を許可するようにバインドを構成する必要があります。

http://www.zytrax.com/books/dns/ch7/xfer.html

0
dmourati