やりたい事とか ・RAID ・LPIC-201 ・自転車を買う(買っちゃった~) ・サイト作成

2009年7月14日火曜日

linuxのセキュリティ設定

CentOS5.3のセキュリティ設定:GUI使用・desktopを想定。

こちらを参考に進めていきます。
->http://www.atmarkit.co.jp/flinux/rensai/security01/security01a.html

当然だけど、一般ユーザ作っていますよね?
不必要にスーパユーザで操作しないように。。。。
#すべてスーパユーザで操作していた時代があった。
#つい最近まで...

下記の操作はスーパユーザでないと操作できないので、スーパユーザで操作すること。

1.不要なソフトを入れない
→アプリケーション→ソフトウェアの追加と削除
→不要なアプリケーションのチェックボックスを外す
今なにが入っているかというと
GNOME デスクトップ環境
Office/生産性
Web サーバー
X Window System
Yum Utilities
グラフィカルインターネット
サーバー設定ツール
システムツール
ダイヤルアップネットワークサポート
ネットワークサーバー
印刷サポート
管理ツール

実際に選択していれたのは、このふたつなんだけどなぁ・・・
・GNOMEデスクトップ環境
・グラフィカルインターネット

→GUI環境じゃない場合
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/678yumgroup.html


2.パッケージを最新にする
→端末を開いて
→yum upgrade


3.不要なサービスの停止
chkconfigでサービスの起動を管理する
chkconfig --listでサービスが見れます。
気にすべきは3と5.
3…CUI環境で起動
5…GUI環境で起動

サービスの起動させるかどうかは、下記のサイトをみて決めてね。
きめ細かい説明に感謝。
http://kajuhome.com/service_list.shtml
http://www.obenri.com/_minset_cent5/daemon_cent5.html

NetworkManager →無線有線自動切り替え。停止。
acpid →電源のONOFFの監視など電源管理を行う。サーバの場合停止
anacron →システムが停止していた時に実行できなかったタスクの自動実行を行う。停止。
apmd →省電力設定・電源管理・ノートのバッテリー制御。停止。
atd →コマンドの遅延実行の有効化。停止
auditd →システムコール監査デーモン(SELinuxを使用する場合は必要)。停止。(SElinuxは無効にしているので…。あとでどうにかします。)
autofs →ファイルシステムの自動マウント/アンマウント。稼働
avahi-daemon →mDNSを通してネームレゾリューションを提供するデーモン。mDNSとはDNSが存在しないような小さなネットワークで,マルチキャストを使用して名前を発見するプロトコル。停止。
avahi-dnsconfd →mDNS/DNS-SD構成デーモンのユニキャストDNSサーバ。停止。
bluetooth →ワイヤレス通信。停止。
capi →ISDNの規格のサポート。停止。
conman →コンソールマネージャ。多数のコンソールを利用するときに制御を行うデーモン。今回は稼働。
cpuspeed →システムのアイドル率に応じてCPUの周波数を上下させる。Speedstep関連。対応CPUでないといけない。ノート向け。稼働。
crond →稼働。
cups →印刷。停止。
dnsmasq →DHCP D-BUSデーモン(アプリ間でメッセージを送信するシステム)。小規模LANに最適なhostsベースなDNSサーバがDnsmasq。停止。
dund →BlueZ Bluetooth dial-up networking daemon。停止。
firstboot →初期システム設定のユーティリティ(インストールの初回設定が終了したら不要)。停止。
gpm →コンソール用のマウスサーバ。停止。
haldaemon →ハードウェア情報収集サービス。稼働。
hidd →Bluetooth HID daemon。停止。
hplip →HPプリンターと多機能周辺装置用のドライバー。稼働
httpd →停止。
ibmasm →IBM Advanced System Management Drivers。停止。
ip6tables →停止。
iptables →稼働。
irda →赤外線通信。停止。
irqbalance →マルチCPU環境でセカンドCPU以降も割り込み処理を行える。シングルコアには不要。稼働。
isdn →ISDN回線の使用。稼働
kudzu →ハードウェア検出ツール。稼働
lvm2-monitor →LinuxOSに柔軟なディスク管理とバックアップのための有用な仕組みを与える 論理ボリュームマネージャー(LVM) 利用時の障害監視のためのデーモン。停止。
mcstrans →SELinuxの運用をサポート。停止。
mdmonitor →RAID監視サービス。停止。
mdmpd →RAID監視サービス。停止。
messagebus →アプリケーション間でメッセージを行う。稼働。
microcode_ctl → Intel IA32 プロセッサのマイクロコードユーティリティ。稼働。
multipathd →ハードディスクなどの状態を把握し、バックアップや再構築などに利用する "DeviceMapper" とよばれるカーネルの機能を管理するデーモン。稼働?。
netconsole →CentOS5のカーネルが不具合を起こしたとき、ネットワーク接続されたほかのホスト機にダンプ(メインメモリ上のデータ)を保存するためのデーモン。停止。
netfs →ネットワークファイルシステムのマウントサービス。停止。
netplugd →ネットワークケーブルのホットプラグ管理デーモン。DHCPサーバーなどの動的にノードを管理しているサブネット内で、ネットワークの接続や切断をスムーズに行うためのデーモンです。稼働。
network →稼働。
nfs →UNIX同士でファイル共有。停止。
nfslock →nfsでファイルロックを行うサービス。停止。
nscd →ネームキャッシュサービス。ユーザー認証や 名前解決 などの、「名前に関するデータ」をキャッシュするデーモン。停止。
ntpd →時刻同期。稼働。
oddjobd →A D-BUS service which runs odd jobs on behalf of client applicationsD-BUSデーモン(アプリ間でメッセージを送信するシステム)を使用しなければ不要。停止。
pand →BlueZ Bluetooth PAN daemon。停止。
pcscd →PC/SC Smart Card Daemon 停止。
portmap →RPCを使用したプログラムを有効にする場合有効。停止。
psacct →プロセス負荷状況の統計情報出力サービス(プロセスの負荷状況の情報取得の必要がないならば不要)。稼働
rdisc →ネットワークルータディスカバリツール。停止。
readahead_early →前もってページキャッシュを読み込む(システム起動時やアプリ起動時に必要なプログラムを予め読み込んで置き、起動をスムーズに行う)。稼働。
readahead_later →ランレベル5でページキャッシュ内のファイルを前もって読みだす。稼働。
restorecond →ファイルやパスに対して適切なラベルを付与するデーモン(SELinux関連)。停止。
rpcgssd →ネットワークファイルシステムのデーモン。。停止
rpcidmapd →ネットワークファイルシステムのデーモン。停止
rpcsvcgssd →ネットワークファイルシステムのデーモン。停止
saslauthd →sasl認証デーモン。停止
sendmail →。停止
smartd →HDD障害予測サービス。稼働
sshd →稼働
syslog →稼働
vncserver →リモート接続で他のホストから X-Window での操作を可能にする vnc-server のデーモン。停止
wdaemon →ワコム社製のタブレットを自動認識させるためのデーモン。停止
winbind →samba でWindowsOSのファイル共有を行う際に、CentOS5のホスト機をNTドメイン(インターネットで使用される ドメイン名 とは全く異なる、WidnowsOS独自のネットワークユーザー管理システムです。)に参加させるためのデーモン。停止
wpa_supplicant →WPAとWPA2をサポート。停止
xfs →X-Window上で文字を表示するためのフォントサーバーデーモン。稼働
ypbind →NISドメインのサーバを探し接続、NIS情報を保持する。停止
yum-updatesd →yum自動アップデートサービス。稼働

大サービス停止大会
[root@localhost init.d]# chkconfig NetworkManager off
[root@localhost init.d]# chkconfig anacron off
[root@localhost init.d]# chkconfig apmd off
[root@localhost init.d]# chkconfig atd off
[root@localhost init.d]# chkconfig auditd off
[root@localhost init.d]# chkconfig avahi-daemon off
[root@localhost init.d]# chkconfig avahi-dnsconfd off
[root@localhost init.d]# chkconfig bluetooth off
[root@localhost init.d]# chkconfig capi off
[root@localhost init.d]# chkconfig cups off
[root@localhost init.d]# chkconfig dnsmasq off
[root@localhost init.d]# chkconfig dund off
[root@localhost init.d]# chkconfig firstboot off
[root@localhost init.d]# chkconfig gpm off
[root@localhost init.d]# chkconfig hidd off
[root@localhost init.d]# chkconfig ibmasm off
[root@localhost init.d]# chkconfig ip6tables off
[root@localhost init.d]# chkconfig irda off
[root@localhost init.d]# chkconfig isdn off
[root@localhost init.d]# chkconfig lvm2-monitor off
[root@localhost init.d]# chkconfig mcstrans off
[root@localhost init.d]# chkconfig mdmonitor off
[root@localhost init.d]# chkconfig mdmpd off
[root@localhost init.d]# chkconfig netconsole off
[root@localhost init.d]# chkconfig netfs off
[root@localhost init.d]# chkconfig nfs off
[root@localhost init.d]# chkconfig nfslock off
[root@localhost init.d]# chkconfig nscd off
[root@localhost init.d]# chkconfig oddjobd off
[root@localhost init.d]# chkconfig pand off
[root@localhost init.d]# chkconfig pcscd off
[root@localhost init.d]# chkconfig portmap off
[root@localhost init.d]# chkconfig rdisc off
[root@localhost init.d]# chkconfig readahead_early off
[root@localhost init.d]# chkconfig readahead_later off
[root@localhost init.d]# chkconfig restorecond off
[root@localhost init.d]# chkconfig rpcgssd off
[root@localhost init.d]# chkconfig rpcidmapd off
[root@localhost init.d]# chkconfig rpcsvcgssd off
[root@localhost init.d]# chkconfig saslauthd off
[root@localhost init.d]# chkconfig sendmail off
[root@localhost init.d]# chkconfig vncserver off
[root@localhost init.d]# chkconfig wdaemon off
[root@localhost init.d]# chkconfig winbind off
[root@localhost init.d]# chkconfig wpa_supplicant off
[root@localhost init.d]# chkconfig ypbind off


4.スーパユーザになれる人を制限。
今はsuでパスワードを入力するだけでだれでもスーパユーザになれてしまう。
これを防ぐためにスーパユーザになれる人を一部の人にしておこうというわけです。
その一部の人はwheelグループ に入れてしまいます。
wheelグループについて
http://itpro.nikkeibp.co.jp/word/page/10005502/

ではではその設定。
vi /etc/login.def
下記の一行を追加
SU_WHEEL_ONLY yes

次は
vi /etc/group
下記の行を変更
wheel:x:10:root,user
userの部分はsuできるユーザ

次は
vi /etc/pam.d/su
下記の一行を追加
auth required /lib/security/pam_wheel.so use_uid group=wheel

これでおk





5.rootアカウントでリモートログイン不可
一般ユーザでリモートログインしてからスーパユーザになったほうが、セキュリティが強化されるので、そうしましょう。

vi /etc/ssh/sshd_config
#PermitRootLogin yes

PermitRootLogin no

このあとsshdを再起動。
service sshd restart



6.不要なサービスの接続拒否設定。
こうすることで、rsh・rexec・rloginのサービスを立ち上げていても、接続拒否できるらしい。
rsh…http://www.linux.or.jp/JM/html/netkit/man1/rsh.1.html
rexec…http://www.linux.or.jp/JM/html/netkit/man1/rexec.1.html
rlogin…http://www.linux.or.jp/JM/html/netkit/man1/rlogin.1.html

mv rsh .rsh
mv rexec .rexec
mv rlogin .rlogin


7.ファイアウォールの設定
今回はサクッとGUIで。
OSインストールした最初の起動時にFWの設定は聞かれたはずです。
ですので、今回設定しなきゃって人はいないとは思いますが…

GUI
システム→管理→セキュリティレベルとファイアウォールの設定

まずはファイアウォールの設定を有効にして。
あとは信頼するサービスをチェックするだけ。
もはや説明不要ですね。
標準であれば、sshのみで問題ないでしょう。

0 件のコメント:

コメントを投稿

フォロワー