接続元を制限する
/etc/hosts.allow、/etc/hosts.deny を編集することで簡単に
接続元を制限することができます。
/etc/hosts.allow
# # hosts.allow This file describes the names of the hosts which are # allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # sshd: 192.168.0.
/etc/hosts.deny
# # hosts.deny This file describes the names of the hosts which are # *not* allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # # The portmap line is redundant, but it is left to remind you that # the new secure portmap uses hosts.deny and hosts.allow. In particular # you should know that NFS uses portmap! sshd: ALL
上記は、hosts.deny で全てのホストからログインを拒否し、hosts.allow で192.168.0.xx
からのログインを許可している。
つまり、結果としては192.168.0.xx 以外からのログインは認めないという設定となる。
不要なサービスを停止する
一応外部への公開を考えているので、進入されるリスクを少しでも減らすように
不要なサービスを停止する。公開して後悔しな・・・。
稼動しているサービスを確認する
service --status-all
サービスを停止する
OS起動時にサービスが起動されないように以下のようにして
サービスを停止させる。
# chkconfig telnet off # chkconfig --list telnet telnet 0:オフ 1:オフ 2:オフ 3:オフ 4:オフ 5:オフ 6:オフ
Apacheのインストール
/etc/httpd/conf/httpd.conf の編集
○CGIスクリプトを実行できる様にする
AddHandler cgi-script .cgi
○デフォルトキャラセットを無効にする
AddDefaultCharset Off
○管理者のメールアドレスを設定する
ServerAdmin a@b.c
○サーバ名を設定する
ServerName adarah.adarah.dyndns.org
○エラーメッセージ出力時にフッタを表示しない
ServerSignature Off
○サーバのバージョン情報をヘッダーへ表示しない
ServerTokens ProductOnly
Webサーバを稼動する
# /etc/rc.d/init.d/httpd start
OS起動時にapacheを起動する
# chkconfig --level 3 httpd on # chkconfig --list httpd httpd 0:オフ 1:オフ 2:オフ 3:オン 4:オフ 5:オフ 6:オフ
TomcatをSSL経由でつかう
証明書のキーストアを用意する
現在、TomcatではJKSフォーマット(※1)のキーストアしか扱えない。
※1.Java標準の"Java KeyStore"フォーマットであり、keytoolコマンドラインユーティリティで生成されるフォーマット。
鍵の作成方法
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
Tomcatの設定ファイルを編集する
server.xmlを編集し、SSLコネクタのコメントアウトを外す。
後、keystoreFile属性(※2)とkeystorePass属性(※3)の記述を追加した。
※2.keystoreFile属性はTomcatの実行ユーザのホームディレクトリ上に.keystoreファイルがあれば記述の必要はない。
※3.keystorePass属性はデフォルトのパスワード(changeit)であれば記述の必要はない。
<!-- Define a SSL HTTP/1.1 Connector on port 8443 --> <Connector port="8443" maxHttpHeaderSize="8192" keystoreFile="/home/griffin/.keystore" keystorePass="tomcat" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />
SSL経由でアクセスする
以下のURLのようにアクセスするとSSL経由でTomcatのトップページが出てくるはず。
https://192.168.0.2:8443/
【参考文献】
The Apache Tomcat 5.5 Servlet/JSP Container - SSL Configuration HOW-TO
CVSをSSH経由で使う
CVSをSSH経由で使うように設定した際の覚書。
①SSHプロトコルのバージョンはバージョン2を使用。
(Eclipse3.0からSSH2接続のプラグインが標準で搭載されている。)
②秘密鍵はOpenSSH形式である必要がある。
(puttyで鍵を作った場合はOpenSSH形式へ変換する。)
③eclipseの設定
ウィンドウ-設定-チーム-CVS-SSH2接続メソッドから、
SSH2ホームと秘密鍵の格納先を指定。
■SSH2ホーム
C:\Documents and Settings\ユーザ名\.ssh\
■秘密鍵
C:\Documents and Settings\ユーザ名\.ssh\id_rsa
※.試しに別のディレクトリへ鍵を置いてみたのだが、
認証エラーになってしまった。。
鍵の場所なんて絶対パスで指定しているのに何故だろう。。。
④リポジトリー・ロケーションの登録
「CVSリポジトリー・エクスプローラー」のパースペクティブを開く。
リポジトリー・ロケーションを登録する。
接続タイプは「extssh」を選択する。
パスワードはあとでパスフレーズを入力するので不要。
サーバエンコードで、サーバで使用されるエンコードを指定する。
(しないとコミット・コメントが文字化けする。)