Transcript Excel一般 第2回
第2回 ネットワーク設定 知的システム構築工房 Linux設定セミナーシリーズ 第2回 ネットワーク設定 2011年3月10日(木) 株式会社 アセンディア -1 - 第2回 ネットワーク設定 目的 当セミナーを通して、 各種ネットワークサービスの設定方法を理解し、 ネットワークが動作する仕組みを体得する -2 - 第2回 ネットワーク設定 目標 当セミナーを受講することにより 1.設定ファイルが、ネットワークとどのような関連性 があるかを理解できるようになること 2.ネットワークサービスを設定できるようになること 3.ネットワークのセキュリティを設定できるようになること -3 - 第2回 ネットワーク設定 セミナー内容 1.ネットワーク環境の設定 ネットワーク設定値の確認 host設定 TCP Wrapper 2.ネットワークサービスの設定 Telnet SSH FTP SCP NFS リモートデスクトップ 3.ネットワークセキュリティの設定 パケットフィルタリング ファイアウォール ログファイル -4 - 第2回 ネットワーク設定 1.ネットワーク環境の設定 -5 - 第2回 ネットワーク設定 ネットワーク設定値の確認 ・ホスト名 hostname コマンド /etc/sysconfig/networkファイル ツールを利用 システム→管理→ネットワーク設定を選択 -6 - 第2回 ネットワーク設定 IPアドレス,デフォルトゲートウェイ ifconfigコマンド IPアドレスを取得 routeコマンド デフォルトゲートウェイを取得 /etc/sysconfig/network-scripts/ifcfg-eth#ファイル ツールを利用 システム→管理→ネットワーク設定を選択 DEVICE=eth0 HWADDR=00:00:00:99:99:99 ONBOOT=yes BOOTPROTO=static GATEWAY=192.168.220.2 IPADDR=192.168.220.131 NETMASK=255.255.255.0 NETWORK=192.168.220.0 pingコマンド 目的のコンピュータと通信を行えるかを確認 -7 - 第2回 ネットワーク設定 hosts設定 hostsファイルとは、IPアドレスとホスト名を関連付けを行うテキストファイル 主に【名前解決】用途として設定される。 名前解決とは、ホスト名からIPアドレスを割り出すこと。またその逆。 hostsの存在場所 /etc/hosts ① ② ③ ①自身のサーバIPアドレスに自分のホスト名を設定する ②192.168.220.132のIPアドレスにwebtest-sv1というホスト名を設定する ③192.168.220.133のIPアドレスにwebtest-sv2というホスト名を設定する -8 - 第2回 ネットワーク設定 名前解決の設定 /etc/resolv.confファイルの設定 ① ② ③ 名前解決をDNSサーバー使用する方法 ①自分が所属しているドメイン名を設定する ②検索リストを設定する ③ネームサーバのIPアドレスを設定する 名前解決の順序は/etc/nsswitch.confファイルに設定する ↑この場合、hostsファイル→dnsの順序 逆にしたい場合は、dns files と記述する -9 - ※ホスト名確認コマンド hostname 第2回 ネットワーク設定 hosts.allow 設定例 ALL : 192.168.0.0/255.255.255.0 : allow ALL : .ppp.XXXX-net.jp : allow sshd : *.example.com ALL : ALL : deny キーワード ALL : すべてに一致 EXCEPT : 例外 リスト デーモン名で記述 ftpd ネットワークアドレスで記述 192.168.0.0/255.255.255.0 ホスト名で記述 *.oita-u.ac.jp EXCEPTで例外 ALL EXCEPT sshd 192.168.1.100 -10 - 第2回 ネットワーク設定 hosts.deny 設定例 「ALL:ALL」と記載するのが一般的。 hosts.denyで全てのアクセスを禁止して、hosts.allowでアクセスを許す設定を行います。 -11 - 第2回 ネットワーク設定 TCP Wrapper これまでのネットワーク設定は、TCP Wrapperを通して適用されます。 TCP Wrapper はtcpdというプログラム TCP Wrapperによるアクセス制御 ・hosts.allow アクセスを許可するホストを設定 ・hosts.deny アクセスを禁じるホストを設定 システム起動 initd起動スクリプト 起動 TCP Wrapper 読込 ネットワークサービスの 挙動を決定 設定ファイル hosts.allow hosts.deny -12 - 第2回 ネットワーク設定 2.ネットワークサービス設定 -13 - 第2回 ネットワーク設定 Telnet (Telecommunication network ) Telnetとは、ネットワーク上に存在するコンピュータに対して、遠隔操作を行う ための端末間およびプロセス間の通信プロトコル。 ・特徴 1.TCPポート 23番を利用 2.認証も含めて全ての通信を平文のまま行う。 ⇒セキュリティ上大いに危険 3.複数ユーザで同時アクセス可能 -14 - 第2回 ネットワーク設定 Telnet インストール 今回はツールを利用してインストール telnetと検索項目に入力する -15 - 第2回 ネットワーク設定 Telnet-Serverの有効化 1. /etc/xinit.d/telnet 設定ファイル disable = no と設定する 2.hosts.allow設定 in.telnetd: 192.168.X.0/255.255.255.0 : ALLOW サーバの環境によって、再起動あるいはSELinux Managementの設定を行う ※SELinux (Security-Enhanced Linux) Linuxカーネルレベルでのセキュリティ機能拡張 サーバーへの不正侵入されても影響を受けにくいシステムを実装可能 -16 - 第2回 ネットワーク設定 演習1 1.自ホストへ対して、Telnet接続を行ってください。 Telnetを終了するときは、exitコマンドを発行します。 2.他のホストへ対して、Telnet接続を行ってください。 -17 - 第2回 ネットワーク設定 SSH (Secure Shell ) コンピュータ間の通信を暗号化する仕組みを持ったプロトコル。 ・特徴 1.TCPポート 22番 2.認証も含めて、全ての通信を暗号化される ⇒第3者による盗聴を防ぐ 3.暗号化通信には、「共通鍵暗号方式」と「公開暗号方式」がある -18 - 第2回 ネットワーク設定 暗号方式 暗号鍵:暗号文を作り出す鍵 複合鍵:暗号文を解読する鍵 ・共通鍵暗号方式 複合鍵 暗号鍵 暗号鍵と複合鍵が同一 暗号方式としては単純。 シンプルな構成なので、データの暗号化、複合化が高速に行われる。 1対1の場合以外では、そのつど鍵を作成する必要がある。 ⇒通信相手の数だけ鍵を持つ必要がある -19 - 第2回 ネットワーク設定 ・公開鍵暗号方式 ①暗号鍵を受け渡す 暗号鍵(公開鍵) 暗号鍵(公開鍵) ②受け取った暗号鍵 で暗号化して送信 複合鍵(秘密鍵) ③複合鍵で解読 暗号鍵と複合鍵が異なる。 暗号鍵でデータを暗号化し、複合鍵でデータを複合する。 データを複合できるのは、複合鍵を持っている通信相手のみ 実際の通信では、最初に公開鍵暗号方式で公開鍵を送受信し、それ以降は共通鍵暗号方式 となる -20 - 第2回 ネットワーク設定 OpenSSH OpenSSHとは、SSHプロトコルを利用するためのソフトウェア インストールにはopensslパッケージが必要 ※SSHとSSL どちらもネットワークの通信を暗号化するプロトコル 違いは、OSIレイヤー層が異なる SSH:主にコマンドライン、管理コンソールに用いられる SSL:インターネットブラウザの認証に用いられる インストール確認 rpm –qa | grep openssl TCP Wrapperの設定 hosts.allowファイル sshd:ALL sshdデーモンの起動 /etc/init.d/sshd start -21 - 第2回 ネットワーク設定 SSHを使用した接続 ssh ホスト名 コマンドの発行 1度だけ聞かれます パスワードを入力します。 表示されませんが、入力できています。 ※初めの接続ではクライアントで鍵の生成が行われていない為、 接続先の公開鍵を取得します。 リモートアクセスする場合は、 ssh ユーザー名@ホスト名 -22 - 第2回 ネットワーク設定 FTP (File Transfer Protocol ) コンピュータ間のファイル転送を行うプロトコル ・特徴 1.TCPポート 21番 2.ユーザID,パスワードで接続認証を行う。 3.認証を含んだ通信間は平文で行われている。 4.サーバ上のファイルを削除することが可能な為、運用では注意が必要。 -23 - 第2回 ネットワーク設定 FTP インストール 今回はツールを利用してインストール vsftpdと検索項目に入力する インストール終了後、起動します。 /etc/init.d/vsftpd start -24 - 第2回 ネットワーク設定 FTP ユーザの設定 FTP接続が可能なユーザを設定する ・アクセス制限ファイルの設定 /etc/vsftpd/ftpusers このファイルに記載されたユーザはFTP接続できない -25 - 第2回 ネットワーク設定 FTPファイル送信の確認 GUIでのファイル送信ツールのインストール インストール後 gftpと検索項目に入力する -26 - 第2回 ネットワーク設定 演習2 コマンドを用いてファイル転送を行ってください。 FTPコマンド一覧 ftp open ls get put bye ftpを起動する ftpサーバーへ接続する ftpサーバーディレクトリ配下の一覧を表示します ファイルのダウンロード ファイルのアップロード ftpを終了する -27 - 第2回 ネットワーク設定 演習3 FTPのユーザを追加し、アクセス確認を行ってください。 新規ユーザ1 taro パスワード oita 新規ユーザ2 hanako パスワード beppu anonymous FTP(アノニマスFTP)を使わない設定 ASCIIモードを有効にしてください。 ログ出力を有効にしてください。 作成方法 1./etc/vsftpd/vsftpd.con設定 2.chroot_lisetファイルの作成(touchコマンドで殻ファイル) chroot_listとは、FTP接続時、上位階層へ移動を許可するユーザを記載するファイルです。 3.ユーザを追加します useradd コマンド useradd -s /sbin/nologin -d /home/ユーザ名 ユーザ名 cd /home chmod 700 ユーザ名 4.vsftpd再起動 -28 - 第2回 ネットワーク設定 SCP (Secure Copy) コンピュータ間のファイル転送をssh機能を用いて暗号化を行った通信を行うコマンド ・特徴 1.TCPポート 22番 2.認証も含めて、全ての通信が暗号化される 3.SCPコマンドラインでファイルの送受信を行う -29 - 第2回 ネットワーク設定 1.ファイル転送 scp 転送するファイル名 転送先ユーザID@転送先ホスト名:転送先のパス 入力例:scp test.txt [email protected]:/home/user01/fileDir 2.自身へのファイル転送 scp 転送先ユーザID@転送先ホスト名:転送先ファイル名のパス 保存パス 入力例: scp [email protected]:/home/user01/fileDir/test.txt ./file.txt 3.ディレクトリの転送 -r オプションをつけることで、ディレクトリの転送を行うことができます。 ls -F ディレクトリの確認 scp -r [email protected]:testDir cpDir -30 - 第2回 ネットワーク設定 演習4 1.sshコマンドを用いて、自ホストへ接続してください。 2.ホームディレクトリに、sshtest.txtを作成してください。 3.sshtest.txtを開き、helloと入力し、保存してください。 4.もう一画面端末を開き、rootユーザへ変わってください。 5./home/ユーザ名/sshtest.txtをscpコマンドで取得してください。 6.取得したsshtest.txtが正しく受け取られたかを確認してください。 helloを記述していればOKです。 7.sshtest.txtをsshtest2.txtとリネームしてください。 8.sshtest2.txtをscpコマンドで /home/ユーザ名/配下へ転送してください。 -31 - 第2回 ネットワーク設定 NFS(Network File System) NFSとは、ネットワーク上に存在するNFSサーバのファイルシステ ムを、あたかも自分のコンピュータのファイルシステムのように利 用することができる仕組み システム領域 システム領域 ネットワーク NFS領域 NFSサーバの NFS領域をマウント NFSサーバ NFSクライアント ※NFSはUDP,TCP 2049番ポートを使用します -32 - 第2回 ネットワーク設定 NFS設定 NFSサーバ機能 1.NFSインストール yum install nfs-util 2.NFSディレクトリの作成 mkdir /opt/nfsDir 3.nfsユーザ権限の設定 chown -R nfsnobody:nfsnobody /opt/nfsDir/ 4.nfs 共有設定 vi /etc/exports /opt/nfsDir *(rw) directory cliant option option: rw 書込可能 ro 読込のみ可 5.nfsサービスの起動 /etc/rc.d/init.d/nfs start -33 - 第2回 ネットワーク設定 NFSクライアント機能 1.NFSマウント設定 /mnt ディレクトリ配下にマウントフォルダを作成 mkdir /mnt/nfstest 2.マウントコマンド発行 mount -t nfs nfsサーバアドレス:nfsサーバディレクトリ マウント先(/mnt/nfstest/) 入力例: mount -t nfs 192.168.1.171:/opt/nfsDir/ /mnt/nfsDir/ 3.確認 ls -l コマンド df コマンド 4.マウントの解除 umount /mnt/nfstest umount -f 強制 device is busyの場合は、umount -l を行った後、mount /mnt/nfstest 演習 講師のNFSサーバへ接続し、NFSクライアント設定を行ってください。 -34 - 第2回 ネットワーク設定 リモートデスクトップ リモートデスクトップとは、リモートコンピュータが、ホストコンピュータに対して、 ネットワークを介してGUI接続を行い、遠隔操作を行うアクセス手段です。 リモートコンピュータ : 接続元コンピュータ ホストコンピュータ : 接続先コンピュータ 主なソフトウェア Virtual Network Computing(VNC) Remote Desktop Protocol(RDP) Apple Remote Desktop Symantec pcAnywhere 様々なプラットフォームで動作 オープンライセンス 異なるプラットフォーム間でも接続可能 Microsoft Windows XPより導入 Professional以上の製品に組み込まれている Mac OS X 用リモート管理ソフトウェア シマンテック社のリモート管理ソフトウェア -35 - 第2回 ネットワーク設定 リモートデスクトップ設定方法 システム⇒設定⇒リモート・デスクトップ -36 - 第2回 ネットワーク設定 演習5 リモートデスクトップ機能を用いて、他のPCへアクセスしてください。 -37 - 第2回 ネットワーク設定 3.ネットワークセキュリティの設定 -38 - 第2回 ネットワーク設定 ネットワークモニタリング ネットワークに関するコマンドとその使い方 ネットワークの状態を監視する netstatコマンド netstat -s ネットワーク統計情報を取得 IPやプロトコル情報を確認 netstat -alnA inet ネットワーク接続一覧 [0.0.0.0]ホストと接続されるあらゆるIPアドレスとバインド netstat -r ルーティングの統計情報を確認 ホストへのパケット送信 pingコマンド ネットワーク設定情報の確認 ifconfig -39 - 第2回 ネットワーク設定 ネットワークコマンド LinuxとWindowsの違い コマンド Windows Linux ネットワーク設定確認 ipconfig ifconfig ネットワーク疎通確認 ping ping ネットワーク経路確認 tracert traceroute DNSサーバに名前解決 nslookup nslookup ※Linuxの場合は、初期状態ではrootユーザしか実行できない -40 - 第2回 ネットワーク設定 パケットフィルタリング(ファイアウォール) ネットワークを流れるデータ(パケット)に対して、IPアドレスやポート番号で 通信を許可するべきか、拒否するべきかを判定する仕組み 99番PORT 21,22番PORT ネットワーク 80番PORT パケットフィルタ 21~22番PORT OK 80番 PORT OK 99番 PORT NG -41 - 第2回 ネットワーク設定 IPアドレス TCP/IPを利用するネットワークで、接続されているホストを識別する為に用いる。 IPアドレスは、192.168.0.1のように、「.」で区切られた4つの数字より成り立つ。 実際は、8ビット X 4で32ビットを表します。 各数値は、8ビット数値を10進数に直しています。 8ビットではれば、[00000000]~[11111111]の範囲で、10進数では[0]~[255] になります。 IPアドレスは、理論上[0.0.0.0]~[255.255.255.255]の範囲になります。 ネットワークアドレスとホストアドレス 192.168.0.1 ネットワークアドレス ホストアドレス IPアドレスはネットワークアドレスとホストアドレスに分かれます。 IPアドレスは構造によりクラス分けされます。 クラス ネットワーク範囲 A 0.0.0.0~127.255.255.255 B 128.0.0.0-191.255.255.255 C 192.0.0.0-223.255.255.255 -42 - 第2回 ネットワーク設定 グローバルアドレスとプライベートアドレス グローバルアドレス:インターネット上で識別されるアドレス(全世界で一意) プライベートアドレス:ローカル環境で使用されるアドレス ・グローバルアドレス 通常、サーバをローカル環境以外で運用する場合、グローバルアドレスを 取得する必要があります。 個人がインターネット接続を行う場合、インターネットサービスプロバイダが 動的にグローバルアドレスを割り振り、ネットワークアクセスが可能となります。 ・プライベートアドレス ローカル環境内で、自由にIPアドレスを設定することができます。 一般的にクラスCで運用し、[192.168.0.0]~[192.168.255.0]の範囲で設定しま す。 -43 - 第2回 ネットワーク設定 ・目的 セキュリティの確保! 通常、セキュリティの設定はサーバー機器以外にルーターやファイアウォール で行いますが、サーバー自身にもパケットフィルタリングを設定することは、 セキュリティの確保につながります。 ・設定 設定確認 iptablesコマンド -44 - 第2回 ネットワーク設定 用語説明 ・チェイン パケットを処理するルールのかたまり iptablesコマンドは、この「チェーン」にさまざまな「ルール」を設定する作業 FORWARD PREROUTING ルーティング の決定 YES POSTROUTING NO INPUT ローカルプロセス PREROUTINGチェイン:NAT機能で使用 INPUTチェイン:自ホストが最終的なパケットの受け取り先である場合の定義 サーバーでの設定はここでセットする OUTPUTチェイン:自ホストから発せられたパケットを処理する FORWARDチェイン:転送するパケットを処理する ルーター、ファイアウォールとして機能する場合に設定 POSTROUTINGチェイン:NAT機能で使用される -45 - OUTPUT ローカルプロセス 第2回 ネットワーク設定 設定の基本! 全ての通信を遮断し、必要な通信のみ接続を許可する 設定例 /etc/sysconfig/iptablesファイル ① ② ③ ④ ⑤ ⑥ ①INPUT,FORWARD,OUTPUT各チェーンを有効にします ②既存の接続、新しい接続パケットの入力を許可する ③全てのicmpパケットの入力を許可する ④lo(ループバック)インタフェースからの入力を許可する -46 - ⑤22番、23番ポートからの入力を許可する ⑥それ以外の入力は許可しない 第2回 ネットワーク設定 コマンド説明 stateオプション INVALID ESTABLISHED NEW RELATED 接続開始、既存の接続ともに関係しないパケット 既存の双方向の接続の後続パケット 新しい接続開始 新規の接続を開始するパケット iptablesコマンド オプション -A chain -D chain rulenum -R chain rulenum -I chain rulenum -L chain [-n] [-v] -F chain -N chain -X chain -P chain target -E old-chain new-chain 意味 Append 説明 chain に対して新しいルールを追加する chain のルールを削除します。rulenum を指定すると、指定され Delete たrulenum を削除します Replace chain のルールをrulenum のルールと交換します chain のルールをrulenum のルールを挿入します。 Insert 省略時は1番目に挿入します chain のルールを表示します。 List -n IPアドレスでホスト情報を表示 -v 詳細表示 Flush chain のルールをすべて削除 New Chain ユーザー定義チェインを作成 Delete Chain ユーザー定義チェインを削除 Policy chain のデフォルトポリシーをtarget に設定します Rename Chain chain の名称を変更します -47 - 第2回 ネットワーク設定 ターゲットオプション ACCEPT DROP REJECT REDIRECT パケットの通過を許可する パケットを破棄する パケットを破棄する(送信元にICMPパケットを送らない) パケットを破棄する(送信元にICMPパケットを送る) ルールの定義 -s address -d address -p protocol -i name -0 name -j terget パケットの送信元のアドレス パケットの送信先のアドレス プロトコルの種類(tcp,udp,icmp,all) パケットが入ってくるインターフェース名 パケットが出ていくインターフェース名 ターゲット(ACCEPT、DROP、REJECT)を指定 -48 - 第2回 ネットワーク設定 ポート一覧 番号 20 21 22 23 25 53 80 110 143 443 2049 サービス 説明 FTP(データ) ファイルの転送(データ)用 FTP ファイルの転送用(コントロール)用 SSH セキュアシェルで利用 Telnet Telenetプログラムで利用 SMTP メール送受信で利用 DNS 名前解決で利用 HTTP WWW POP3 メール受信 IMAP メールサーバ上の電子メールにアクセス HTTPS セキュアHTTP NFS ファイル共有 -49 - 第2回 ネットワーク設定 設定例 全てのTCPパケットを拒否(自サーバーから他の通信は許可) ① /etc/sysconfig/iptablesファイル ① -50 - 第2回 ネットワーク設定 設定例:telnet,ssh,ftpのみ許可 コマンド入力 /etc/sysconfig/iptablesファイル -51 - 第2回 ネットワーク設定 パケットフィルタリング演習 Webサーバを外部に公開する設定 wwwサーバのiptablesを設定してみましょう 外部インターネット 192.168.10.1 ①http,https許可 監視サーバ WWWサーバ ②http,https,ssh許可 ③全て許可しない 192.168.100.10 192.168.10.2 -52 - 1.内部から、外部からの双方パケットは指定する サービス以外は遮断 2.ループバックアドレスに関してはすべて許可 3.ルータ、wwwサーバ間 wwwサーバ⇒ルータへのhttp,httpsを許可する 4.wwwサーバ、監視サーバ 監視サーバ⇒wwwサーバへのhttp,https,sshを許可 wwwサーバ⇒監視サーバへはパケットを許可しない 第2回 ネットワーク設定 設定例 /etc/sysconfig/iptablesファイル -53 - 第2回 ネットワーク設定 GUIツールを用いたフィルタリング設定 GUIツールを用いたフィルタリング設定を行うことができます。 -54 - 第2回 ネットワーク設定 システムログの利用 Linuxシステムは、様々なシステム情報をログファイルに出力しています。 システムログ Linuxシステム カーネル /var/log/ 各種App システム起動時のログ デバイス情報のログ セキュリティ情報のログ アプリケーションからのログ : : messages secure maillog -55 - 第2回 ネットワーク設定 主なログファイル一覧 messages bool.log cron dmsg lastlog wtmp secure maillog yum.log システム起動時、様々なデーモンから発せられるログ 起動時のメッセージ cronデーモン(スケジューラ)ログ カーネルが出力するログ 全てのユーザの最新のログイン日時 lastlogコマンドで参照する 全てのユーザのログイン日時、ログアウト日時を記録 認証メッセージログ メールの送受信ログ yumインストーラログ -56 -