アカウント名:
パスワード:
最低限の権限で動かせば、仮にセキュリティホールがあっても被害が最小限で済むのにいまのWindowsには、サンドボックス的な機能が標準装備されてるんだからそれ使えばいいのに
Linux だって、1024 番未満のポートは “privileged port” と呼ばれてですね、root が無いと bind できないんですよ。逆に root 以外が bind できてしまったら、root より先にそのポートを bind して偽のサーバを動かすといった攻撃ができちゃうでしょ。
DNS System の port は何番だか知ってますか?答えは53番です。つまり、これを bind するには Administrators の権限がいるのは当然のことです。
Linuxのデーモン類は、起動時だけroot権限で、1024未満のポートや、必要なファイル開いたら、あとは他の権限になるのが多い
またwindowsは1023以下のポート開くのに管理者権限は不要
なんでwindowsでは管理者権限が不要なことすら知らないやつが無理擁護で自爆してるんだ…。
そりゃ設定の変更は権限いると思う。でも実行プロセス自体をAdministratorsで動かす必要はないだろ。
> つまり、これを bind するには Administrators の権限がいるのは当然のことです。
それは20年くらい前の話ですよ
ADサーバーは、他の役割と兼用を禁じているので、(個人から見ると高い)WinSv1ライセンスを使って、広義のサンドボックスになっている?後、SysVolはnamed/chroot/etcみたいなものでは?また、権限分割ですが、rootとWinのアクセス許可・拒否だと、後者の方が細かい様にも見えますが?さらに、ベストプラクティスとして、公開用のDNSはLinuxとかでして、ADのDNSは外部に見せるなとかも有ります。もちろんADは、ゼロトラスト的には不十分かもしれませんが、ゼロトラストは全ての箇所で確認する代わりに、箇所での多重防御が疎かになっている嫌いが有るので、よしわるしです。
10年以上前のWindowsにすらサービス実行ユーザーを分ける機能あるし、なんならサービス実行ユーザーになれるかを指定する設定すらある。https://www.atmarkit.co.jp/ait/spv/0905/08/news095.html [atmarkit.co.jp]というかWindowsサーバーの運用ではむしろ分ける。脆弱性の宝庫のような扱いのIISのFAQとして、ワーカープロセスの実行ユーザーがWebアプリのフォルダにちゃんとアクセス権持ってますか?というのがあるくらい。
どちらかというと、権限管理の設計が杜撰なのは Unix/LinuxLinuxは、全てのプロセスがrootで動いてるものから、権限を落として起動する。なので、Linuxはバグでフォールバックすると簡単にroot権限が手に入る。ログインなんかさいたる例で、root権限で動いてるプロセスがわざわざユーザー権限に落とすから、ユーザー認証する処理がrootで動いてる。
NTでは、全てのプロセス(カーネル含む)が、何の権限もない状態で起動してから、昇格して権限を得る。バグでフォールバックしても永遠にroot権限のような物は手に入らない。昇格するための穴を探す必要がある。そもそもの話 rootのような何でもありという権限も存在していない。
あと、カーネルを含む全てのプロセスが無権限から昇格しているとすれば、その昇格を認可するのは誰なんでしょ?認可無しで昇格可能なら最初から昇格済みと同じことでは?
90年代じゃないんだから、最低限度OSのお勉強しようぜ。昔は書籍ぐらいしかなかったけど、今はネットにも資料も論文も溢れてるんだから。LinuxでもTrusted OS版の実装ではWindowsの認証の仕組み採用してるよ。
その昇格を認可するのは誰なんでしょ?
それこそがカーネルだと思う。「カーネルを含む全てのプロセス」とは言うけど、アカウントの認証を行うカーネルの部分はプロセス(ユーザーモードプロセス)の外の存在と解釈すればよいのではないだろうか?
そもそもの話 rootのような何でもありという権限も存在していない。
SYSTEMアカウントってrootみたいななんでもありな存在と言っていいのでは?そりゃCAP_FOWNERみたいにファイルに対する権限ガン無視みたいな機能はないですけれど。
> rootのような何でもありという権限いつの時代の話をしているんだろう
そもそも今時権限分割もサンドボックス化もできないOSなんてWindowsくらいのものだろ。
PrivilegeというCapabilityみたいな仕組みだけは一応ある。Privilege自体は昔からあって、Windows Vista/Server 2008からサービスごとに必要なPrivilegeを指定できるようになった。
Windows Server 2019でDNSサーバーをインストールして、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSを見たら、RequiredPrivilegesでこの指定を行っている。なので、DNSのプロセスは、本来のSYSTEM (LocalSystem)アカウントよりは少ない特権で動いている。
とは言え、LocalSystemあったら、大抵のファイル・レジストリ・各種
chroot/jailを入れていいなら、IEの保護モード下で仮想+階層型ファイルパスの下で動くというのがある。ActiveXアドオンでファイル保存したつもりがその場所にファイルがないなんてことになる。
より純粋なサンドボックスなら、旧EdgeがHyper-Vベースのサンドボックスの下で動くというのがある。今や旧EdgeがOSから隠ぺいされる感じになったが。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア
なんでDNSサーバをシステム権限で動かすんだ? (スコア:0)
最低限の権限で動かせば、仮にセキュリティホールがあっても被害が最小限で済むのに
いまのWindowsには、サンドボックス的な機能が標準装備されてるんだからそれ使えばいいのに
Linux だってそうでしょう (スコア:0)
Linux だって、1024 番未満のポートは “privileged port” と呼ばれてですね、root が無いと bind できないんですよ。
逆に root 以外が bind できてしまったら、root より先にそのポートを bind して偽のサーバを動かすといった攻撃ができちゃうでしょ。
DNS System の port は何番だか知ってますか?
答えは53番です。
つまり、これを bind するには Administrators の権限がいるのは当然のことです。
Re:Linux だってそうでしょう (スコア:1)
Linuxのデーモン類は、起動時だけroot権限で、1024未満のポートや、必要なファイル開いたら、
あとは他の権限になるのが多い
またwindowsは1023以下のポート開くのに管理者権限は不要
Re: (スコア:0, 荒らし)
なんでwindowsでは管理者権限が不要なことすら知らないやつが無理擁護で自爆してるんだ…。
Re: (スコア:0)
そりゃ設定の変更は権限いると思う。
でも実行プロセス自体をAdministratorsで動かす必要はないだろ。
Re: (スコア:0)
> つまり、これを bind するには Administrators の権限がいるのは当然のことです。
それは20年くらい前の話ですよ
Re: (スコア:0)
ADサーバーは、他の役割と兼用を禁じているので、(個人から見ると高い)WinSv1ライセンスを使って、
広義のサンドボックスになっている?
後、SysVolはnamed/chroot/etcみたいなものでは?
また、権限分割ですが、rootとWinのアクセス許可・拒否だと、後者の方が細かい様にも見えますが?
さらに、ベストプラクティスとして、公開用のDNSはLinuxとかでして、ADのDNSは外部に見せるな
とかも有ります。
もちろんADは、ゼロトラスト的には不十分かもしれませんが、ゼロトラストは全ての箇所で確認する
代わりに、箇所での多重防御が疎かになっている嫌いが有るので、よしわるしです。
Re: (スコア:0)
10年以上前のWindowsにすらサービス実行ユーザーを分ける機能あるし、なんならサービス実行ユーザーになれるかを指定する設定すらある。
https://www.atmarkit.co.jp/ait/spv/0905/08/news095.html [atmarkit.co.jp]
というかWindowsサーバーの運用ではむしろ分ける。脆弱性の宝庫のような扱いのIISのFAQとして、ワーカープロセスの実行ユーザーがWebアプリのフォルダにちゃんとアクセス権持ってますか?というのがあるくらい。
Re: (スコア:0, 参考になる)
どちらかというと、権限管理の設計が杜撰なのは Unix/Linux
Linuxは、全てのプロセスがrootで動いてるものから、権限を落として起動する。
なので、Linuxはバグでフォールバックすると簡単にroot権限が手に入る。
ログインなんかさいたる例で、root権限で動いてるプロセスがわざわざユーザー権限に落とすから、ユーザー認証する処理がrootで動いてる。
NTでは、全てのプロセス(カーネル含む)が、何の権限もない状態で起動してから、昇格して権限を得る。バグでフォールバックしても永遠にroot権限のような物は手に入らない。
昇格するための穴を探す必要がある。そもそもの話 rootのような何でもありという権限も存在していない。
Re: (スコア:0)
あと、カーネルを含む全てのプロセスが無権限から昇格しているとすれば、
その昇格を認可するのは誰なんでしょ?
認可無しで昇格可能なら最初から昇格済みと同じことでは?
Re: (スコア:0)
90年代じゃないんだから、最低限度OSのお勉強しようぜ。
昔は書籍ぐらいしかなかったけど、今はネットにも資料も論文も溢れてるんだから。
LinuxでもTrusted OS版の実装ではWindowsの認証の仕組み採用してるよ。
Re: (スコア:0)
その昇格を認可するのは誰なんでしょ?
それこそがカーネルだと思う。「カーネルを含む全てのプロセス」とは言うけど、アカウントの認証を行うカーネルの部分はプロセス(ユーザーモードプロセス)の外の存在と解釈すればよいのではないだろうか?
Re: (スコア:0)
そもそもの話 rootのような何でもありという権限も存在していない。
SYSTEMアカウントってrootみたいななんでもありな存在と言っていいのでは?そりゃCAP_FOWNERみたいにファイルに対する権限ガン無視みたいな機能はないですけれど。
Re: (スコア:0)
> rootのような何でもありという権限
いつの時代の話をしているんだろう
Re: (スコア:0)
そもそも今時権限分割もサンドボックス化もできないOSなんてWindowsくらいのものだろ。
PrivilegeというCapabilityみたいな仕組みだけは一応ある。Privilege自体は昔からあって、Windows Vista/Server 2008からサービスごとに必要なPrivilegeを指定できるようになった。
Windows Server 2019でDNSサーバーをインストールして、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSを見たら、RequiredPrivilegesでこの指定を行っている。なので、DNSのプロセスは、本来のSYSTEM (LocalSystem)アカウントよりは少ない特権で動いている。
とは言え、LocalSystemあったら、大抵のファイル・レジストリ・各種
Re: (スコア:0)
chroot/jailを入れていいなら、IEの保護モード下で仮想+階層型ファイルパスの下で動くというのがある。
ActiveXアドオンでファイル保存したつもりがその場所にファイルがないなんてことになる。
より純粋なサンドボックスなら、旧EdgeがHyper-Vベースのサンドボックスの下で動くというのがある。
今や旧EdgeがOSから隠ぺいされる感じになったが。