カテゴリ: セキュリティ
記事投稿日: 2021年2月4日
表題の件についての問い合わせに対応したので、需要があるかなと思い、ブログ用にまとめてみます。
・神戸市のセキュリティチェック表?みたいなもの
https://www.city.kobe.lg.jp/information/press/2018/02/20180202142001-06.pdf
↓
項番21に「発信元IPアドレスの制限はかけているか」とありますね。
結論から言いますと、「.ftpaccess」を使うことで IP 制限(固定 IP の登録)を行い、この要件を満たすことができます。
.ftpaccess とは何か、固定 IP や動的 IP の違い、また制限をかけることの意味について、できるだけ詳しく解説いたします。
意図としては、企業が(請負なり、受注なりで)作業する際には、
きちんと利用者情報が特定できる 固定 IP アドレスを使って作業して、
固定 IPを持っていない不確定ユーザ(動的 IP アドレス)にはアクセスさせないで、
ということになります。
割り振られた IP アドレスを変更せず(固定して)使えるように設定した IP アドレスです。
個人開発者や中小企業でも、固定 IP アドレスを取得して、
限られた場所からのアクセスのみ、更新作業を有効にする、という制限(設定)はセキュリティ的に大変有効なものです。
デメリットとしては、固定 IP アドレスを使うには、通常は有償となることがあげられます。
年間1~2万円が相場でしょうか。
※ モバイルで使う SIM カードでも固定 IP が使えるプランがあります。
プロバイダ契約をする際に固定 IP をすすめられて、既に取得済みというケースがありますので
固定 IP アドレスを新規に申し込む前には、契約内容を確認すると良いでしょう(特に企業の場合)。
予算が許すのであれば、自分の固定 IP 以外からは接続不可! とすることでセキュアな環境で更新作業を行えます。
よく無料 Wifi では時間制限があります。
利用できる時間を過ぎると、使っていた IP アドレスは無効となり、
新しく接続し直す(有効な IP アドレスが発行され、割り振られる)とまた使えるようになります。
家庭で使っているプロバイダの回線も、動的 IP アドレスです。
不定期で(1~2週間程度)で新しいアドレスに変わります。
このように、一定期間が過ぎると新しいアドレスが割り振られるものは「動的 IP アドレス」と呼ばれます。
サイトの運営者がレンタルサーバだったり、WordPress の自動インストールだったりを利用していると
サイトを編集するのは FTP ソフトと呼ばれるものを使っていて、それで充分なことがほとんどです。
そのため、知らない人の方が多いと思いますが、サーバへの「接続方法」は FTP 以外にもあります。
窓口である「ポート番号」がそれぞれ異なっている、といえば分かりやすいでしょう。
(以下は、デフォルトのポート番号です)。
・Web サーバは 80
・FTP は 20, 21
・SSH は 22
Web サーバはユーザの「リクエスト」を受け取って、必要な「レスポンス」を返します。
Web サーバに攻撃をかけてくる IP アドレスをアクセスログなどで特定し、
その IP アドレスのアクセスを禁止する、ということが出来ます。
この設定は、Apache 、という Web サーバなら「.htaccess」というテキストファイルで設定が出来ます。
サーバのファイルの更新作業は、
FTP だけでなく SSH (のポート)で接続して、
サーバに内蔵されている vi というエディタで編集することも可能です。
また、SSH 接続で FTP の使いやすい画面を使うのが「SFTP」と呼ばれるものです
(そのため SFTP もデフォルトのポート番号は 22)。
先程、Web サーバの Apache は「.htaccess」ファイルで設定する、と述べましたが、
同じように、FTP の設定は「.ftpaccess」ファイルと呼ばれるテキストファイルで行います。
設定の流れとしては、まずすべてのアクセスを禁止し、
その後、許可する IP アドレスや、ホスト名を設定します。
こうすることで、FTP 接続できるのは自分で設定した IP アドレスだけになります。
固定 IP は便利なものですが、コストがかかる分、導入しづらいこともあります。
動的 IP で制限をかけることも出来ないことではないのですが、その場合は「SSH 接続」が必要です。
IP アドレスが変更になったらすぐに SSH 接続ができる状態にしておき(SSH を有効化しておき)、
SSH か、SFTP 接続で「.ftpaccess」で許可している IP アドレスを更新する、という管理方法になります。
更新作業が発生し、FTP ソフトで接続しようとして、
許可している IP アドレスが変更されて使えないと分かったら…
SSH で接続し、「.ftpaccess」の設定を書き直すという流れです…。
これを非常に面倒と見るか、コスト削減のため…と割り切ることができるかはケースバイケースだと思います。
FTP 接続のようにアカウント/パスワード方式の認証方式とは異なり、
「公開鍵」と「暗号鍵」が必要となる接続方法です
(鍵は使用する PC で作成します)。
通信自体が鍵を使って暗号化されており、
鍵を持っていなければ復号化することは出来ません。
仕組みはちょっと複雑ですが、
利用するサーバ側に「公開鍵」を預ける(登録)する必要があります。
SFTP は SSH で接続するので、
いっそのこと、FTP 接続をすべて不可とし、
更新作業を SFTP で行えば、固定 IP アドレスを設定する以上にセキュアになります。
ただサーバによっては、SSH 接続そのものができなかったり、
契約するプランを引き上げないと使えないというケースがあります。
どうしてこのような制限が必要なのか、冒頭の問いに戻りますが、
過去に Gumbler と呼ばれる攻撃方法で、サイトを改竄されたり、消去されるという事件が多発しました。
原因は、暗号化されていない FTP 接続が原因でした。
現在はセキュアな FTP 接続(FTPS や SFTP)が主流となっていますが、
過去の Gumbler 事件の際は、
著名な FTP クライアントソフト(フリーソフト)が
テキストデータをそのまま通信に使っていたため、被害が拡大しました。
このソフトは、少し時間がかかりましたが、現在ではセキュアな通信にも対応しています。
Gumbler 事件は企業側の責任もあったと思われます。
安易にコストをかけない方向に走った結果、多くの被害を生み、
中には運営しているサイトがウイルスを配信したり、迷惑メールの配信元となったのです。
そのため、現在では FTPS もしくは SFTP を使って接続することが必須事項となっています。
※ 前者は SSL を使い、後者は SSH を使っての接続となります。
固定 IP アドレスでの制限を行う、というのはコストがかかることではあるのですが
接続を自分だけに限定できる、強力なセキュリティ対策になります。
ただ…リモートワークで自宅から作業をする場合は導入が難しくなるのは確かです。
接続方法を限定し、暗号化するのが目的であれば、
SSH 接続(SFTP)が最適解といえます(サーバが対応していれば、ですが)。
セキュリティチェックは大切ですが、意図する目的を満たすためには
各担当者が協力して、検討を重ねて柔軟に対応する姿勢も大事なことではないかと思います。
コメントを残す