2011年8月11日木曜日

SSHサーバーの構築

踏み台用SSHサーバーを作る
例によって,ScientificLinuxです.
I.構成
イメージとしては,
SSHサーバーに,su可能なユーザー(house-gate)を一人追加し,そいつにログインする.

LAN内のマシンは全て公開鍵認証だが,house-gateには鍵を持たせない.

LAN内のマシンにアクセスするには,ポート転送を行う必用がある.

SSHのデフォルトのポートを変更する.

一定回数アクセスに失敗すると,/etc/hosts.denyに追加され,アクセス不可になる.

SSH意外のLAN外からのアクセスは全て遮断.


と言ったところだろうか.
II.実行
1.ユーザの追加.
いつもどおり,useraddコマンドとpasswdコマンドで.今回は特に設定を変更しない.
ただし,このユーザにログインする方法も公開鍵認証限定とするので,クライアント候補のマシンは鍵の交換を行う必要がある.

2.SSHDの設定変更
Port Port番号

Protocol 2

PermitRootLogin no

RSAAuthentication yes
PubketAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

PasswordAuthentication no
PermitEmptyPasswords no

AllowGroups wheel


iptables_setting.sh
#!/bin/bash

service iptables stop

iptables -F

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp-type echo-request -j ACCEPT

iptables -A INPUT -p tcp --dport PORT -j ACCEPT

iptables -A INPUT -p tcp --syn -j DROP

service iptables save

service iptables start

この状態でアクセスが可能なことを確認.
III.セキュリティ
次に,ログイン失敗回数制限の設定
1.リポジトリの追加
/etc/yum.repos.d/sl-riken.repo

[riken]
name=Scientific Linux $releasever - $basearch
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el6/en/$basearch/dag
gpgcheck=1
enabled=0
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt

# yum -y install rpmforge-release
# yum -y install epel-release
# yum -y install atrpms-repo

2.パッケージの追加
#yum -y install python python-devel
#yum -y install deneyhosts

3.設定の変更
#vi /etc/denyhosts.conf
PURGE_DENY =   
#拒否する時間.空欄なので,永久に拒否.
DENY_THRESHOLD_INVALID = 1
#存在しないユーザへのログイン拒否するまでの回数.1回で拒否.
DENY_THRESHOLD_VALID = 3
#存在するユーザへのログイン拒否するまでの回数.3回で拒否.
DENY_THERSHOLD_ROOT = 1
#ROOTログインを拒否するまでの回数.1回で拒否.

4.デーモンの起動
/etc/rc.d/init.d/denyhosts start
chkconfig denyhosts on



0 件のコメント:

コメントを投稿