close
プログラミング クラウド Microsoft Azure 情報処理資格 基本情報技術者 IT基礎 応用情報技術者 開発・設計方法 オブジェクト指向 内定者・新人研修 プログラミング基礎 アルゴリズム コンピュータ数学 内定者研修 新人研修 ヒューマンスキル プロジェクトマネジメント プレゼンテーション リーダーシップ 組織マネジメント ネゴシエーション ロジカルシンキング Java UI/UX HTTP JavaScript基礎 情報処理資格 ネットワークスペシャリスト ネットワーク インターネットルーティング応用 IPアドレス データベース応用 SQL応用 パフォーマンスチューニング データベース設計 ER図 概念設計(データベース) 論理設計(データベース) IT資格 Linux基礎 OS・システム基盤 セキュリティ TCP/IP OSI参照モデル データベースセキュリティ ファイアウォール 標的型攻撃 SQLインジェクション ネットワーク基本設計 CCNA Cisco プロジェクトマネジメント資格 情報処理資格プロジェクトマネージャ 情報処理安全確保支援士 人事給与 財務会計 管理会計 簿記 生産管理 在庫管理 ERP バランススコアカード 情報処理資格 ITアーキテクト 情報処理資格 ITストラテジスト 情報処理資格 ITサービスマネジメント 情報処理資格 システム監査 PMBOK® PMP® プロジェクト計画 WBS リスクコントロール ITIL ITサービスマネジメント 要求定義 要件定義 見積手法 ビジネスインダストリ 業種・業界知識 業務知識 提案力 ソフトウェアテスト基礎 情報処理資格 データベーススペシャリスト ハードウェア基礎 外部設計(基本設計) 内部設計(詳細設計) データベース基礎 SQL基礎 RDBMS 物理設計(データベース) C++ Ruby MVC基礎 Webアプリケーション開発 JavaEE Javaプログラミング応用 フレームワーク MVC応用 Spring フレームワーク ソフトウェアテスト応用 テスト手法 Junit スマートフォンアプリ開発 Androidアプリ開発 C# 基礎 C# 応用 負荷テスト Javaプログラミング基礎 ソフトウェアテスト コーチング メンタリング HTML/CSS サーバー構築 仮想化技術 KVS (NoSQL) アジャイル スクラム ファシリテーション C言語 ITパスポート JSTQB データサイエンス 単体テスト ユニットテスト キャリアアップ インターネットルーティング基礎 パケット解析 LAN構築 データベース データサイエンティスト トレンド 障害対応 インフラ監視 HTTP/2.0 コンピュータサイエンス VPN ネットワーク物理設計 データベース障害 JavaScript モダンJS (Modern JavaScript) 応用 MVS応用 バックアップ/リカバリ 分散処理 Hadoop Hive Python AI 深層学習(DeepLearning) CentOS Linux応用 Zabbix シェルスクリプト Infrastructure as Code Windowsサーバー基礎 内部設計 Docker DevOps Windowsサーバー応用 NginX chef Ainsible ロジカルライティング R テスト自動化 Jenkins Git 継続的インテグレーション (CI) バージョン管理 Vagrant 要求分析 Redmine 継続的インテグレーション(CI) 継続的デリバリー (CD) ヒューマンリソース管理 Web API マイクロサービス コミュニケーション 業務知識/業界知識 マーケティング 語学 AWS 法務 IoT ビジネスマナー OJT 業務効率化 表計算ソフト オフィスソフト コンプライアンス フロントエンド Subversion PHP 関数型プログラミング Laravel モダンJS (Modern JavaScript) 基礎 Android Studio 機械学習 iOSアプリ開発 ぷプログラミング React 次世代高度IT人材 共創 IPA Raspberry Pi Xamarin スクリプト言語 GoF CUI VBA 資格 ビジネス文書 jQuery 研修参加レポート マネジメント OSPF テーブル設計 アンガーマネジメント クリティカル・シンキング PDU 経営改善 Pマーク 問題解決技法 サイバー攻撃 エンジニア 参加してみた エンゲージメントマネジメント 労働関連法 新人育成 ネットワーク構築 情報セキュリティマネジメント デザインパターン リファクタリング マルチスレッドプログラミング ベンダーコントロール Modern JavaScript 冗長化 VLAN インフラエンジニア チームビルディング テストケース リーダブルコード セキュリティ入門 ネットワーク入門 Node.js npm gulp ビルドツール Python入門 冗長化入門 インフラ実機演習 プロジェクト管理 Active Directory ネットワーク管理 コンテナ 正規化理論 Haskell 品質管理 OpenStack シンギュラリティ DBA中級 プロトコル UX 基本設計 FinTech トラブルシューティング 並列処理 見える化 PMO ロジカルコミュニケーション Deep Learning インデックス設計 超上流工程 BGP Excel C-CENT Selenide プライベートクラウド アセンブラ コンピュータ基礎 工数見積 CCENT 法律知識 失敗から学ぶ プロジェクト失敗事例 PDCA プログラミング入門 非エンジニア向け 4Biz DNS セルフマネジメント 片付け術 サーバーダウン サーバー タイムマネジメント GO言語 プロダクトマネジメント プロダクトマネージャ LVS ロードバランサー 負荷分散 仮想通過 犯罪心理学 情報漏えい SEカレッジ導入事例 IT研修を聞いてみた 会社規模 (100~300名) IT研修制度を聞いてみた CentOS7 開発環境構築 数字力 財務 IT人材 UI Machine Learning Go言語 (golang) データマイニング 統計学 新人教育 やり直し数学 RDB つながる工場 モチベーション WebSocket WebWorker HTML5 CSS3 Bootstrap 微分・積分 システム設計 決断力 LAMP環境 トレ担 教育研修担当者向け ルーティング Linux入門 図解術 目標設定 試験対策 インタビュー技法 Vue.js ブロックチェーン 会社規模 (~50名) DHCP 仕掛け学 BSC 財務諸表 自己分析 RIP スタティックルート バッファオーバーフロー DoS攻撃 システム開発 会社規模 (~99名) Wireshark パケットキャプチャ 管理職研修 部下育成 ワークあり 文章力 情報システム部門向け プロジェクトリーダー プロジェクトマネージャ 塗り絵 リスク管理 法改定 会社の仕組み Chainer AI人材 会話術 会社規模 (~25名) テスト技法 組織規模 51名~99名 組織規模:~199名 [組織規模]199名まで 組織規模 199名まで 組織規模199名まで 会社規模199名まで 会社規模49名まで 会社規模99名まで アプリ開発 サーバサイドJava 営業知識 Cloud 栄養学 基本コマンド ウォーターフォールモデル ヘルスケア 論理設計 ニューラルネットワーク ハンズオン UML 顧客ヒアリング マウスで学ぶ Apache EC2 Lightsail M5Stack DevSecOps プロジェクト成果 画像認識 チャットポット コマンド レビュー 基本用語 自動構築 LPIC-1 サーバーサイドJavascript キャリア形成 ワークライフバランス インバスケット テック用語 GitHub Windows エディタ 教養 令和時代 RESTful API 物理設計 会社規模300名以上

ファイアウォール再入門 研修コースに参加してみた

今回参加した研修コースは ファイアウォール再入門 です。

IPに関する基礎的なことを振り返りながら、ファイアウォールの役割と仕組みをわかりやすく例えて説明され、”再入門” というタイトルらしいコースでした。

また、実際にファイアウォールで設定することを 机上 と PC で演習でき、実際にどういうことをやるのかも体験して学習できました。

ネットワークセキュリティはもはや必須なので、ネットワークエンジニアとしてはじめてLAN/WAN構築に携わる方には必須で、かつ復習もできる、とてもオススメのコースです。

では、どんなコースだったのかレポートします !

 

想定する受講者

  • TCP/IPの基礎知識があること
  • コマンドプロンプトやLinuxコマンドシェルなどのコマンド操作経験があること

 

受講目標

  • ファイアウォールの機能を理解する
  • ファイアウォールの基本設定を理解する
  • ファイアウォールでできることと、できないことを理解する

 

講師紹介

コースの講師は 岩木慎一 さんです。

岩木 慎一

大型汎用機での開発に携わったあと、90年代なかばから講師として登壇されるようになり、SEカレッジでは主にインフラ系コースを担当されています。
今回のコースでも参加している方の理解状況を見ながら、解説内容をコントロールされていたり、わかりやすさに気を配ってらっしゃいました。

 

ファイアウォールの目的

まず簡単にファイアウォールがなぜ必要なのか、というお話です。

 

ファイアウォールの種類

ファイアウォールにはネットワークファイアウォールとパーソナルファイアウォールがあります。

  • ネットワークファイアウォール
    • 家庭用や小規模であればルータやスイッチの機能で実現している
    • ルータでもファイアウォール機能を実現できるが、数百台以上の中規模・大規模のネットワークではルータの負荷が高くなってしまうので、アプライアンス型製品などの専用機器が使われることが多い
  • パーソナルファイアウォール
    • USBなどでのデータの受け渡しもあるため、クライアントのコンピュータでも使われるようになった
    • Windowsファイアウォールなど
    • 実は講師業をやっていると `ping` が通らなかったりするので、ツライ。。

 

ファイアウォールの設置・構成

  • 基本は外部との接点で使うが、最近はホームページなど公開セグメントの前に置くことが多い
  • DMZの前にファイアウォールを置いて、DMZ領域への通信のみをOKにしてたりする
  • 機器を見るとポートがDMZと社内ネットワーク用などで分かれている

 

ファイアウォールの機能

ファイアウォールの機能をザッと一覧します。
パケットフィルタリングがいちばん重要な機能となるので、一番ボリューム多く説明頂きましたので、あとでまとめて紹介します。

ここではそれ以外の機能について解説頂いたことのメモです。

 

IDS、IPS

  • IDSでパケットの量を監視したり、異常な通信のパターンなどを検知する
    • 実は異常検知は難しい
      • 予め異常パターンを登録しておくと誤検知は少なくなるが新しい異常パターンに対応できない
      • 正常パターンを登録しておけば、新しい異常パターンに対応できるけど誤検知が多くなる
  • IPSは異常を検出すると遮断したり防止する機能

 

アプリケーションゲートウェイ

  • 内部コンピュータと直接外部サーバーとパケット交換するのではなく、代理人(ファイアウォール)を介することで内部ネットワークの構成を隠せるため、攻撃されにくくなる
  • Webページなどキャッシュとしての機能もある
  • Proxyサーバー とも言われる

 

NAT/NAPT

なぜアドレス変換を行うのか

  • NATで社外に出るときにプライベートアドレスをグローバルアドレスに書き換えている
  • ただしNATだと1つのグローバルアドレスを使ってしまうと他の通信で使えない
  • NAPTで複数のグローバルアドレスを生成する
  • NAPTは別名IPマスカレードとも呼ばれている

 

パケットフィルタリングの仕組み

それではファイアウォールの中心機能となるパケットフィルタリングについて解説です。

 

  • ヘッダに書かれていること
    • 送信元とあて先のIPアドレス
    • 送信元とあて先のポート番号
    • 内部コンピュータが通信しているのではなく、中のソフトウェアが通信しているので、ポート番号を持っている
      • ex. 80番だとWebサーバ、25番だとメールサーバー
    • レスポンスを返すために送信元も必要
  • このヘッダによって通信して良いものかどうかを判断している

 

パケットフィルタリングの考え方

重要なことなので、もう少し突っ込んだ解説です。

  • TCPヘッダがUDPヘッダのときもある
  • 方向でも許可/拒否をジャッジしている
  • アプリケーションのプロトコルによってどんな通信をするのかおさえておく
    • 例えばメールサーバーはSMTPサーバーとPOPサーバーがある
    • メールサーバーそのものはメールを受け取るかどうかを判断しているだけ
    • POP3サーバーがクライアントPCの要求に対して受信させている
    • 用途によって通信の方向など変わるので、面倒なんだけど設定のときは注意が必要

 

通信の種類

  • 例えば動画を見るなど遅れがあると困る場合はUDPを使用
  • メールやWebなどはTCPを使用
  • UDPを使う場合は、アプリケーション側で何らか信頼性を担保する必要がある

 

机上演習

ここからはパケットフィルタリングを実際に設定する演習を行いました。
まず机上で出来るもので、設定の全体を把握します。

 

お題のヒント: 許可するアドレスを書いてください。

 

  • 補足
    • インターネットからの通信を許可する場合は any としていい
    • * はワイルドカード ex. 192.168.0.*

 

解答解説

ここでは一部だけ解答と解説を紹介します。

  • ポート番号 443 は暗号化された通信
  • DNSの問い合わせはややこしい
    • ISPのDNS: 社内のアドレスならDNSは知っているが、社外は分からないのでISPに聞きに行く

 

PC演習

机上演習で全体像を把握した上で、実際にPCを使って、パケットフィルタリングの設定をやってみます。

  •  iptables で実際に許可するものを設定してみよう
    • linux にあるパケットフィルタリングの設定ができる機能

 

演習の手順

  1. コマンドの解説を紹介して頂きながら、下のように演習を行いました。
  2. PC内に仮想でCentOSのWebサーバーを立ち上げて通信
  3. WebサーバーのIPアドレスを確認
  4. Webサーバーとの通信が通信できるようDNSを設定
  5. iptables にWebサーバーへのアクセスを許可する設定を追加
  6. Webサーバーを起動してクライアントから URL を叩いて表示されるかどうかを確認

 

  • 実際のコマンドの様子

 

演習の終わりとともにコースは修了しました。

コース終了後も演習が途中に終わっていた方は居残って演習したり、熱心に岩木さんに質問するなど、参加していた方にとても充実した内容だったようです。

 

まとめ

ファイアウォール “再入門” ということで、ここでは触れませんでしたが、IPアドレスの基礎的なこともわかりやすく解説されたり、とにかくわかりやすい内容でした。

また演習もちょうどよい難易度で、解説頂いた内容で実習できるものだったので、このことも参加された方が熱をもって取り組めた背景にあるように思います。

ネットワークセキュリティにこれから取り組むという方には、解説や演習がちょうどよいレベルなので、とてもオススメのコースです !

 

 


 

SEカレッジが気になった方はこちらからお気軽にお問合わせください!!

お問い合わせフォーム

SEカレッジの詳細をご覧になりたい方はこちら!!

SEカレッジ

特集・キャンペーン

よくある質問集

タグ一覧

参加してみた研修参加レポートLinux基礎Java基本情報技術者セキュリティプログラミングオブジェクト指向プロジェクトマネジメントネットワークPythonAIプログラミング基礎SQL基礎ヒューマンスキル資格コミュニケーションLinux入門IoTデータベーステーブル設計仮想化技術アルゴリズムプログラミング入門エンジニアJavaScriptソフトウェアテストマネジメントSQL応用C# 基礎パケット解析ビジネスマナービジネス文書コンテナjQueryシェルスクリプトLinux応用ファイアウォールPMBOK®LAN構築データサイエンス問題解決技法工数見積障害対応プレゼンテーションデータベース基礎デザインパターンRDBMS教育研修担当者向けDockerER図ヘルスケアAWSWindowsサーバー基礎テック用語サーバー構築DNS簿記ネットワーク入門サーバサイドJava情報処理資格IT研修制度を聞いてみたプロジェクトマネージャ要求定義ロジカルライティングSEカレッジ導入事例テスト自動化PマークVLAN財務トレンドJavaプログラミング基礎アンガーマネジメントRaspberry PiプロトコルIT基礎応用情報技術者品質管理新人研修ロジカルコミュニケーション単体テストデータベース設計ExcelインフラエンジニアアジャイルベンダーコントロールコーチングCloudプロジェクト管理機械学習GoFJavaプログラミング応用試験対策C# 応用データサイエンティストロジカルシンキングリファクタリングマルチスレッドプログラミング営業知識UIインフラ実機演習CCNAネットワーク構築図解術テストケースTCP/IP見える化決断力法律知識Modern JavaScriptLVSITパスポートHTML5RDBWBSActive DirectoryCSS3パフォーマンスチューニングデータベースセキュリティCentOS7フレームワークGit物理設計(データベース)Python入門コマンドセルフマネジメントZabbixITILルーティングSQLインジェクション新人育成スクラムインデックス設計非エンジニア向け管理職研修情報漏えいHTML/CSSJavaScript基礎CentOSクラウドLAMP環境OSPFVPNセキュリティ入門データベース障害関数型プログラミング統計学Deep LearningPDCA微分・積分ソフトウェアテスト基礎Vue.js片付け術サイバー攻撃UI/UX犯罪心理学正規化理論Webアプリケーション開発JavaEEDHCP経営改善ロードバランサー基本コマンドBGPエンゲージメントマネジメント会社規模99名までプロジェクト失敗事例システム開発ネットワーク管理UMLサーバーサイドJavascriptウォーターフォールモデルM5StackWindowsOS・システム基盤トラブルシューティング顧客ヒアリングプロダクトマネジメントWindowsサーバー応用業務効率化DBA中級リスク管理DevSecOpsマーケティングクリティカル・シンキングマウスで学ぶバージョン管理プロダクトマネージャ論理設計ブロックチェーンデータベース応用開発環境構築Junitプロジェクト計画UXCisco情報セキュリティマネジメント内定者研修サーバー法改定要件定義令和時代冗長化次世代高度IT人材LPIC-1PHP会社の仕組み自己分析GO言語ビジネスインダストリインタビュー技法OJTインターネットルーティング応用情報システム部門向け会社規模49名まで仮想通過IPAインターネットルーティング基礎IT人材MVC基礎キャリア形成レビューIPアドレスITサービスマネジメントテスト手法CCENTワークライフバランス基本用語表計算ソフトHTTPMachine Learningリーダーシップ論理設計(データベース)HTTP/2.0塗り絵OSI参照モデル栄養学会社規模199名までPMO失敗から学ぶWeb API財務諸表ChainerFinTechBootstrapコンピュータ基礎モチベーション労働関連法物理設計シンギュラリティ業務知識/業界知識ソフトウェアテスト応用WiresharkAI人材継続的インテグレーション (CI)RIP冗長化入門LaravelWebSocketC-CENTNode.js会社規模300名以上プロジェクトリーダー新人教育チームビルディングエディタパケットキャプチャ会話術並列処理PMP®システム設計スタティックルートモダンJS (Modern JavaScript) 基礎概念設計(データベース)インフラ監視WebWorkerSelenidechefコンピュータ数学サーバーダウンnpmやり直し数学Infrastructure as Codeプロジェクト成果教養Haskellスクリプト言語テスト技法PDUApache継続的インテグレーション(CI)インバスケットバッファオーバーフローニューラルネットワークプライベートクラウド自動構築gulpフロントエンド超上流工程画像認識目標設定4Bizリーダブルコードアプリ開発Go言語 (golang)EC2ネゴシエーションDoS攻撃IT資格数字力基本設計財務会計ハンズオンアセンブラタイムマネジメントビルドツールつながる工場内部設計見積手法チャットポットRESTful API文章力OpenStackデータマイニングリスクコントロールMicrosoft AzureLightsailGitHub負荷分散共創

過去の記事