コンピュータの成り立ちとか、基礎とか理解できればこれから先どんなことをやるにしても理解が早いのではないかと思い勉強を始めました。
キタミ式イラストIT塾 基本情報技術者で勉強させていただいております。
まとめます!
何故セキュリティが必要か
そもそも何故必要か。
ネットワークが世界中につながっていることで遠く離れた人とも簡単に繋がれますよね。
なんか当たり前なんですけどすごいですよね。
どこでもドアみたいなものですもんね。
でも世界中の人と繋がる道があることで悪意のある人もその道から侵入してしまい様々な悪さをします。
なりすましをしてデータを盗み見たり、改ざんしたり。
それを詐欺に使われたり個人情報を名簿として売られて営業に使われたり。
悪い人がいなければいんですけどね、悪い人がいるからこそそれを防ぐために技術が発展したりしてて複雑ですね。
前職のドコモショップではスマホに知らず知らずにアプリが入っていてデータを取られていたりなんてわりと日常茶飯事でしたね。
ITリテラシーが比較的低い方ばかりだったのもありますけど。
一番怖いなって思ったのは画面の操作をできなくして「元に戻して欲しければお金を振り込め」っていう警告文が出るランサムウェアですかね。
実際に見たんですけど、その人別に変なアプリ入れたとか変なサイトにアクセスしたとかじゃなかったので、いつどんなウィルスが入るか分からないなって思いました。
私は心配性&スーパーネガティブなのでセキュリティソフトを入れて安心しています。
お客様で無料のセキュリティソフトを名乗ったウィルスアプリ入れて広告で埋め尽くされて操作できないスマホを持ってきた人もいるので信頼できるソフトを使いましょう。
Qiita見る人にこんな情報は当たり前過ぎましたね。
ユーザー認証とアクセス管理
ユーザー認証の種類は以下のような方法があります。
名前 | 方法 |
---|---|
ID・PW認証 | IDとPWの組み合わせで個人を識別する。一番ポピュラーだが漏れると意味がない。 |
生体認証 | 指紋や虹彩などの身体的特徴を使って識別する。覚える必要がなく管理が楽。 |
ワンタイムパスワード | 一度限り有効の使い捨てのパスワードを発行し識別する。漏れても安心。 |
コールバック | 一旦回線を切り、サーバ側から再発信することでアクセス権を確認する。 |
アクセス権
ファイルやディレクトリに対して、読み取りや修正や削除などの権利をユーザーごとに指定することです。
例えば、ある人は読み取りも書き換えもできるけど、ある人は読み取りしかできないみたいに。
よく使うのはLinuxコマンドでls -l
と入力すると出てくるdrwxr-xr-x
こういうのですよね。
アクセス権というものが無いとよく分からない人が大事なデータを消してしまったり、悪意のある人が書き換えしてしまったりが起こるわけですね。
ファイアウォール
防火扉ですね。言葉の通り。
そのネットワークとLANとの間に置き、不正なアクセスを防ぐ役割をしています。
種類として以下のようなものがあります。
パケットフィルタリング
ルールに当てはまらないパケットは通さないというものです。
そのルールとはIPアドレスやポート番号などです。
例えばポート80番は許可するけどポート110番は許可しないとかって決めるんですね。
アプリケーションゲートウェイ
LANと外のインターネットなどに置いて、外部とのやりとりを代行して行ってくれるというものです。
中のLANからはこのアプリケーションゲートウェイしか見えないし、外からもここしか見えないので中のLANが不正にアクセスされることを防ぎます。
ペネトレーションテスト
実際にファイアーウォールに攻撃をしてみて脆弱性のテストをすることです。
定期的に行うことが望ましいと考えられています。
暗号化技術
SSH認証などで使う鍵認証
について。
私は公開鍵と秘密鍵が必要でそれは外部に漏らしてはいけない
くらいの認識しかなく、仕組みとかはよく分かっていませんでした。
そもそも大事な鍵なのに公開鍵
っていう名前もよく分からないし、秘密鍵
っていうか鍵は全部秘密であるべきじゃないの?という気持ちでした。
公開鍵と秘密鍵はセットで意味をなす
公開鍵で暗号化をし、秘密鍵で複合化(暗号を解くこと)をします。
例えば、AさんがBさんにデータを送るとします。
AさんはBさんの公開鍵を使って暗号化し、Bさんは自分の秘密鍵を使って複合化する。
Bさんは自分の公開鍵をAさんに教える必要があるので公開鍵と呼ぶんですね。
つまり暗号化は誰でもできるけど、複合化はBさんしかできないので途中で誰かに盗み見られたりしない
ということです。
逆もまた然りで、秘密鍵を使って暗号化したらペアの公開鍵でしか複合化できないという仕組みを使って改ざんを防ぐ
こともできます。
例えばAさんは自分の秘密鍵で暗号化してBさんにデータを送ったとします。
それをBさんはAさんの公開鍵で複合化します。
Aさん以外は暗号化することができない&Bさんが初めて複合化したので、つまりBさんにデータが渡るまで誰もデータを変更したりしていないという証明になります。
仕組みが分かるとエラー解決なんかにも役立ちますね。
私はAWSのEC2で鍵認証ではまったことがありますが、その時にこの仕組みを知っていればもっと早く解決できたかもと思います。