質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

解決済

4回答

1964閲覧

サーバ管理(データベース)

ryohasegawa

総合スコア437

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

1クリップ

投稿2016/12/29 12:51

データベースやサーバの勉強をしています。
サーバでデータベースを安全に保管するためには、セキュリティーホールをなくすことが必要だと思うんですが、具体的にはどんなことが必要ですか?

わかっている事は、以下です。
・データベース管理者を制限する
・SSHのポート番号をかえる
・データベースのパスワードやメールなどにハッシュをつける

他にこういうことが必要などあれば教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

基本的にサーバで動くシステムは、「できることは可能な限りできるよう(利便性最大)」に動作します。
逆にセキュリティを考える場合は、「やりたい事以外できないよう(機密性最大)」に考えます。

実際のシステムは、要件に従い、上記2点のバランスを取ることで、稼働環境を安全に使いやすく稼働させることを目指します。

その為、要件の定義をきちんとすることが重要となります。

例えば、要件の中に、外部からのsshを許すことが入っていないのであれば、「SSHのポート番号をかえる」ではなく、「sshを許さない」ことがセキュリティ対策になります。

まずは稼働させたいシステムが、どのような要件で稼働するのか整理することから始めるのが良いと思います。

投稿2016/12/29 13:34

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryohasegawa

2016/12/29 14:47

sshアクセスを禁止すると、メンテナンスで遠隔で操作ができませんよね?
退会済みユーザー

退会済みユーザー

2016/12/29 14:56

ただの例です。「メンテナンスでsshを利用する」ということが要件であれば「sshを許可する」ことを前提にセキュリティ対策を検討します。 もう少しsshで例をすすめると「踏み台サーバの制限でsshはデフォルトのポートを使用しなければならない」といった要件が出れば、「sshのポートを変更する」といったセキュリティ対策は取れなくなります。 要件(=やりたいこと)が固まらない限り、セキュリティ対策(やりたいこと以外出来なくする事)はできません。
ryohasegawa

2016/12/29 15:07

なるほど! わかりました。ありがとうございます。
guest

0

ベストアンサー

サーバでデータベースを安全に保管するためには、セキュリティーホールをなくすことが必要だと思うんですが、具体的にはどんなことが必要ですか?

セキュリティホールは、コンピュータソフトウェアの欠陥(バグ、不具合、あるいはシステム上の盲点)の一つで、本来操作できないはずの操作(権限のないユーザが権限を超えた操作を実行するなど)ができてしまったり、見えるべきでない情報が第三者に見えてしまうような不具合のことを言います。

もし、情報処理技術者試験で「セキュリティホールを防ぐための対策として正しいものに◯をつけなさい」という問題で

・データベース管理者を制限する
・SSHのポート番号をかえる
・データベースのパスワードやメールなどにハッシュをつける

という選択肢がでてきたらどれを選んでも不正解だと思います。

また、セキュリティ対策の大原則として、
その対策が防御しようとする脅威の期待値 > 対策のコスト
でなければなりません。ここで、「脅威の期待値」は脅威が起きる確率✕脅威がもたらす損害額です。
ですから、有名な対策をめくらめっぽう施すというのは間違っていて、自分のシステムがどのような脅威にさらされているかを具体的に考え、無駄なコストをかけないよう注意する必要があります。

たとえば、データベース管理者を制限して内部犯に対してアクセス制限するよりも、監査ログを採取して不正アクセスを抑止するほうが効果的な場合もあります。コストを意識しないセキュリティ対策ほどバカげたものはありません。

投稿2016/12/29 14:55

mit0223

総合スコア3401

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryohasegawa

2016/12/29 15:10

コストも重視していかないといけないですね
mit0223

2016/12/29 15:19

といいますか、 ryohasegawa さんは自分が挙げたセキュリティ対策や他の回答者が挙げたセキュリティ対策が具体的にどのような脅威(ex. 外部の悪意のある攻撃者による DDOS 攻撃、ブルートフォースアタック)に対する対策であるかをイメージできてますか?セキュリティ対策を勉強する前に脅威の例(できれば、歴史的にそれらの脅威が企業にもたらした損害額も)を勉強する必要があると思います。 文脈なくセキュリティ対策だけを列挙しようとすることに違和感を感じます。
ryohasegawa

2016/12/29 15:33

少し調べてきます。 最近監視カメラ(lotデバイス)からのDDOSがあったのは知っていますが・・・・
mit0223

2016/12/29 15:36

そうそう、Mirai ね。そういうのを勉強してから、自分のサーバは 23 ポートや 2323 ポートは空いて無いよね?と確認するべきです。
ryohasegawa

2016/12/29 15:42

23 ポートや 2323 ポートがわからないので調べてきますw 80や82ならわかるんですが・・・ やっぱ駄目ですね
mit0223

2016/12/29 15:47

Mirai の場合は、ファイアウォールのログでDROP が出ているのを確認して、自サイトが防御できていることを確認し、それとは別にすでに感染済みのカメラやプリンタがLAN内にあるかもしれないので、内部から外に向かって 23, 2323 ポートに接続しにいっていないかを確認する必要があります。
guest

0

質問者さんが挙げていること以外であればこのようなことがあると思います。
0. バインドメカニズムを使用する、バインドメカニズムが使えないならエスケープ処理をすることを心がける。
0. サーバーとデータベースの通信内容が不正に傍受されないように、通信内容を暗号化する。
0. エラーメッセージをブラウザに表示しない(エラーメッセージにエラーの原因やデータベースの種類が含まれる場合危険)。
0. データベースに格納しておくべき情報か見直す。

投稿2016/12/29 13:16

編集2016/12/29 13:22
s8_chu

総合スコア14731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryohasegawa

2016/12/29 14:53

3.とても勉強になります。 4.たとえばどのようなものですか?
s8_chu

2016/12/29 15:02

必要ではない情報をユーザーに入力させて、それをデータベースに入れておくことは意味のないことですし、それが住所などの重要な情報だった場合、データベースから情報が漏えいしたら大変なことになってしまいますよね?つまり、データベースには必要な情報のみを保存しておいたほうが良いということです。
ryohasegawa

2016/12/29 15:08

なるほどです。 Twitterログインなどを使って、データを所持しないという方法もあると教わりました。
guest

0

セキュリティにも場所により方法があります。
大まかに分けると

・サーバーを置く場所等の「物理的なもの」
・どうしても起こってしまう「人災、人為的ミス」
・外部とのやり取りである「ネットワーク関連」
・ディレクトリの権限が重要となる「ファイルシステム関係」
・CVE等の、ソフトやツール自体のセキュリティホール
等が挙げられます。主なものはネットワークとファイルシステム関係です。

ネットワークの中にも、「不正にサーバーに侵入しようとするもの」「サーバーと別のホストのやり取りを改ざんするもの」「サーバーに負荷をかけてダウンするもの」「データの通信を傍受して内容を盗み出すもの」等、たくさん挙げられます。

ファイルシステムだと、ユーザーの権限の問題やいわゆるchmodで操作するファイル自体の権限の問題があります。
どれも突き詰めればキリがない分野ですが、インターネットで調べてみるとたくさんの情報が見つかると思います。
またわからないところがアレばここで聞くのが吉です。頑張ってくださいね。

投稿2016/12/29 13:24

編集2016/12/29 13:26
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryohasegawa

2016/12/29 14:51

wwwディレクトリは、誰もが閲覧可能にすればいいですが、その他のデータベースや、関数などのphpファイルは表示すら不可能(管理者以外)にするということですよね?
退会済みユーザー

退会済みユーザー

2016/12/30 12:27

おおっと、気づきませんでした。申し訳ないです。すでにベストアンサーは付いているようですが、一応回答します。 「その他のデータベースや、関数などのphpファイルは表示すら不可能(管理者以外)にするということですよね?」 はい。それが一番より良いです。管理者権限ど、その他最低限アクセスが必要なものだけを残してすべて制限するのがいいと思います。 「wwwディレクトリは、誰もが閲覧可能にすればいい」 すこし惜しいです。結論から言うと、 「wwwディレクトリは、webサーバーから見れるようにさえすればあとは見れなくてもいい」と、なります。 なぜなら、サーバーにアクセスしてきた人へページのデータを送信するのはすべてwebサーバーの仕事であり、別に他のユーザーから見なくても、問題はないのです。「ファイルの権限設定」と「webサーバーの権限設定」は別物なのです。webサーバーとして、外からのユーザーには生成されたページを送信できるように、サーバーの中のユーザー(他のソフト)には直データを送信しなくて良いので、そこはブロックするように、と使い分けます。
ryohasegawa

2016/12/30 14:30

Apacheにchmodで権限を与えればよいということですね?
退会済みユーザー

退会済みユーザー

2017/01/05 12:01

はい。「webサーバーのディレクトリは、オーナー以外には見えないようにして、chmod等でapacheをそのオーナーに設定する」のが最善かと思われます。
ryohasegawa

2017/01/05 13:26

有難うございました。
退会済みユーザー

退会済みユーザー

2017/01/15 13:14

(・∀・)いえいえ。こんなものでお役に立てたのならば嬉しく思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問