サービスとポート・安全な通信

TCP/UDP

TCP (Transmission Control Protocol)
UDP (User Datagram Protocol)

ポート番号

IPアドレスはホスト(のNIC)を特定するため、その内部の サービス(アプリケーションプログラム)を特定するための番号が ポート番号。

TCPにもUDPにもポート番号があり、独立している。ただし、 混乱をふせぐため、同じ番号には同じサービスが割り当てられている。

less /etc/services

身近に利用するポート番号として以下のものは記憶に値する。

ポート/プロトコルサービス略称役割備考
21/tcpFTP(File Transfer Protocol)伝統的なファイル転送プリンターなどにもある
22/tcpSSH(Secure Shell)暗号化遠隔操作
23/tcptelnet伝統的な遠隔操作ルータ等にもある
25/tcpSMTP(Simple Mail Transfer Protocol)メイル送信
53/udpDomainDNS(名前解決)
53/tcpDomainDNSゾーン転送
80/tcpHTTP(Hyper Text Transfer Protocol)World Wide Web
110/tcpPOP3(Post Office Protocol version 3)メイル受信メイルアプリで指定
123/udpNTP(Network Time Protocol)時刻同期
143/tcpIMAP4(Internet Message Access Protocol)メイル購読メイルアプリで指定
443/tcpHTTPS(HTTP Secure)HTTP over TLS/SSL
587/tcpMessage Submissionメイル送信(エンドユーザ)メイルアプリで指定
993/tcpIMAPS(IMAP Secure)IMAP4 over TLS/SSLメイルアプリで指定
998/tcpPOP3s(POP3 Secure)POP3 over TLS/SSLメイルアプリで指定
1194/udpOpenVPNOpenVPN接続用変える場合もある
5432/tcppostgresqlPostgreSQL database

※強調のあるものは、家庭用ファイヤウォールなどで通信を遮断すると 利用に支障が出る程度に一般的なもの。

授業内課題

上記プロトコルから一つを選び、それに対応している ソフトウェアと、どのような役割を担うものか自分で理解した上で 簡潔にまとめよ(→s4)。

安全な通信

IPv4ネットワークは、通信するホストが送信するバイト列が そのまま流れる。同じ回線に別のマシンのケーブルを繋いで 通信内容を受け取れば、送信内容が全て分かる。 暗号化していなければ、パスワードも漏洩する。

平文ログイン盗聴実験

代表的な暗号化プロトコル

IPSEC

IPのレベルで暗号・認証を行なう。通信したい全てのホストが IPSEC 接続する必要がある。組織内の全てのLAN(Local Area Network)を暗号化したい 場合に必要となる。

TLS/SSL

TCP通信を暗号化し、その上の本来のサービスプロトコルを通す。 初期のしくみ(SSL:Secure Socket Layer)の用語が定着して今でも 「SSL」が使われることが多いが、現時点で主に使用されているのはその 発展的後継の TLS(Transport Layer Security) である。

SSH

リモートホストへのログインを暗号化する。その通信路を用いて 別のTCP通信を迂回(トンネル)させることができる。 導入が容易で汎用性が高く、簡易的なVPN(後述)も構築できる。

VPN

IP接続を仮想的な論理回線上で構築する。Virtual Private Networkの略。 既存のIP接続上にも構築でき、その場合暗号化した通信を用いて VPN自体を暗号化し、遠隔地のホスト同士を安全に通信させることができる。

yuuji@koeki-u.ac.jp