パスワード認証をやめて、公開鍵認証へ切り替える。

■クライアント用にPoderosaで鍵の作成

1. Poderosaの「ツール」→「SSH鍵作成ウィザード」

2. 任意の「パスフレーズ」を入力して、「次へ」

3. マウスを動かして、「次へ」

4. 「秘密鍵を名前をつけて保存」

5. 「OpenSSH形式で公開鍵を名前をつけて保存」

6. 「完了」

■作成した公開鍵をサーバへアップロード

※scpやFTP over SSLを利用すること!!


■サーバ側の設定

# mkdir /home/xxx/.ssh

# chmod 0700 /home/xxx/.ssh

# mv アップロードした公開鍵 /home/xxx/.ssh/authorized_keys

# chmod 0600 /home/xxx/.ssh/authorized_keys

# vi /etc/ssh/sshd_config

-----------------------------------------------------------
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

PermitEmptyPasswords no
ChallengeResponseAuthentication no
PermitRootLogin no
-----------------------------------------------------------




vsftpdは使ったことないので、慣れているproftpdをインストール。

vsftpdをアンインストール。

# yum remove vsftpd

proftpdをインストール

# yum install proftpd

# vi /etc/proftpd.conf


------------------------------------------------------------------------------
ServerType inetd

DefaultRoot ~ !wheel

# 30秒待たされないための設定
IdentLookups off
UseReverseDNS off
#

User nobody
Group nobody

TransferLog /var/log/proftpd/xferlog
SystemLog /var/log/proftpd/proftpd.log

LogFormat allinfo "%t : %u (%a [%h]) : [%s], %T, %m (%f)"
LogFormat write "%t : %u : %F (%a)"
LogFormat read "%t : %u : %F (%a)"
LogFormat auth "%t : %u (%a [%h])"

ExtendedLog /var/log/proftpd/all.log ALL allinfo
ExtendedLog /var/log/proftpd/write.log WRITE write
ExtendedLog /var/log/proftpd/read.log READ read
ExtendedLog /var/log/proftpd/auth.log AUTH auth

TimeoutIdle 300 #アイドル状態で接続を維持する秒数
TimeoutNoTransfer 300 #データ転送がない状態で、接続を維持する秒数
TimeoutStalled 600 #止まった状態で、接続を維持する秒数

DeleteAbortedStores on #転送失敗したデータを自動削除

MaxClientsPerHost 2 #ホストあたりのクライアント数の上限
MaxHostsPerUser 2 #ユーザあたりのホスト数の上限



TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23

# Are clients required to use FTP over TLS when talking to this server?
TLSRequired on # "on"にすると、TLS以外の接続を受け付けない

# Server's certificate
TLSRSACertificateFile /path/to/xxx.crt
TLSRSACertificateKeyFile /path/to/xxx.key

# Authenticate clients that want to use FTP over TLS?
TLSVerifyClient off

------------------------------------------------------------------------------

■ xinetdの設定

# vi /etc/xinet.d/xproftpd

------------------------------------------------------------------------------
service ftp
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/proftpd
server_args = -c /etc/proftpd.conf
log_on_success += DURATION HOST
log_on_failure += HOST USERID
nice = 10
cps = 20 30
# 毎秒20接続以上は許可しない。上限に達した場合は30秒休憩。
env = TZ=JST-9
# ログが9時間前になるのを防ぐ。

}
------------------------------------------------------------------------------
※ "log_on_success"に"USERID"を加えると、劇的に接続が遅くなる模様。詳細は不明。


■ hosts.allowの設定

# vi /etc/hosts.allow

------------------------------------------------------------------------------
proftpd: xxx.xxx.xxx.xxxx : allow
------------------------------------------------------------------------------
PHPなどの最新バージョンが入手可能なリポジトリ Remi ESPELを追加する。

■remiのダウンロード
# wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
# rpm -Uvh remi-release-5.rpm


■プライオリティの設定

# vi /etc/yum.repos.d/remi.repo

--------------
[remi]
priority=0
enabled=0
--------------

chkrootkitをインストールしたが、Rootkit Hunterのほうが良さげなので乗り換え。

■インストール

# yum -y install rkhunter


■チェック前に、必ずアップデートを

# rkhunter --update


■チェック実行

# rkhunter -c --createlogfile --skip-keypress

※"--skip-keypress"を入れないと、実行途中で「Enter」キーを押せと言われてしまう。



■cronに登録

○シェルスクリプト作成

# vi /root/rkhunter.sh

-------------------------------------------------------------------------------
#!/bin/sh

/usr/bin/rkhunter -c --skip-keypress --cronjob |\
mail -s "[Rootkit Hunter] `hostname` `date +%Y-%m-%d`" root
-------------------------------------------------------------------------------
実行結果をメールで送信

# crontab -e

------------------------------------------------
48 3 * * * /root/rkhunter.sh > /dev/null 2>&1
------------------------------------------------

==================================================================================
○追記

Warning: Application 'named', version '9.3.6', is out of date, and possibly a security risk.
Warning: Application 'sshd', version '4.3p2', is out of date, and possibly a security risk.

なんて、警告されてしまう。

"named"と"sshd"は、CeontOSの標準を利用しているので、信頼済みリストして
"rkhunter.conf"に記述。

# vi /etc/rkhunter.conf

---------------------------------------------
ATTRWHITELIST="named:9.3.6 sshd:4.3p2"
---------------------------------------------






hostnameをexample.comに変更

# hostname example.com

再起動後も反映されるように。

# vi /etc/sysconfig/network

------------------------
HOSTNAME=example.com
------------------------