2020-06-23 自作PCのやる気がでてきたりmod_process_securityいじってたり

  • 自作PCやりたくなってきた

  • slackチャンネルを作ったけどどのようにインバイトするかな

  • 明日からDICOMO、共著の発表もあるし座長や評価委員、運営などもあるので3日間はバタバタしっぱなしだと思う
  • 簡単にSNSでも宣伝


  • Googleが出したスキャナーツールの命名がTsunamiだったことに対して、そういう命名がどういうようなプロセスで行われたか、あるいは、そういったwordingの問題についてどういう感じでやっているかについてのissueがたっていた
  • 確かにTsunamiのようにそれぞれの属性によって随分と捉え方が変わってきそうな言葉についてどういう検討がなされるか、OSSでそういったwordingをどのようにやっていけばいいかのきっかけにはなると思う

  • mod_process_securityのkernel4系対応を完成させるために復習
  • 4系以降のカーネルは、setxid系システムコールの実行時に、スレッドが作られた親のuser namespaceにおけるCAP_XETGIDが同じかどうかをチェックしているので、スレッドを作る前に一度作り元のワーカプロセスにも同じCAPを与えてからスレッドを作ってCAPを与えてsetuid/setgidすると、問題なく動くことを確認
    • ということは、元々ワーカプロセスは常にPermittedなCAPを持っているので、スレッドを作る前にEffectiveなCAPにしてから、スレッドを作り、スレッド上でEffective CAPにしてからsetuid/setgidしたのちに、スレッドだけCAPをdropする。
    • そのスレッドからコンテンツを実行し、レスポンスを返したあとはスレッドを破棄する。
    • その後ワーカプロセスに戻ってきたら、uid/gidを元のApacheユーザに戻し、EffectiveをclearしてもとのPermittedの状態に戻す
    • こうすると、mod_process_securityが実現したい動きをkernel4系でも実現できそう
    • ただ、スレッドを破棄した後にsetxidをしてワーカーのオーナーを戻しているが、スレッドのオーナーを変えた段階で先に戻したほうが安全なケースが想定されそう
    • あと、webdavはコードが複雑になるのでdropしちゃってもよいかな
      • 実際使っているところきいたことないし、使っているところはmod_ruid2を使っているパターンが多いようだし、適材適所ということで
    • コード書いてるけど全く意味がわからなくて厳しい.....数年前のコードはもはや他人のコードだ
      • AH00035: access to /cgi-bin/id.cgi denied (filesystem path '/home/travis/build') because search permissions are missing on a component of the path なんかApacheバージョンあげるとエラーでてしもた
      • 色々試した結果普通にchmodとchownを間違って打ってた......

  • ということでテストは通ったので、上記に沿って明日は実装していく......
    • dav対応も消していく