やりたい事とか ・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のみで問題ないでしょう。

2009年7月12日日曜日

upgrade

CentOSをyum upgradeしたら
起動が早くなった。




今までが激オソだっただけなんだけどな。

2009年7月11日土曜日

UbuntuでUSBにgrubをinstall

CentOSではうまくいきましたが…


さっそく挑戦です。

fdsik /dev/sdb1

/dev/sdb1 を開けません




Ubuntuはsudo付けて~




$ sudo fdisk /dev/sdb1
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
Building a new DOS disklabel with disk identifier 0x31eb4d59.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります


コマンド (m でヘルプ): p

ディスク /dev/sdb1: 128 MB, 128434176 バイト
ヘッド 4, セクタ 62, シリンダ 1011
Units = シリンダ数 of 248 * 512 = 126976 バイト
Disk identifier: 0x31eb4d59

デバイス ブート 始点 終点 ブロック Id システム

コマンド (m でヘルプ):


あれ?
領域が表示されません。なぜでしょう?
領域ができてないってこと?


とりあえず、できてないなら作成しましょう。
#うっている文字はmで確認してね。
#コマンド (m でヘルプ): n
#ここでいうnの事
#nは新しく領域を作成だっ毛穴?

コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4):
範囲外の値です。
領域番号 (1-4): q
領域番号 (1-4): q
領域番号 (1-4): 1
最初 シリンダ (1-1011, 初期値 1): 1
Last シリンダ, +シリンダ数 or +size{K,M,G} (1-1011, 初期値 1011): 1011

コマンド (m でヘルプ): p

ディスク /dev/sdb1: 128 MB, 128434176 バイト
ヘッド 4, セクタ 62, シリンダ 1011
Units = シリンダ数 of 248 * 512 = 126976 バイト
Disk identifier: 0xfa1392a8

デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1p1 1 1011 125333 83 Linux

コマンド (m でヘルプ):


領域完成。
保存して終了。

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。

警告: 領域テーブルの再読込みがエラー 22 で失敗しました: Invalid argument。
カーネルはまだ古いテーブルを使っています。
新しいテーブルは次回リブート時に使えるようになるでしょう。
ディスクを同期させます。




ではでは。
$ sudo mkfs -t ext2 /dev/sdb1
mke2fs 1.41.4 (27-Jan-2009)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
31360 inodes, 125424 blocks
6271 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
16 block groups
8192 blocks per group, 8192 fragments per group
1960 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.




ファイルシステムを乗っけました。
ではでは、grubinstallです。


$ sudo grub-install --root-directory=/mnt /dev/sdb1
Probing devices to guess BIOS drives. This may take a long time.
grub-probe: error: Cannot find a GRUB drive for /dev/sdb1. Check your device.map.

[: 494: =: unexpected operator
The file /mnt/boot/grub/stage1 not read correctly.



う~ん。できたような感じがするんだけど、いまいちなにか違うような気がするなぁ…

USBをつつく

今日からCENTOS


□今回の目標
USBにgrubをインストールする。

環境
CENTOS5.3
USB 128M



まずUSBがどのデバイスなのか確認するところから。
dmesgコマンドで確認する
さかのぼって見てみると、こんな部分がみるかるわけですよ。


sd 0:0:0:0: Attached scsi generic sg0 type 0
Vendor: BUFFALO Model: USB Flash Disk Rev: 4000
Type: Direct-Access ANSI SCSI revision: 00
SCSI device sdb: 250880 512-byte hdwr sectors (128 MB)
sdb: Write Protect is off
sdb: Mode Sense: 43 00 00 00
sdb: assuming drive cache: write through
SCSI device sdb: 250880 512-byte hdwr sectors (128 MB)
sdb: Write Protect is off
sdb: Mode Sense: 43 00 00 00
sdb: assuming drive cache: write through
sdb: sdb1


いっちゃんお尻に、sdb1と書いてあるので、USBのデバイス名は
/devのsdb1ということがわかります。



こやつをマウント。
#最近のOSは自動でマウントされるのでこのコマンドは不要
mount /dev/sdb1 /media



では、今のUSBのファイルシステムを調べましょう。
mount

/dev/sda1 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 on /media type vfat (rw)



/dev/sdb1なんでvfatですね。
#とくにわかってもしょうがないんですが。
fdsik -lでFAT16でフォーマットされていることがわかります。
(割愛)



では本番。



まずは、USBのパーティションをなぎ倒しましょう。
fdisk /dev/sdb1
コマンド (m でヘルプ): m
コマンドの動作
a ブート可能フラグをつける
b bsd ディスクラベルを編集する
c dos 互換フラグをつける
d 領域を削除する
l 既知の領域タイプをリスト表示する
m このメニューを表示する
n 新たに領域を作成する
o 新たに空の DOS 領域テーブルを作成する
p 領域テーブルを表示する
q 変更を保存せずに終了する
s 空の Sun ディスクラベルを作成する
t 領域のシステム ID を変更する
u 表示/項目ユニットを変更する
v 領域テーブルを照合する
w テーブルをディスクに書き込み、終了する
x 特別な機能 (エキスパート専用)

コマンド (m でヘルプ):



対話式に進めていきます。
領域を削除していきます。
コマンド (m でヘルプ): d

云々・・・

云々あって(汗)領域を削除しました。
では、その反映を行います。
コマンド (m でヘルプ): w


ミスったって場合、
コマンド (m でヘルプ): q
で抜けます。



これで、なぎ倒し完了。
広い部屋になりました。




つぎはファイルシステム。
#なんかCENTOS超遅い・・・vmで動作中・・・




では、ファイルシステムを作成




mkfs -t ext2 /dev/sdb1

mke2fs 1.39 (29-May-2006)
/dev/sdb1 is mounted; will not make a filesystem here!


なんか怒られた。



マウントしていたら、ファイルシステムが作れないジャマイカ。
そうなの?


ちょこっと調べたけど、理由は見っ館内。
マウントしているからファイルシステムを変更できない。。。

知らないけど、わからなくもない・・・
誰か説明してください・・・



とりあえず、アンマウント
# df
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/sda1 20315812 2556852 16710320 14% /
tmpfs 1350708 0 1350708 0% /dev/shm
/dev/sdb1 125162 0 125162 0% /media

# umount /media
# df
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/sda1 20315812 2556852 16710320 14% /
tmpfs 1350708 0 1350708 0% /dev/shm




では、改めて・・・

# mkfs -t ext2 /dev/sdb1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
31360 inodes, 125424 blocks
6271 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
16 block groups
8192 blocks per group, 8192 fragments per group
1960 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
#





おひょ。完了です。





ではgrub をインストールしちゃいましょう。





まずはマウント
# mount /dev/sdb1 /media/


そしてgrubインストール
# grub-install --root-directory=/media /dev/sdb1
Probing devices to guess BIOS drives. This may take a long time.
The file /media/boot/grub/stage1 not read correctly.





あれ?
できたっぽいですねぇ・・・。






ubuntuでやったときはできなかったんですが・・・





ubuntuで再チャレンジといきますか。

2009年7月3日金曜日

vmware エラー

接続する有効なプロセスが見つかりません




→vmwareと名のつくプロセスを落として、再度、vmware playerを起動

2009年7月2日木曜日

glibのバージョン

すぐ忘れちゃう。





pkg-config --modversion glib-2.0




なんかね。こんなこといわれたら…
Package gilb-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gilb-2.0.pc'
to the PKG_CONFIG_PATH environment variable


PKG_CONFIG_PATHを設定しなきゃいけないの。


Ubunbuだと/usr/lib/pkgocnfigでよいかと。
#CENTOSだと/usr/local/lib/pkgocnfigだった気がする。
#libってディレクトリにpkgconfigディレクトリがあって、そんなかにいっぱいおっぱい、ファイルが入っていたら正解。正解。
##本当?
##


export PKG_CONFIG_PATH=/usr/lib/pkgocnfig



もっかい実行。
pkg-config --modversion glib-2.0
2-18.2







2.18.2か。





2.20が希望なので、アップグレードしなきゃ。

Xウインドウ 起動順序

こっちも大切。


簡単に書くと…


startxを実行

xinitを実行

xinitrc

.Xresourcesを読み込み

.Xclientsを読み込み

X起動









詳しく。

1番目。startx。

この子はスクリプトになってます。
less /user/bin/startx

結果的にxinitを呼び出し。
#おい、焼きそばパン買ってこいや。





2番目。xinit

この子はバイナリ。
Xの初期化が主な役割。
仕事が終わったら、xinitrcを実行。
xinitrcがいなかったら、xtermを実行。




3番目。xinitrc
Xの初期化が主な役割。
#クライアントプログラムを実行するのが役割みたい。




4番目。.Xresources
Xクライアントのリソース設定。
#.Xdeualtsと同じ。



5番目。Xclient
デスクトップ環境・またはウインドウマネージャの起動




X起動

フォロワー

ブログ アーカイブ