Ubuntuでは、OpenSSLをインストールしただけでは、CA証明書はインストールされない。
CA証明書のインストールは
$ sudo aptitude install ca-certificates
Ubuntuでは、OpenSSLをインストールしただけでは、CA証明書はインストールされない。
CA証明書のインストールは
$ sudo aptitude install ca-certificates
あらかじめ用意されているテスト用の仮の鍵と証明書をバックアップする。
# cd /etc/pki/tls # mv private/localhost.key private/localhost.key.bk # mv certs/localhost.crt certs/localhost.crt.bk
サーバ鍵を作成する。
# openssl genrsa -out private/test.key 2048
これでパスフレーズなしのサーバ鍵が作成される。
テスト用に自己証明書を作成。
# openssl req -new -x509 -days 3650 -sha256 -key /etc/pki/tls/private/test.key -out /etc/pki/tls/certs/test.crt You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [GB]:JP State or Province Name (full name) [Berkshire]:Tokyo Locality Name (eg, city) [Newbury]:Chiyoda-ku Organization Name (eg, company) [My Company Ltd]:Pistolfly Co., Ltd. Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []:test.pistolfly.jp Email Address []:webmaster@pistolfly.jp # apachectl restart
あとは、/etc/httpd/conf.d/ssl.confにバーチャルホストを設定して、
・サーバ鍵と証明書のパス
・その他バーチャルホストの設定
を行う。
携帯サイトのUserAgent偽装対策:CodeZine
各キャリアの中継サーバのIPアドレス帯域をチェックする。
設定の確認
iptables -L
設定の削除
iptables -F
設定の保存
service iptables save
設定例
iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -j ACCEPT iptables -A INPUT -p tcp --dport 53 -j ACCEPT iptables -A INPUT -p tcp --sport 53 -j ACCEPT iptables -A INPUT -p udp --dport 53 -j ACCEPT iptables -A INPUT -p udp --sport 53 -j ACCEPT iptables -A INPUT -p tcp --dport 21 -j ACCEPT iptables -A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT iptables -A INPUT -p tcp --dport 25 -j ACCEPT iptables -A INPUT -p tcp --dport 110 -j ACCEPT iptables -A INPUT -p tcp --dport 143 -j ACCEPT iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT iptables -A INPUT -j REJECT iptables -A FORWARD -j REJECT
固有IDのシンプル・シナリオ
固有IDのシンプル・シナリオ
$ ssh-keygen -t rsa
秘密鍵の保存先を聞いてくるので、デフォルトのままEnter。
パスフレーズを2回入力。
すると、以下の鍵ペアのファイルが ~/.ssh/ に作成される。
ユーザのホームディレクトリに1.で作成した公開鍵を転送する。(FTPで転送してもよい。)
$ scp ~/.ssh/id_rsa.pub user@host:
サーバ側で、catコマンドとリダイレクションを使って転送した公開鍵を登録する。(登録するファイルは ~/.ssh/authorized_keys)
$ cat id_rsa.pub >> ~/.ssh/authorized_keys
「~/.ssh」ディレクトリと「~/.ssh/authorized_keys」はオーナーだけに読み書き可能なようにパーミッションを設定する。
$ chmod 700 ~/.ssh $ chmod 600 ~/.ssh/authorized_keys
$ ssh -l user host
パスフレーズを聞いてくるので、ssh-keygenコマンドで指定したパスフレーズを入力する。
(接続先サーバのパスワードではないことに注意)
id_rsa ファイルをクライアント側にコピーする。
例:
ユーザのホームディレクトリ\.ssh
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0640 for '/Users/xxx/.ssh/id_rsa' are too open. It is recommended that your private key files are NOT accessible by others. This private key will be ignored. bad permissions: ignore key: /Users/xxx/.ssh/id_rsa Permission denied (publickey,gssapi-with-mic).
id_rsaを600にすればOK。
rsyncしてパスフレーズの入力を促されたところ
C:\sfprojects\reserve>symfony sync production >> exec rsync --progress --dry-run -azC...s.net:/usr/local/share/reserve/ Enter passphrase for key '/cygdrive/c/Documents and Settings/pistolfly/.ssh/id_r sa':
/etc/ssh/sshd_config (サーバ側) を編集する。
PasswordAuthentication yes
を
PasswordAuthentication no
にする。
rootのログインも禁止しておく。
PermitRootLogin no
root権限でsshdをreloadする。(rootでログインしたままで)
$ /etc/init.d/sshd reload
参考:
FedoraCore5ビギナーズバイブル11-2-2
最終回 セキュアなSSHサーバーを構築する:ITpro
リモート接続に SSH を使う
@IT:鍵交換方式のsshでアクセスするには