踏み台用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 件のコメント:
コメントを投稿