Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WebEngineerMeetup10_cui_quiz

MzRyuKa
November 09, 2018

 WebEngineerMeetup10_cui_quiz

MzRyuKa

November 09, 2018
Tweet

More Decks by MzRyuKa

Other Decks in Programming

Transcript

  1. 第二問 「 マンガでわかるDocker2」 よりコマンド借用。 空欄[ ] に入る設定値 はどれか答えよ。 内容は「 ホストのカレントディレクトリをコンテナ内の所定のパス

    にマウントする」 である。 $ docker run -d -p 80:80 --name myapp [ ] php:7.0-apache A: -v $(pwd):/var/www/html B: -v /var/www/html:$(pwd) C: -v /var/www/html 12
  2. 解説 ボリュー ムのマウントは、「-v」 オプションの後に、< ホスト側のデ ィレクトリ>:< コンテナ側のディレクトリ> の順で指定します。 B: の場合は、

    ホストとコンテナの順が入れ替わっています。 また、 動作するかも不明ですし、 動作しても実施内容とは異なります。 C: の場合は、 ホスト上の所定の位置にディレクトリを作って、 コン テナ側のディレクトリにマウントします。 14
  3. 第四問 サー バが rewalld でアクセス制限をかけている。 ここで、 特定のIP ア ドレス(192.168.1.0/24) に対してhttps

    を3日間だけ拒否したい。 有効な設定すべてを選べ。 A:firewall-cmd --remove-rich-rule="rule family=ipv4 source address=192.168.1.0/24 service name=https accept" --timeout=72h B:firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=192.168.1.0/24 service name=https drop" --timeout=72h C:firewall-cmd --add-rich-rule="rule family=ipv4 source address=192.168.1.0/24 service name=https drop" --timeout=3d 18
  4. 解説 時間指定「--timeout」 は「--add-rich-rule」 のみ利用可能です。 許 可(accept)、 拒否(drop) の両方で利用できます。「--remove-rich- rule」 には使えません。

    永続設定「--permanent」 と併用できません。 「--timeout」 で指定可能な単位は「s」「m」「h」 のみです。 それ 以外の文字はエラー です。 設定するとしたら以下のイメー ジ。 firewall-cmd --add-rich-rule="rule family=ipv4 source address=192.168.1.0/24 service name=https drop" --timeout=72h 20
  5. 第五問 ダイジェスト認証が設定されているペー ジに対してcurl でアクセスす る場合、 有効なコマンドを全て選択せよ。 ユー ザ/ パスワー ドはuser1

    とpass1 とする。 A:curl --user “user1:pass1” https://example.com/foo/bar.json B:curl --basic -u “user1:pass1” https://example.com/foo/bar.json C:curl --digest -u “user1:pass1” https://example.com/foo/bar.json 21
  6. 解説 「--digest」 を利用してダイジェスト認証を行います。 なお、Basic 認 証の場合では「A」 と「B」 のどちらでも可です。 認証に利用するオプション「-u」 と「--user」

    は同じ意味です。 余談:Basic 認証とダイジェスト認証の大きな違いは変換方法です。 Basic 認証はBase64 で、 ダイジェスト認証はMD5 で、 変換されます。 23
  7. 第六問 curl でWeb サイトにログインしてcookie 情報を保存する時に利用する コマンドはどれか? 「cookie.txt」 がcookie 情報を保存したファイルとする。 A:curl

    -a cookie.txt -d “user=user1” -d “pass=pass1” https://example.com/login B:curl -b cookie.txt -d “user=user1” -d “pass=pass1” https://example.com/login C:curl -c cookie.txt -d “user=user1” -d “pass=pass1” https://example.com/login 25
  8. 解説 cookie 情報を保存する場合、「-c < ファイル名>」 を利用します。 「-b < ファイル名>」 は、cookie

    情報を利用してURL にアクセスする 際に利用します。 「-a」 はcookie 情報に関係しません。 「-d “id 値= 値”」 はform の値を送信する際に利用します。 上記の例で はログイン時に利用するユー ザとパスワー ドを指定して送信してい ます。 27
  9. 解説 wget もcurl もWeb サイトのデー タ(html や任意のファイルなど) に アクセスしてその情報を取得できます。 wget

    の特徴としては、 デフォルトで「 再帰的」 にダウンロー ドして くれます。 一方、curl の場合にはデフォルトではリダイレクト先を辿ってくれま せん。 ただし、 オプションとして「-L」 を付与することで、 リダイレ クト先を追ってくれます。 30
  10. 第九問 Apache HTTP Server の2.2 系。 あるディレクトリ配下はIP アドレスで 制限されている。 ここへ別のIP

    アドレスの設定を追加した。 Allow from 192.168.0.0/16 # 内部からアクセス許可 その後で実行するコマンドはどれか。 A:apachectl configtest B:apachectl configcheck C:apachectl restart 34
  11. 余談 設定ファイル中でコメント行を示す「#」 は行の先頭以外に置くと syntax error となります。 特定のOS とapache のバー ジョンでは、

    アクセス制限が無効になりど こからもアクセス可となるバグもありました。(cve-2017-12171) 37
  12. 第十問 CentOS 7 系でapache をyum でインストー ルした。 以下のコマンドと 同じ操作はどれか? 挙動としては「

    緩やかな再起動」 が行われる。 # systemctl reload httpd A:httpd -k condrestart B:httpd -k reload C:httpd -k graceful 38
  13. 解説 「 緩やかな再起動」 といえば「graceful」 です。WEB サー ビスが停止 せず、 かつ実行中のリクエストを中止せずに、 設定情報を読み直して

    反映させます。( できない設定もある) なお、reload は「 実行中のリクエストは中止」 されます。WEB サー ビスは停止されません。 「condrestart」 とは「conditional restart」 の意味です。 起動済みな ら停止後に起動しますが、 停止済みの場合は起動しません。 40