ホーム » 「spam」タグがついた投稿

タグアーカイブ: spam

2024年4月
 123456
78910111213
14151617181920
21222324252627
282930  

検索・リンク

ポート番号とファイアウォールとメール

ポート番号

サーバとなるコンピュータでは、1台のコンピュータで様々なサービスを提供することから、サービスを区別する必要がある。このためにポート番号が使われる。1台毎のコンピュータに割り当てられたIPアドレスを電話番号に例えるなら、ポート番号は内線電話番号に例えることができる。

サーバと通信する場合、サービスを提供するプログラムに応じて標準的なポート番号が決められている。サーバに届いたパケットは、ポート番号に応じてサービスプログラムを起動する。以下の表によく使われるポート番号の一例をあげる。

ポート番号 プロトコル 概要
20 ftp ファイル転送(データ)
21 ftp ファイル転送(命令)
22 ssh リモート接続(暗号対策あり)
23 telnet リモート接続(暗号化なし)
25 smtp 電子メール送信
465 smtps 電子メール送信(暗号化)
53 DNS ドメインネームサービス
80 http Web
443 https Web(暗号化)
110 pop3 メールダウンロード
995 pop3s メールダウンロード(暗号化)
143 imap メール閲覧
993 imaps メール閲覧(暗号化)
137,138,139 netbios Windows のファイル共有

 

通信パケットには、送信元IPアドレス送信元ポート番号送信先IPアドレス送信先ポート番号の情報がある。
パソコンがサーバと通信する場合は、(1)自分のIPアドレスを送信元IPアドレス、(2)その時に使われていないポート番号をランダムに選び、送信元ポート番号とする。(3)通信相手のIPアドレスと、(4)通信先のサービスのポート番号をセットして、パケットを送付する。サーバは、サービスを要求してきたクライアントの送信先ポート番号をみて、対応するサーバのプログラムが動作する。プログラムの結果を送り返す時は、送信元と送信先のIPアドレス、ポート番号を入替えてパケットを送信する。

1024未満のポート番号(ウェルノウンポート番号)は、サービスを受けとるために用途が決められているので、通常の通信プログラムでは使われない。これ以外のポート番号は、通信の送信元のポート番号として使われ、エフェメラルポート番号と呼ばれる。

 

ファイアウォール

ネットワークのサービスの中には、組織外に見せたくないものも多い。また、インターネットでは、悪意のあるプログラマが通信して攻撃を加えてくるかもしれない。基本的には個々のサーバのプログラムで、送信元のプログラムのIPアドレスを見て接続を拒否することもできるが、末端のサーバで設定がいい加減だと攻撃をうけてしまうかもしれない。そこで、組織全体でネットワークを守る必要がでてくる。そこでルータなどの機能で、パケットの送信相手のポート番号や、送信元のIPアドレスをみて、パケットを廃棄する場合がある。こういう、ネットワークからの攻撃を防ぐ装置は、ファイアウォール(防火壁)と呼ばれる。

データベースサーバの保護するためにファイアウォールを設置する例を示す。Webサービスを提供するためのデータベースだけど、インターネットから接続されると情報漏洩が発生するかもしれない。そこでデータベースサーバ(mysql)に接続するための3306ポートは、ファイアウォール(ルータ)で組織外からは接続させない。

許可リスト方式と拒否リスト方式

ファイアウォールの設定では、信頼できる人だけを接続させる許可リスト方式と、怪しい人を除外する拒否リスト方式がある。

許可リスト方式は、接続していい相手のIPアドレスや、ポート番号だけをFireWallを通過させる方式。以前はホワイトリスト方式と呼ぶことが多かった。これとは逆に、攻撃をしてきそうな怪しいIPアドレスや、怪しいポート番号のパケットを捨てて接続させない方式は拒否リスト方式とよぶ。以前はブラックリスト方式と呼ぶことが多かった。学校のサーバは、学内への攻撃を防ぐため、ポート番号については http, https など以外の受信は許可リスト方式となっている。

メールが届くまで

電子メールは、非常に迅速にメッセージを相手に届けることができ、そのメッセージを蓄積・加工・編集・転送できる。また、音声や画像といった情報も、複雑な文字情報に置き換えることで、転送できるようになっている。

メールは、利用者のコンピュータに直接届けられるわけではなく、多くの場合はメールを蓄積するメールサーバに送られる。利用者がメールを読む場合、メールサーバから自分の端末に蓄積されたメッセージを読み込み、メッセージを確認する。このメールのやり取りにおいて、メールを送る時、あるいはメールサーバ間でメールを中継するときには、SMTP(Simple Mail Transfer Protocol) が用いられる。一方、メールサーバからメール
を読み出すときには、POP(Post Office Protocol)IMAP(Internet Message Access Protocol) と呼ばれるプロトコルが用いられる。最近では、IMAPを使ったメールの読み書きをブラウザの中で実行できる WebMail が使われることが増えている。

メールが届くまでの流れは、aさんが”foo@bar.jp“に送る場合、

  1. aさんは、自分の組織のメールサーバに、SMTPでメールを送る。
  2. メールサーバは、メールアドレスのコンピュータ名部分”bar.jp“をDNSに問合せ、そのIPアドレスを調べ、そのコンピュータにSMTPでメールを送る。
  3. bar.jp“のメールサーバは、メールアドレスのユーザ名”foo“を取り出し、各ユーザ毎にメールを保存する。

  4. “foo”さんは、自分宛のメールを確認するために、POPまたはIMAPで自分のメールサーバ”bar.jp”に接続し、ユーザ名,パスワードで認証して自分宛のメールを受け取る。

上記の手順2で、相手のメールサーバに直接送れない場合は、コンピュータ名のMXレコードをDNSに問合せを行い、そこで得られたメールサーバに中継を依頼する。

$ nslookup -query=MX fukui-nct.ac.jp.
Non-authoritative answer:
fukui-nct.ac.jp mail exchanger = 10 fukuinct-ac-jp01c.mail.protection.outlook.com.jp

上記手順4で自分のメールを読みだす際のプロトコルで、POPは一般的に、メールサーバから自分のメール閲覧ソフトに自分宛のメールをダウンロードして削除する。このため、様々なコンピュータでメールを読む人には不便となってきた。IMAPでは、メールを読んでも、既読の目印をつけサーバに残しておく方式であり、別のコンピュータでメールを閲覧したい時にもサーバ上のメールを読むことができる。メールをフォルダに分類して保存することもできる。最近利用される Webメール では、自分が利用しているメールサーバまでは Web の機能で接続し、Webサーバとメールサーバにて IMAP を使う。

通常、SMTPでメールを送る際には、ユーザ認証が行われない。このため、ウィルスに感染したプログラムから迷惑メール(spam)を出すことに利用されることが多い。そこで、SMTP送信の前にPOP/IMAP接続しユーザ認証を行った時だけメールを送ることができる、POP before SMTP(or IMAP before SMTP)といった方式をとる場合も多い。

POP, IMAP, SMTPでは、暗号化されない平文が使われることから、通信内容を暗号化して通信する POPS, IMAPS, SMTPS といったプロトコルも使用される。

理解度確認

緊急連絡システムでrblsmtpd

メモ:緊急連絡システムで、迷惑メールが届いている。変なリレーはされていないけど、エラーメールが配送できずに溜まってる。

設定を改めて確認して、迷惑メール対策が弱いのでブラックリストなメールサーバからの受信をしないように、rblsmtpd を導入。rblsmtpdの設定は、以前の運用経験からすぐに設定できるかと思ったけど qmail が systemd 用に設定ファイルが変わっているので、修正場所を探すのに手間取った。

メールヘッダとspam

メールヘッダ

メールを出すときには、宛先やタイトルや本文などの情報がついている。

From: foo@bar.jp      送信元のメールアドレス
To:   hoge@piyo.jp    送り先のメールアドレス
Cc:   hogehoge@bar.jp 送信内容を確認してもらうためのコピーの送り先
Bcc:  hogefuga@bar.jp 送信相手にコピーしたことが見えないように送る時
Subject: 会議の議事録  メールのタイトル
Date: 2019年 1月 9日 12:34:56 メールを送った時間
本文
-- 
署名

送信相手に届くメールでは、上記以外にも様々な情報がつけられる。これらの情報を見ると、迷惑メールか確認することもある程度可能となる。

Received: from 送信元 by 受信サーバ
Reply-To: 返信する際の送り先
Return-Path: 送信に失敗した時に送り返す先
DKIM-Signature: メールサーバの公開鍵署名
Received-SPF: 送信元のDNS情報など

spam

メールでは、送信時に送信者の認証をしないので、送信元の名前を偽ってメールを送ることが簡単にできる。このため、広告目的、ウィルス感染目的にメールがよく使われる。こういったメールは、一般的に spam と呼ばれる。

イギリスのコメディグループ・モンティパイソンが、コントの中で、しつこくspam,spam,spam,spam….と、騒ぐ様からspamと呼ばれるようになった。大文字のSPAMと書かないこと。(ランチョンミートの缶詰)

なぜspamが届くのか?

たぶん、メールを利用していると、誰でも spam が送られてきた体験があるはず。でも、自分のメールアドレスがどうやって、送信元に知られてしまったのだろうか?

インターネットで企業などでメールアドレスを記入して、そこから情報が漏れたのだろうか?実際、企業がクラッキングに会い、情報漏えいの場合もあるが、一般的には、“aaa”さん、”aab”さん、”aac”さんといったように、文字列の組み合わせを順次組み合わせてユーザ名を作って送っているだけである。当然、このような方法では、宛先不明のメールが発生するが、迷惑メールの送信業者はそんなことは気にしない。ただし、大量の迷惑メールを送ると、インターネットの接続業者に目をつけられてアカウント停止となるため、ウィルスに感染させたパソコンを遠隔操作してspamメールを送るのが一般的である。このため、以下のことはしないこと。

  • 迷惑メールの送信元に抗議メールを送らない。(From欄にメールアドレスを勝手に使われる場合がある)
  • “I Love You”とか”くじに当選しました”といったメールはその時点で怪しい。
  • 怪しいメールを開封しない。(ウィルスなどが添付されている場合がある。)
  • メールの中のリンクをクリックするのは危険。(有名企業名を偽って怪しいサイトに誘導される可能性)

システム

最新の投稿(電子情報)

アーカイブ

カテゴリー