Open11

サーバーの仕組みと技術がしっかりわかる本

maiamitoriomaiamitorio

サーバには、webサーバーや、認証サーバ、データベースサーバ、監視サーバなどがある。
クライアントサーバーシステム:それぞれの役割をもつサーバとクライアントがあるシステム。
ソフトウェア:コンピュータと人間を取り持つ役割
OS:コンピュータを動かすためのソフトウェア(windows,Linux)
WAN:インターネットのように広い範囲に設置されたネットワーク
LAN:企業内のど狭い範囲に設置されたネットワーク
ファイアウォール:不正侵入を防ぐ
DMZ:インターネットと内部のネットワークを接続しないようにする領域をつくる

maiamitoriomaiamitorio

OSI参照モデル:多数のプロトコルの役割を分類し、明確にするためのモデル
TCP/IP:

  • トランスポート層:アプリケーションデータを細かく分割
  • トランスポート層:IPアドレス(宛先)がつけられた箱に分割したデータを入れる
  • ネットワーク層:MACフレームにこの箱を積む
  • データリンク層とネットワーク層:必要な経路を選択(ルーティング)
  • トランスポート層:到着したデータの箱をとりだす
  • トランスポート層:分割されたデータをつなぎ合わせる
    トランスポート層をTCP,UDPが担う、ネットワーク層をIP、データリンク層をイーサネットが担う
    MACアドレス:世界に一つだけのアドレス。LANの裏に書いてある
maiamitoriomaiamitorio

スイッチング:ネットワーク同士をつなぐ機械
ネットワーク層のスイッチをL3スイッチ、データリンク層のほうをL2スイッチ
ネットワーク層のプロトコルであるIPは、パケットでデータをやりとりする
ルーティング:パケットを効率よく運ぶためにどのルータを通るのか決めること
送信するには、IPアドレスとMACアドレスの情報が必要。IPにIPアドレスを渡して、MACアドレスを調べてもらう
IPアドレスとMACアドレスをつなぐプロトコルがARP

maiamitoriomaiamitorio

UDP:信頼性に欠けるが高速 動画配信などで使われる
NAT:グローバルアドレスをプライベートアドレスに変える仕組み
NAPT:グローバルアドレスにポート番号を付けて、複数の機器を同時にインターネットに接続できる仕組み

DMZ:外部からの攻撃を防ぐzoneが、ネットワークのもあり、それのこと

maiamitoriomaiamitorio

社外向けサーバー(DMZに設置するべきサーバー):インターネットを利用してサービスを提供するサーバ、インターネット上で情報のやりとりをするサーバー
社内向けサーバー(内部セグメントに設置するべきサーバ):

サーバを構築する方法
オンプレミス型:自分たちで建てる 自由度が高い
クラウド型(クラウド=賃貸):コンピュータの情報資産を必要な時に必要な分だけ利用
クラウド型のサービスモデル:SaaS :サーバーやネットワークなどのコンピュータ資源からアプリケーションまで、提供する
IaaS:コンピュータ資源だけ提供
PaaS:SaaSとIaaSの中間
データセンター:サーバーやネットワーク機器を安全に守る場所。安全に守る仕組みがある。
サーバー仮想化:物理マシン(ホスト)の仮想化レイヤーを使用して、仮想マシン(ゲスト)を作成している。

maiamitoriomaiamitorio

ホスト型:os上で仮想化ソフトウェアを起動させることで仮想マシンを作成する方法
ハイパーバイザ型:物理サーバーに仮想化ソフトウェアを使う。計算機実習室のパソコン
サーバーコンテナ:従来のサーバー仮想化は、仮想マシン一つ一つにOSを設定していた。OSが同じでよいときは、ミドルウェアとアプリケーションだけをひとかたまりとみて仮想化するサーバーコンテナができた。

UI(user interface)(ユーザがOSを利用する際の画面表示):GUI,CLIがある。ファイルをコピーするときを考える。windowsの場合、右クリック、コピーで可能。このように、人間が操作をイメージできるUIをGUIという。Linuxで行う場合、コマンドラインでコピーできる。このようなUI、をCLIという。

webアプリケーションサーバー:webページからデータベースのデータを扱うためのサービスを提供するサーバー
DNSサーバー:URLや電子メールのアドレスをIPアドレスに変える
DNSキャッシュサーバー:一度読みだしたIPアドレスを保持して、すぐに取り出せるようにしたサーバー
メールサーバー:メールのサービスを提供するサーバー
メール送信の仕組み SMTP(送信)でDNSサーバー DNSサーバーからPOP(受信)でクライアントへ
FTPサーバー:ファイルをやり取りするサービスを提供するサーバー

DHCPサーバー:IPアドレスを自動で割り当てるサービスを提供するサーバー
ファイルサーバー:ファイル共有保存するサービスを提供するサーバー

maiamitoriomaiamitorio

ディレクトリサーバー:ユーザー情報に関するデータベース。各種サーバーのユーザーに関する情報を一括に管理。プロトコルはLDAPで、エントリという単位でデータを管理する
リレーショナルデータベース:決められた項目、決められたデータ量を管理したいとき、表形式でデータを管理する
非リレーショナルデータベース:項目もデータ量も違うデータを管理する時に使うデータベース
グループウェア:大人数を管理するのに便利なソフトウェアをまとめて提供数サーバー。スケジュール管理、掲示板、施設予約、メッセージ、勤務管理、ワークフローを備えている。
DNSキャッシュポイズニング:DNSサーバーが上位のDNSサーバーから情報を取ってきて返答する前に、偽の情報を返答する

セキュリティリスク:システムにマイナスの影響を与える可能性(盗聴、情報漏洩、サービス妨害などが起こる可能性)
セキュリティインシデント:リスクをつかれ、マイナスの影響が発生した事象
脆弱性:システムの欠陥
脅威:システムの欠陥に対しての攻撃
パケットフィルタリング:IPアドレス、サーバーを見て、必要のない通信は遮断すること
社内ネットワーク:ファイアウォールによりDMZよりセキュリティレベルが高い
DOS攻撃:ファイアウォールで利用するポート(TCP/443番)は通信を許可されている。そこにサーバーが処理しきれないほどのパケットを送り付ける攻撃
IDS:ファイアウォールで防げない不正な通信を検知(検知できるものは、あらかじめ設定したもの)して、管理者に知らせる。対応は手動で行う。
IPS:不正な通信を検知し、自動で遮断することができる
UTM:セキュリティ対策に関連する機能を一元管理できるしくみ
WAF:ウェブアプリケーション内で防衛する仕組み。ファイアウォール、IDS、IPSでは守れなかった不正な通信から守る
SSL/TLS:データを暗号化して送受信する仕組み。httpsはhttpにSSL/TLSを加えたプロトコルで、webサイトを閲覧する際の通信を暗号化したもの

maiamitoriomaiamitorio

冗長化、負荷分散:サーバー障害に備えて、複数台のサーバーを配置しておく
冗長構成:デュアルシステム、サーバーを2つ並列に準備し同じ処理を行わせる
デュプレックスシステム、一台稼働させて(主系)、異常があったときにもう一台(待機系)を稼働させる
NIC:LANポートのこと
RAID:ディスク(メモリでは抱えきれないデータを保存する場所)を冗長化する技術
クラスタリング:複数のサーバーを束ね、それらをチームとして動かすこと
DNSラウンドロビン:DNSの通信負荷分散を実現する。名前解決要求に対して順番にIPアドレスを回答する。

maiamitoriomaiamitorio

コンテンツ配信負荷分散:コンテンツのデータを保持するキャッシュサーバーを複数台準備して、様々な場所に配置。データが必要な時は、一番近いサーバーからとってくる
データベース負荷分散:レプリケーション:データベースをコピーしておいて別の場所に配置
リードレプリカ:読みだす操作だけ負荷分散させる

ELB負荷分散:クライアントから受け取ったリクエストをどのサーバに処理させるか振り分ける
UPS:非常時にデータベースを動かすための電源装置
VRRP:ルータの冗長化を実現する技術。異常時に、自動で待機系ルータにクライアントを誘導する。

ログサーバー:複数台マシンのログを一括管理するサーバー
NTP:時刻同期を行うプロトコル。ログを取ろうとするときに、すべてのマシンの時刻を同期する。

maiamitoriomaiamitorio

SNMPサーバー:障害に早く気付くために、状態を監視するサーバー
BYOD:仕事に社員個人のデバイスを利用すること(bring your own device)
SSH:サーバーにリモート接続するときのプロトコル
コンソールサーバー:TCP/IPを使わずにリモート接続する仕組み

maiamitoriomaiamitorio

SSO:シングルサインオン。一度のログインでそのサイトのサービスを利用できる