かずばんBBS
今までのBBS、Spamが多いので新しくしてみました。
特に話題は特定していません、お気軽に投稿してください
5軸の話題はこちらで・・
・サーバーの設定する際、ノートの画面やキーボードは小さいし
メインのPCや外部からも操作できた方が便利なので
ssh でリモートコントロールできるようにします
セキュリティを考慮して、公開鍵認証の方式を使うことにする
これは、。「公開鍵」と「秘密鍵」を用意して、
「秘密鍵」を許可するPC(クライアント)に保管、
「公開鍵」はサーバーのユーザーディレクトリの .ssh ディレクトリに保管、
この二つがペアになって初めてログインが可能になる
したがって、「秘密鍵」を持っているPCからしかアクセスできない
この鍵は、サーバー側、クライアント側どちらで作成してもよいがセキュリティ的には
ペア鍵はクライアント側で作成し、「公開鍵」をサーバーに転送して
保管するほうがいいようだ
・鍵を作成
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
秘密キーのファイル名・・・このファイル名で良ければリターン
Enter file in which to save the key (/home/hogehoge/.ssh/id_rsa):
適当なパスフレーズ入力
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
秘密鍵と公開鍵、ペアーができあがる
Your identification has been saved in /home/hogehoge/.ssh/id_rsa.
Your public key has been saved in /home/hogehoge/.ssh/id_rsa.pub.
The key fingerprint is:
90:ed:b1:12:fb:ea:46:5s:17:03:fw:6e:d1:fs:a7:ub hogehoge@hogeban.com
The key's randomart image is:
+--[ RSA 2048]----+
| .... |
| .Eo+ + |
| o++++o |
+-----------------+
・サーバー側で鍵を作成した場合には、「秘密鍵」をクライアント側に転送
・クライアント側で鍵を作成した場合には、公開鍵をサーバー側に転送
・公開鍵は、サーバー側ログインユーザ−の ./.ssh/authorized ファイルに追加
$ cat id_rsa.pub >> $HOME/.ssh/authorized_keys
・いずれのファイルも、パーミッションを変更しておいたほうがいいよねきっと・・
$ chmod 600 $HOME/.ssh/id_rsa
$ chmod 600 $HOME/.ssh/authorized_keys
・Windowsマシンから、サーバーにアクセス
やっぱりいつも使っている、メインのWindowsマシンでもアクセスしたい
私は、Tera Term を使っています。下記からダウンロード
http://sourceforge.jp/projects/ttssh2/releases/
ZIP形式の方なら、展開して、ttermpro.exe を実行すれば簡単に動きます
添付の画像で、「 HOST: 」に接続先を設定し「SSH」を選ぶと
画像下の認証の画面になります
「User name:」「Passphrase:」に鍵を作った時のユーザーとパスフレーズを入力
「Use RSA」を選択して、「Private Key fike:」に保管した「秘密鍵」を指定
これで、サーバーにログインできるまずです
・ところが・・・
サーバーのTcp-Wrapperやファイヤーウォールによっては接続できない
・つづく・・・
:添付ファイル
[削除されました]
:添付ファイル
[削除されました]
<Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB7.3; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CL...@aa2006021391d2c49af2.userreverse.dion.ne.jp>
インストール時にファイヤーウォールを有効にしていて
SSHを許可していない場合、許可しないと、SSH接続できない
GNOME環境では、
システム → システム環境 → セキュリティレベルとファイヤーウォールの設定
で、rootバスワードで認証すれば設定画面にアクセスできる
画像の「信頼できるサービス」でSSHにチェックをいれる
ちなみに、ここで設定した場合のSSHのポート番号はデフォルトの22番でポートである
後に、あまりにもアタックが激しいため、私は違う番号にしたが
その場合には、SSHのチェックを外し、その他のポートの追加で
適当なポート番号を追加する
<Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)@192.168.0.1>
ファイヤウォールを設定しても、SSHでアクセスできない場合があります
おっと忘れてた、まずはSSHデーモンが動いているかを確認してください
sudo /etc/init.d/sshd status
openssh-daemon (pid 1133) を実行中...
こうなっていれば動いているので、次の確認へ・・
もし動いていなかったら、起動させます
sudo /etc/init.d/sshd start
これでも、アクセスできない場合、TCP Wrapper の設定を確認します
sshは xinetd 経由でも起動できるように設定できるようですが
ここを見ると、xinetd はEメールができないようなので、私はTCP Wrapperで設定することにします
http://www.express.nec.co.jp/linux/distributions/knowledge/network/xinetd.html
TCP Wrapperは、/etc/hosts.allow と /etc/hosts.deny で制限をかけます
1./etc/hosts.allow の設定で許可するサービスとホストを決定
2.上で許可されたホストを除き、/etc/hosts.deny で拒否されているホストを拒否
3.両方に記述がないホストは許可
となりますから、まず、、/etc/hosts.deny にはすべてを拒否に設定します
/etc/hosts.deny
ALL:ALL : spawn (/bin/mail -s "Atack%d-%h" root) &
私はこのように設定しています。
ALL:ALL で全ての サービス:ホスト を拒否
さらに、アクセスがあったサービス名(%d)とアドレス(%h)を付加した件名のメールをroot へ送信
この設定で、下記のアタックが判明しました
http://www.kazuban.com/bbs/KazubanBBS2/KazubanBBS.cgi?cmd=one;no=71;id=#71
それで、SSH、デフォルトのポート22番はやめて、適当なポート番号へ変更しています
/etc/hosts.allowは、自宅内(ローカル)は全て許可とし
一部のアドレスのみ許可としました。
ただし、その場合でもEメール通知はおこなう設定にしています
これにより、外部からもサーバーへアクセスできるようになりました
/etc/hosts.allow
ALL : 127.0.0.1
ALL : 192.168.1.0/255.255.255.0
sshd : 110.123.456.240/255.255.255.248 : spawn (/bin/mail -s "allow-%d-%h" root) &
<Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)@192.168.0.1>
|
かずばん
- 12/6/24(日) 11:36 -
|
私の環境では、すでにインストールされていました
調べるには、rpm -qa と grep を使って
$ rpm -qa | grep apache
apache2-2.2.22-1vl6.i686
インストールされていない場合には、synaptic でやれば
簡単に追加できますね
ちょっと設定ファイル、/etc/apache2/conf/apache2.conf を編集して
8080番ポートで確認してみます
編集といっても、2行だけ
適当なエディタを起動して、設定ファイルを開きます
私は、viエディタをいつも使っています
$ sudo vi /etc/apache2/conf/apache2.conf
Listen 8080
ServerName www.kazuban.com:8080
の2行変更して起動
$ sudo /etc/init.d/apache2 start
これで、サーバーアドレスにアクセスすると何かしら、ページが表示されるはずです
サーバー自身からアクセスするとOKでしたがほかのPCからではNGでした。
あれ〜
そっか、ファイヤーウォールか?!
下記と同様に、その他のポートに8080を追加すると他のPCからも見えるようになりました
http://www.kazuban.com/bbs/KazubanBBS2/KazubanBBS.cgi?cmd=one;no=84;id=#84
次は、外部(インターネット側)からもアクセスできるようにします
ルータのNAT→ポート転送に8080番を追加します
http://www.kazuban.com/bbs/KazubanBBS2/KazubanBBS.cgi?cmd=ntr;tree=48;id=#52
これで、外部からも ttp://www.kazuban.com:8080 でアクセスできるようになりました
この :8080 がポート番号で、通常は :80 ですが普通は省略されています
ただし、自分のプロバイダがグローバルIPを提供してくれていなければいけません
私の場合は、YahooBBですが、グローバルのアドレスを提供してくれています
また、www.kazuban.comのように、ドメインでアクセスするには、独自ドメインを取得してDNSの設定が必要です
私は無料の、www.mydns.jp/ を使わせていただいています
独自ドメインを取得しなくても、
ttp://ddo.jp/
のように無料でドメインを提供してくれるサイトもありますのでそちらを利用する方法もあります
また、たとえば、http://123.123.123.5 のように、IPアドレスであれば、その必要はありません
いずれにして、外部からアクセスするには、
・apache で使用するポート番号を設定する(通常は80番)
・apache が動いているPCのファイやウォールでそのポートを許可する
・ルーターでapacheで設定したポートをapacheが動いているPCのIPアドレスへポート転送する
これらの設定が必要です
これで、外部から自宅のIPアドレスの設定したポート番号へアクセスすれば
ルータがそのポート番号を、設定してある自宅内のPCへ転送して
それを、apache が受け取り、そのアドレスへhttpコマンド を返します
IEなどのインターネット閲覧ソフトは帰ってきたhttpコマンドを解釈して
ホームページとして表示するという仕組みですね
さらに、IPアドレスでのアクセスは覚えにくいので、DNSサーバーにお願いしてIPドレスをドメインを変換してもらうよう設定しておけばドメインでのアクセスも可能になるということです
<Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; ...@192.168.0.1>