事前学習1


<h2>一般的なTCP/IP（3ウェイハンドシェイク）、OSI参照モデル</h2>


https://wa3.i-3-i.info/word15428.html

⑴ホストAからホストBにコネクション確立の要求
TCPヘッダの中にあるSYNビット「1」、ACKビット0」


参考URL

https://wa3.i-3-i.info/word15428.html


https://www.itmanage.co.jp/column/osi-reference-model/

OSI参照モデルを理解することで、
ネットワークやセキュリティを分解して理解することができる

![スクリーンショット 2022-04-01 9.19.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1801328/e8b0cbb9-16f4-c0f0-56f1-3069df569d06.png)
![スクリーンショット 2022-04-01 9.20.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1801328/16649c95-d54b-04ef-25c8-5165cfecb83d.png)

OSI参照モデルは
コンピュータネットワークに求められる機能（通信機能）を7階層構造に分割定義したもの

7)アプリケーション層 
```
アプリケーション間でのやり取り
ユーザが操作するソフトウェアが提供する具体的な機能の仕様、通信手順、データ形式

ex.Web画面上のボタンをクリックすると、
アプリケーション層の働きで「ボタンがクリックされました」という情報がWebサーバーに伝わる

プロトコル：
HTTP 暗号化されていない　ファイルを受け渡しする際のルール
HTTPS　暗号化された　ファイルを受け渡しする際のルール
FTP　サーバにファイル転送をする 
DNS ドメイン名からIPアドレスに変換
SMTP　メール送信
SSH 同時に接続の際にパスワードを暗号化する場合
Telnet サーバの遠隔操作 
POP

攻撃：SQLインジェクションやクロスサイトスクリプティング攻撃。
対策：セキュアプログラミング、WAF（WebApplicationFirewall）を使用

```

HTTPの通信は暗号化されていないが、HTTPSの通信はデータが暗号化される

SSL証明書　Secure Socket Layer
・サーバーの実在性証明
・SSL証明書に含まれる公開鍵と共通鍵を使用した、「公開鍵暗号方式」と呼ばれる方法


https://www.idcf.jp/rentalserver/aossl/basic/about-https/


6)プレゼンテーション層　
```
データ表現形式の定義　
適切な文字コードや改行コードでHTMLファイルを作成しファイル転送を行うことで上層のアプリケーション層にデータを渡すことができる
　HTML:HyperText Markup Language ファイルの中身を書くときのルール

データの「暗号化」を用いてTLSプロトコルで暗号化通信をするために適切な形式にする

ex.通信されているデータが圧縮ファイルかどうか、といった判断

プロトコル：
SMTP　電子メールを伝送
FTP　サーバにファイル転送を行う
TLS　暗号化通信をするために適切な形式にする

攻撃：SQLインジェクションやクロスサイトスクリプティング攻撃。
対策：セキュアプログラミング、WAF（WebApplicationFirewall）を使用
```

https://wa3.i-3-i.info/diff453web.html


6層や７層では、セキュアプログラミングかWAFしか対策がない
WAFであれば、脆弱性が発見されても、*シグネチャ*のアップデートを行うだけで、プログラムの変更を行わずに済む。

https://www.wafcharm.com/blog/waf-protecting-7th-layer-of-osi-model/




##
<h2>Web Application Firewall</h2>
Webアプリケーションへの不正な攻撃を防ぐために開発された専用防御ツール→Webアプリケーション層
SQLインジェクションやクロスサイトスクリプティング攻撃に対応



**ファイアウォール**
ネットワークを利用した攻撃に対して
IPアドレスやポート番号を元にアクセスを制限


**IPS（Intrusion Prevention System：不正侵入防止システム）**
DoS・DDoS攻撃などの攻撃やWebサーバの脆弱性を狙った攻撃への対策
サーバ・ネットワークと外部・内部通信を監視し、不正な通信の侵入を防止



<h3>WAFの仕組み</h3>
「シグネチャ」を用いて不正アクセスを防止：攻撃アクセスのパターンや通信の手法、ウイルスなどのデータをまとめたもの

→ホワイトリスト方式・ブラックリスト方式
<h3>必要性</h3>
・Webアプリケーションの脆弱性

・WAFにしかブロックできない領域：ファイアウォールやIPSでは防げないサイバー攻撃

<h3>WAFの種類</h3>
■アプライアンス型 専用ハードウェア

・アプライアンス型WAFの導入台数はWebサーバやWebアプリケーションサーバの台数に依存しないため、多く運用している環境では、コストメリットとなる
・Webアプリケーションの性能劣化を防ぐ：独立している

■ソフトウェア型：既存のWebサーバやWebアプリケーションサーバにインストール
・短期間で導入でき、導入コストを低く抑えられる

・システムの数が多い環境では導入コストがアプライアンス型を上回ることがある
・Webアプリケーション性能に影響

■クラウド型
・超短期間で導入、導入・運用コストとともに低く抑えられる
検知精度はサービス提供者に依存

https://it-trend.jp/waf/article/162-0008




5)セッション層　
```
接続の手順 通信の確立、維持、終了を規定
セッション：通信の開始から終了までを管理する単位

プロトコル：
TLS,NetBIOS

攻撃：盗聴、IPアドレスなりすまし、通信確認の仕組みを利用したDDos攻撃など。
対策：暗号化、FW（FireWall）、IPS/IDSの導入

```

4)トランスポート層　→セグメント
```
データ通信の制御、信頼性やリアルタイム性などの通信品質　

ex.通信中のデータが壊れることがないよう、通信がどこまで届いたか、都度確認

プロトコル：
TCP(信頼性)とUDP(リアルタイム性)

攻撃：盗聴、IPアドレスなりすまし、通信確認の仕組みを利用したDDos攻撃など。
対策：暗号化、FW（FireWall）、IPS/IDSの導入
```
**3wayハンドシェイク**

https://wa3.i-3-i.info/word15428.html


⑴ホストAからホストBにコネクション確立の要求
TCPヘッダの中にあるSYN(シーケンス番号)ビット「1」、ACK(確認応答番号:ランダム)ビット0」
(2)ホストBはホストAのコネクション要求に応えて,
ホストBからもコネクション確立を要求する
※ACK(確認応答番号:ランダム)は「相手から受信したシーケンス番号」に「１」足したもの

　つまりSYNは「1」ACKは「1」
(3)ホストAもホストBからのコネクション要求に応える
SYNは「0」、ACKは「1」


3)ネットワーク層　→パケット
```
・インターネットでの通信
・データを送る相手を決め最適な経路で通信
ルータはネットワークのルーティング、中継機能の役目をし所定の方向にパケットを転送

プロトコル：
	IP,ARP,RARP,ICMP

攻撃：盗聴、IPアドレスなりすまし、DDos攻撃など。
対策：暗号化、FW（FireWall）、IPS/IDSの導入。

```

2)データリンク層　→フレーム
```
同一ネットワークでの通信　MACアドレスによるイーサネット接続
通信回線のことを示し正確に通信をする規則が定められている

MACアドレス(ノード間のデータ転送を行う際の宛先として使われるアドレス)で機器を識別し
イーサネット(ローカルネットワーク)で接続をすると、
隣接する機器(=ノード)で通信中のデータが
通信中のデータが壊れていないかのチェックをしながら確実な通信ができる

.通信相手がどの機械なのかを判断するために使われる層

プロトコル：
PPP,Ethernet

攻撃：盗聴、MACアドレスなりすまし、DDos攻撃など。
対策：暗号化、FW（FireWall）の導入。

```

1)物理層　
```
ケーブルや電気信号やコネクタなど物理的な接続を定める
機器間の電気信号や光信号などを用いてビット単位でデジタルの信号の送受信を行う

プロトコル：RS-232,UTP,無線

攻撃：データセンターなどへの侵入
対策：データセンターや専用のセキュリティルームに専用のゲートや警備員を配置。

```

https://atmarkit.itmedia.co.jp/ait/articles/0802/26/news135.html



<h2>メモ</h2>#
#
#
#
#

Webアプリケーションの概念知識(http/httpsの違い、暗号化、証明書）

HyperText Transfer Protocol
通信プロトコル

https://wa3.i-3-i.info/word165.html

ファイルの中身を書くときのルールがHTML
HTMLはHyperText Markup Language

https://wa3.i-3-i.info/diff453web.html




<h2>OSI参照モデルの７層を守る WAF</h2>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1801328/71012e92-8019-bd21-dcc0-e5cda0c430eb.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1801328/e73708d8-2868-6d03-c296-b3531cf415ac.png)

6層や７層では、セキュアプログラミングかWAFしか対策がない

https://www.wafcharm.com/blog/waf-protecting-7th-layer-of-osi-model/

#
・WAF(webアプリケーションファイアウォール）の概念知識（Imperva/F5）
・Webアプリケーションの概念知識(http/httpsの違い、暗号化、証明書）
・FW/IPSの概念知識
・Network知識（スイッチ・ルータ）