江戸前高級魚 男の料理レシピ 飲み過ぎ注意 本日も晴天なり 横浜散歩道
あみ〜ごのblog 問い合わせ
  Solaris de サーバ構築
Linux de サーバ構築
 


  ♠ SolarisやLinuxをベースとしたネットワークサーバの構築記録を書き留めています。
  ♠ ハードウエア選定やOSインストール、IP設定などの基礎事項は省略しています。
  ♠ OSによって多少の相違点がありますので、各システム環境に合わせた調整が必要となります。
  ♠ GNUのgccやgunzipなどの各種ツールは、事前に用意(インストール)していることを前提としています。
  ♠ インストールに際しては各ドキュメント(READMEやINSTALL.txtなど)を通して理解することが最優先です。


▼OS▼ ▼Software▼ ▼構築するサーバプロジェクトのテーマ▼ ▼備考▼
22 Linux Ubuntu12 bind9 Linux + bind9によるDNSサーバ脆弱性対策
21 Linux RHEL6 Linux + bondingによるネットワーク冗長化
20 Linux CentOS6 apache2 Linux + apache2によるHTTPSサーバ構築
19 Linux Ubuntu14 WordPress Linux + WordpressによるBlogサーバ構築
18 Linux CentOS6 qmail Linux + qmailによるメールサーバ構築
17 Linux CentOS6 openssh Linux + sshdによるSSHサーバ構築
16 Linux CentOS6 proftpd Linux + ProftpdによるFTPサーバ構築
15 Linux Ubuntu12 bind9 Linux + bind9によるDNSサーバ構築
 
14 Solaris10 perl ASP版・行動予定表(e-ホワイトボード)
13 Solaris9 OpenSSL httpsセキュア・サーバ構築(自己認証)
12 Solaris9 OpenSSH OpenSSHによるSSHサーバ構築
11 Solaris10 Solaris10 Solaris10のシステム構築とセットアップ
10 Solaris10 MovableType MovableTypeによるBlogサーバ構築
9 Solaris10 html 初心者のためのHTML入門
8 Solaris9 qmail qmailによるPOP before SMTPの導入
7 Solaris2.6 外部からの不用な侵入を防止する
6 Solaris2.6 samba ファイルサーバの構築(NFS & SAMBA)
5 Solaris2.2 pppd pppdによるダイヤルアップサーバの構築
4 Solaris9 tcp_wrappers tcp_wrappersによるアクセス制御
3 Solaris9 apache apacheによるWebサーバ構築
2 Solaris2.6 sendmail sendmailとCFでメールサーバの基本設定
1 Solaris9 bind9 bind9によるDNSサーバの設定


◆ 外部からの不用な侵入を防ぐ ◆−システムファイルの設定で最低限の対応−
 
外部からのアクセス制御で最も容易いのはtcp_wrappersですが、制御の原則は ssh です。
しかしここでは、できるだけ用意な設定でアクセス制御を行うため、tcp_wrappers を基本に
これ以外のシステムファイルの設定などで接続制御を行う。

rootでのloginを制御"/etc/ttytab"
提供サービスの限定"/etc/inetd.conf"
ftp接続可能ユーザの指定"/etc/ftpusers"
ログインシェルの無効化"/etc/passwd"
外部侵入制御の基本

.
rootでのloginを制御
 
ネットワーク(telnet)を経由した外部からのrootでのloginを拒否するように設定する。
rootでのloginを許可するのは"コンソールに限定"とするのが当たり前の設定である。
基本は、一般ユーザでloginの後にsu rootでrootにスイッチする。
 
(Solarisでの対応)
# vi /etc/default/login			← "CONSOLE= "の行をconsoleのみ
# cat /etc/default/login | grep CONSOLE
CONSOLE=/dev/console

(Linuxでの対応)
# vi /etc/security				← "console"以外の"tty*"の記述を削除
# cat /etc/securityconsole
.
提供サービスの限定
 
TCPデーモンによる、不要なサービスは起動させないようにする。rshやrloginなど
ネットワークに接続しているシステムで好ましくないサービスは提供しない。
また、セキュリティホールになりやすいデーモンやサービスも停止する。
 
(記述の一例)
% cat /etc/inetd.conf | grep tcpd
ftp	stream  tcp     nowait  root    /usr/etc/tcpd	in.ftpd
telnet	stream  tcp     nowait  root    /usr/etc/tcpd	in.telnetd
#pop3	stream  tcp     nowait  root    /usr/etc/tcpd	in.pop3d		← コメントアウト
#shell	stream  tcp     nowait  root    /usr/etc/tcpd	in.rshd		← コメントアウト
#login	stream  tcp     nowait  root    /usr/etc/tcpd	in.rlogind	← コメントアウト
#finger	stream  tcp     nowait  nobody  /usr/etc/tcpd	in.fingerd	← コメントアウト
%

(Solaris10の一例)
# svcs -a | grep ftp
online         Sep_18   svc:/network/ftp:default
# svcadm disable ftp
#
.
ftp接続可能ユーザの指定
 
anonymousでのftpを許可しないシステムでは、不要なユーザからのftpを拒否する。
/etc/ftpusers ファイルに
"ftpさせない"ユーザを記述する。
"システム運営上必要な特定ユーザ"以外はすべて記述(拒否)するのが基本。
# cat /etc/ftpusers
root
nobody
daemon
bin
uucp
news
user1
user2
・・・・・・
・・・・・・
.
ログインシェルの無効化
 
外部からのアクセスに制限を持たせるため、不要なユーザのログインシェルを無効にする。
すなわち、/etc/passwdに無効な(存在しない)シェルを記述し、ログインを不可にする。
# cat /etc/passwd | grep user
user1:x:101:1001::/home/users/user1:/bin/abc-sh
user2:x:102:1001::/home/users/user2:/bin/hoge-sh
user3:x:103:1001::/home/users/user3:/bin/falseuser1, user2, user3, user4 のユーザは、telnetやftpは利用できない。
   この設定でPOPやSMTPは利用できるので、メールサーバでも一般ユーザに    
   対しては正規のログインシェルを与えなくても問題はない。
   PPPサーバも同様に無効のログインシェルでPPPの接続確立は可能。
.
外部侵入制御の基本
 
(1) リモート操作の必要性やリモートメンテナンスなどの側面などから、
"扱い易い(便利の良い)システム"="セキュリティの甘いシステム" となる。
従って、"不便で扱い難いシステム"="セキュリティが確保されているシステム" と言える。
(2) /etc/passwd から不要なユーザ(guestやdemoなど)は削除する。
(3) /etc/passwd に記述されたユーザには必ずパスワードを付与する。
(4) telnetやftpなどの必要のないユーザには、その権限を与えないように制限する。
(5) rootによるログイン(ftp,telnetなど)は、(consoleも含めて)原則として必要ない。
メンテナンス用ユーザでログインの後に、"su root"により特権モードを持つようにする。
グループwheel(またはroot)への安易なユーザ追加は行わない。
wheelグループに記述されているユーザ名は、メールアドレスに使用しない。
(6) rootのパスワードは一定期間で必ず変更する。
(7) 早期に外部アクセスルールの基本を"sshのみ"に移行する。
 
※以上で外部侵入に対する制御の概要設定は終了です。

目次に戻る



WEB行動予定表 無料トライアル - スマホで社員のスケジュール管理
広告  www.linux55.com/
スマホやPCで社員・スタッフの行動予定を一元管理。クラウド対応のWEBホワイトボード