プラグイン集

無料ブログはココログ
2021年10月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

サンプルJS

  • ユーロバカ一代の締切
    ・・・初期化中・・・

« 第5回マインクラフトサーバーを構築する(NTP&セキュリティ編) | トップページ | 第7回マインクラフトサーバーを構築する(ファイアウォール(暫定)編) »

2014年3月14日 (金)

第6回マインクラフトサーバーを構築する(セキュアシェル(SSH)編)

注意事項は第1回へ。
前回は第5回へ。

外部サイトのパワーで、セキュリティ周りがだいぶ終わって来ました。

ーーーーーーやること一覧ーーーーーー

  • セキュリティで最低限やること一覧

1.Yumは確実にアップデートする
2.iptablesで確実に不要なポートをふさぐ
3.SSHのパスワード認証を切る→RSA認証
3.1.rootログインさせない
3.2.ポートを変える
3.3.しつこい奴はDenyHost
3.4.そもそも、SSH可能なユーザーを絞る
3.5.同時SSH可能な数を絞る
4.rootになれるユーザーを絞る
5.ウイルス対策ソフト
6.ファイル改ざん検知
7.rootkit検知
8.不要なサービス停止

9.攻撃検知・防御・排除(バッファーオーバーフローとかDOSとか)
10.ログ監視と調査
11.鯖情報の非表示(Apachやphpのレスポンスを返さないように設定)
12.ApachのSSL化
13.ポートスキャンを遮断
14.DDNSサーバーへの変更通知
15.バックアップ

  • サーバーの設定と起動

1.NTPサーバー
2.マインクラフトサーバー
3.(SQLサーバー)
4.webサーバー
5.webサーバーのSSL化
6.SNMP+MRTG
7.(アクセス解析サーバー)
8.メールサーバー(送信)
9.メールサーバー(受信)
10.メーリングリストサーバー

赤字は作業終了を示す。

ーーーーーーここからが作業ーーーーーー

1.SSH
やっとこさ、リモート接続環境の整備です。
windowsのSSHクライアントは、なす探!で紹介されてる、Poderosa
昔使ってた、Tera Term
軽量なのに高機能(特に鍵生成ツール群が) puTTY
この辺が3強らしい。
私個人、はCygwinインストールしてるので、直接sshコマンド叩いちゃうけどね。
これが、リモートでサーバーにつなぐためのツール。もちろんCUI。

マインクラフト参加者や、サーバーに負荷かけても大丈夫と言う人なら、
VNCやTeamViewerが使える。
作業画面そのまま飛ばせて便利、だけど通信回線の負荷とサーバー負荷が高いよ。

TeamViewer使うなら、SSHの設定作業不要。数字覚えて外出すればいい。
数字変わると困る人のために、VNC同様に、パスワード方式もできる。
ついでにファイルの転送出来るのもおいしいよ。

SSHクライアント使う場合は、ファイル転送のために、WinSCP も導入する。
FFFTPライクの操作性だから、FFFTP 使える人なら迷わないんじゃないかな。
(FTPは暗号化されないから、危ないけどscpは暗号化されるから、少しは安心。)
Cygwinで逝くぜって人は、もちろんscp・sftpコマンドでOKさ!(゚∀゚)人(゚∀゚)ナカーマ

長々と書いたけど、接続しに行くクライアントがLinuxなら、ソフト不要。
sshとscpのパッケージ無かったら入れといて。sloginでもいい。

サーバー側の設定
/etc/ssh/sshd_config を編集。ssh_configは、クライアント側の設定。ssh_configいじるなら、エージェントとX11有功にする位?ポートは-p自分で打つし・・・。書いといてバレるとか悲しいからな。historyからバレそうな気がするが・・・。
サーバーの設定に戻る。

・3.1.rootログインさせない
PermitRootLogin no 頭の#消して、文末のyesをnoに書き換える。

・3.2.ポートを変える
Port 22 の頭の#消して、数字を1024以上を指定する。1024未満は、指定されてるから使えない。変えたら、SELinuxと/etc/servicesの変更を忘れないこと。繋がらない。
ポート変えると攻撃が減るらしいので、少々の手間をかけてもSSHのポートは変えた方がいいと思う。
ポートスキャンすれば分かるのだが、前回portsentry入れたおかげで、検知・対策が可能。

・3.4.そもそも、SSH可能なユーザーを絞る
AllowUsers nyaruko nozomi を書き足す。
これで、ニャル子と希のSSHでのログインが許可され、その他ユーザーは拒否される。

・3.5.同時SSH可能な数を絞る
MaxStartups 5:50:10 を書き換える。
端末100コネクション張るとかしないわけなので、5コネクション越えたら、半分拒否。
10コネクション越えたら、全拒否の設定をする。
X Window Systemのおかげで、端末たくさん同時に見られると言っても、
4端末越えると、効率駄々下がりなので、5個で止める設定にしている。全部同時に見てるって訳じゃないし、screenコマンドで、バックに送ればいい話しだし。

・3.SSHのパスワード認証を切る→RSA認証
いじる項目多いから、後回しにした。
Protocol 2 #プロトコルを安全性の高い2のみにする。
RSAAuthentication no #ssh_version1のRSA
PubkeyAuthentication yes #ssh_version2のRSA。Version2のRSAだけ有効にする。
PermitEmptyPasswords no #空パスを許可しない。
PasswordAuthentication no #パスワード認証を使用しない。(RSAキーのみに絞る)
ChallengeResponseAuthentication no #チャレンジレスポンス認証を使用しない。
UsePAM no #PAMを使用しない。

とりあえず、この設定でsshd再起動。(service sshd restart)
エラー吐いたら、何とかする。
3.3のDenyHostは、正常に通信できるか確認してから、あれこれ試していると、自分が、拒否リスト入りする。

ー鍵を作る。
RSAキーを作らないとログインできません。
ssh-keygen -t rsa
保存場所そのままEnter。パスフレーズを2回打つと作られる。
cd ~/.ssh/ でディレクトリ移動して、cat id_rsa.pub >> authorized_keys
sshが参照する鍵ファイルを作る。パーミッション600(自分のみ読み書き)に設定しないと使えなかった気がする。(他人からファイル見られるとか警告されて終わった気がする。)
id_rsaを遠隔元のPCにコピー。(FDでもUSBでも取られない好きな手段使って。)
その後メディアは破壊。方法は何でもいい。ゴル○ィオンハンマーでも、SLBでも、御坂○琴のビリビリ粉砕でも、宇宙C○Cエンハンサーでも・・・。怪我しないように気をつけてな。
(再利用する場合は、十分注意して使用する。)
1回フォーマットしたくらいじゃ楽勝で読めるからな。せめて完全フォーマット->0フィル->1フィル->ランダムデータ書き込み->0フィル->完全フォーマット位はやっておかないと。

TeraTermは、直接RSAキーを扱えるけど、Poderosaは使った事無いから分からない。
puttyはputtygenにインポートして変換しないと使えない。pubとppk作る必要有り。
cygwinはそのままでOkさ。だってPOSIX。

どのクライアント使おうが、IP・ポート・SSHのバージョン・ユーザー名・パスフレーズが合えば繋がる。
2回線使っている場合(光やADSLとモバイルなど)なら、一方から他方に接続がかけられる。DDNSのドメイン名とIPが正しく関連付けられていてなおかつ、ルーターのNAPT・ポートフォワーディングが正しく設定されていればだけど。
ただ、ファイアウォールを構築していないので、お勧めできない。
LAN内から192.168.x.xで繋ぐことが望ましい。

繋がったら、適当にコマンド打って、suやsudoが使えるかどうかテスト。一通り問題無ければここまではOK。ダメなら設定の見直し。
ダメで面倒臭いなら、サーバー構築止めれ。この程度の原因特定できないのに、サーバー運営されたらネット界が迷惑だ。今やっている操作は、リモート操作の最低限のセキュリティで重要な設定だ。それすら出来ないのに、サーバー運営したらスナイポの皆さんにゾンビ作ってくださいとマシーン提供するような行為だ。

無事に入れたら、DenyHostで仕上げ。
後で、時間当たりに要求できるSSHの量の制限を行うが、この2つを組み合わせる事でわずかにセキュリティを上げられる。総当たり攻撃や辞書にしろトライアル系の効率を落とすことが出来る。(1秒で1千万回トライ出来たのが、10秒で1回のトライしか出来ないなら、アタック効率を1億分の1に落とせる。銀行の数回とは言わないが、それなりの試行回数が来たら永久BANとかが可能になる。)

・3.3.しつこい奴はDenyHost
外部サイト頼り。 
いまさら さくらVPS(CentOS5) を設定をしてみた。denyhosts編
DenyHostsでSSHブルートフォースや辞書攻撃を阻止
CentOS on X40:SSHブルートフォース対策(DenyHosts編)
しきい値の設定と、自ホスト・自ネットワークの設定しておけば良さそう。
DenyHosts効いていても、自分がログイン出来て、先ほどのとおり、コマンドやrootになれれば、リモート環境は出来ました。
次回からの作業をリモートでやるもよし、直接実機叩くのもよし。
私は、通信回線が細いので、直接実機を叩く。


まとめ
リモート操作を可能にするSSHの設定をして、実際にログインして操作が行えることを確認した。
SSHできるユーザーを絞ったり、パスワード認証を止めたり、Denyhostsを導入して、セキュリティを僅かながら高めた。

« 第5回マインクラフトサーバーを構築する(NTP&セキュリティ編) | トップページ | 第7回マインクラフトサーバーを構築する(ファイアウォール(暫定)編) »

Linux」カテゴリの記事

マインクラフト」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

« 第5回マインクラフトサーバーを構築する(NTP&セキュリティ編) | トップページ | 第7回マインクラフトサーバーを構築する(ファイアウォール(暫定)編) »