SSHは便利だけど・・・

直接入力するのも大変ですので、SSHを入れましょう。
Tera Termでログインすれば、貼り付けなどで作業効率もグッと上がります。
CentOS5.3にはSSHサーバーは最初からインストールされていますので、早速設定を始めましょう。
# vi /etc/ssh/sshd_config
標準ポートは22番ですが、限られた人が使う場合はセキュリティの観点から変更しましょう。
#Port 22
Port 10022
ログインしたときのバナーを作成します。威嚇程度にしかなりませんが・・・
#Banner /some/path
Banner /etc/ssh/banner.txt
SSHはバナーは設定ファイル内ではなく、別ファイルに記述します。
設定ファイルの最後にログインできるユーザーを記述しましょう。IPアドレスを固定できるのであれば、rootもアリですね。
AllowUsers root
設定ファイルを保存して、ログイン時に表示するバナーを作成します。
# touch /etc/ssh/banner.txt
# vi /etc/ssh/banner.txt
Welcome! SSH Service. This login is recorded in the log.
設定後にデーモンの再起動します。
# service sshd restart
ポートを変更した場合は再接続します、
それではTCPWrappersを次に設定します。CentOSには最初からインストールされています。この機能ではデーモン毎に利用する環境を制限したり、付属してアクションを指定することができます。
http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/ja/security-guide/ch-server.html
注意するのは再起動は不要ということ!
保存と同時に設定が適用されるので、注意して最後の保存はボタンを押してくださいね。
許可ファイルにIPアドレスと許可された場合にログに記録するアクションを記述します。
# vi /etc/hosts.allow
sshd : 127.0.0.1 192.168.0. : banners /etc/banners/
記述は、(デーモン名):許可するIPアドレス:許可された場合のアクション、という順となります。
ネットワーク範囲でIPアドレスを指定する場合は、
192.168.0. (最後に「.」を忘れずに!)
または、
192.168.0.0/255.255.255.0
と記述します。
よくある 192.168.0.0/24 はエラーになるので使えません。
拒否ファイルにIPアドレスと拒否された場合にログに記録するアクションを記述します。
# vi /etc/hosts.deny
sshd : ALL : spawn /bin/echo `LANG=C /bin/date` from %h>> /var/log/sshd_reject.log
記述は、(デーモン名):拒否するIPアドレス:拒否された場合のアクション、という順となります。
上記の例では拒否されたIPアドレスをログに記録しています。
あ!そうそう接続ポートを変更する場合は、SSHの設定前にファイアウォールを停止させてくださいね。
# service iptables stop
外部から接続している場合は何もできなくなってしまいますよ!

SELinuxは・・・・どうする?

SELinuxはどうしていますか?
これって設定難しくないですか?まともに設定しているサイト見たことありません。
ということで、他でセキュリティ対策を考えることにして、今回は「無効」にします。
とりあえず、起動中のSELinuxを無効するコマンドです。
# setenforce 0
それでは、状態を確認してみましょう。
# getenforce
Permissive
これだけだと、再起動したときに復活してしまいますので、再起動時のデフォルト状態を変更しておきましょう。
# vi /etc/selinux/config
デフォルトの有効状態は以下に記載されています。
SELINUX=enforcing
今後設定が必要になったときのための情報を採取する人はこちら。エラーログは出力してくれます。
SELINUX=permissive
全く無効としてしまう人はこちら。
SELINUX=disable
ちなみに、SELinuxの「enforcing(permissive)」←→「disable」の切り替えはホストの再起動が必要です。

CentOSをインストールしよう

最近ずっとLinuxサーバーを構築していました。以前からメールサーバーはLinuxを使用していたけど、Webサーバーやら、DNSサーバーやら、果ては最近のセキュリティ対策も追加してみたりと悪戦苦闘の日々でした。
ちょっと自信作になったので、今後のためにも備忘録!
まずはOSインストールから始めましょう。
使用したのは、「CentOS5.3」。Redhat社の有償版「Red Hat Enterprise Linux 5」から有償ライセンスを外したフリー版です。皆さんもご存知ですよね。
http://www.centos.org/
サイトからダウンロードします。構築している間に「CentOS5.4」がリリースされてしまいました。
インストールの前に、今回のインストール方針は以下の2つ。
1.パッケージインストール(yum)を基本とする。Linuxは依存関係の管理が非常に面倒なので、ソースインストールすると後の管理や更新が難しくなります。
2.無駄なサービスは起動しない。
セキュリティ対策としてはよく言われていることですが、未だに標準インストールで進める人が多いですから、これでは踏み台になるサーバーは減りませんね。
インストールは方針2により、最小インストールです。
カスタマイズによりほとんどのチェックを外してしまいましょう。最後に残るは「言語」-「日本語のサポート」のみです。本当にこれだけです!それでも1Gくらいはインストールされますね。
インストール手順の中で注意する点は1点。
「タイムゾーンの選択」で「システムクロックで UTC を使用」のチェックを必ず外すようにします。そのまま進んでしまうと時計がやけに狂うのです。
もしそのまま進んでしまったのなら、以下のコマンドで修正しましょう。
# vi /etc/sysconfig/clock

ZONE=”Asia/Tokyo”
UTC=false       →ここを「true」から「false」に変更
ARC=false