HobNote
Linuxセキュリティ関係
since 2005.01.20
last update 2011.01.08



Contents




suコマンド使用の制限-wheel-

suコマンドを使用できるユーザを制限するには、

FedoraCore2の場合
まず/etc/pam.d/suのauth required...pam_wheel.so use_uidのコメントを外す


次に/etc/groupのwheelにsuコマンドを使用許可するユーザ名を追記する


同じような感じでVineの場合
/etc/groupのwheelにユーザ名を追記する
/etc/pam.d/suに
auth required /lib/security/pam_wheel.so debug group=wheel
を追記する。

これで、suコマンドが使用できるユーザが制限できる。ただし、この場合rootになるためのsuコマンドだけでなく
他のユーザにsuでなることもできない。



cronの使用制限

cronとは、定期的にスクリプトを実行するサービスで、rootはもちろんユーザごとに設定ができる。
全ユーザがcronを使えるのは、セキュリティ上よくないので
/etc/cron.allowに使用を許可するユーザを書く
もしくは
/etc/cron.denyに使用を制限するユーザを書く

両方のFileがある場合は、/etc/cron.allowが有効になる。



at,batchの使用制限

atとは、指定した時間に1回スクリプトを実行するサービスで、rootはもちろんユーザごとに設定ができる。
batchとは、システムの平均負荷が、0.8を下まわったときに1回だけタスクを実行できるスケジューラである
全ユーザがatとbatchを使えるのは、セキュリティ上よくないので
/etc/at.allowに使用を許可するユーザを書く
もしくは
/etc/at.denyに使用を制限するユーザを書く

両方のFileがある場合は、/etc/at.allowが有効になる。



telnetの開始(CentOS5)

CentOS 5でtelnetサービスを開始するには、

1)/etc/xinetd.d/telnet のdisable=yesnoに変更する

2)rootになってxinetdの再起動を行なう。


3)/etc/hosts.allowに
in.telnetd:ip addressを書き加える
ここでip addressは、telnetを許可するClientマシンのIP address

4)iptablesでport 23:tcpをopenにする。



telnetの停止(vine)

vine linuxでtelnetサービスを止めるには、

1)/etc/inetd.confの中の telnet stream....の行をコメントアウトする
2)inetdの再起動を行なう。




BroadCast Pingの無視(CentOS4.4)

NetworkからのBroadCast Pingを無視するには、
rootで/etc/sysctl.confに以下の一行を追記する。

これを有効にするには、コマンドラインより
を実行するか、もしくは、マシンを再起動する。



ftpの設定(vsftpdの場合)

FTP(File Transfer Protocol)は、名前の如くfileを転送するサービスである。
ftpのソフトの種類には、WU-FTPD、ProFTPD、NcFTPD,vsftpdなどがある。
FedoraCore2には、defaultでvsftpdが入っているのでvsftpdのユーザ制限の設定方法を記す。

vsftpdのユーザ制限は、/etc/vsftpd.ftpusersにユーザ名を記すことで
記載されたユーザがftpを使用できないようになる。


#vi /etc/vsftpd.ftpusers



次に/etc/vsftpd.confを編集する

#vi /etc/vsftpd.conf

anonymous_enable=NO (NO←YES)
xferlog_enable=YES (←コメントアウトを外す)
xferlog_file=/var/log/vsftpd.log (←コメントアウトを外す)
ascii_upload_enable=YES (←コメントアウトを外す)
ascii_download_enable=YES (←コメントアウトを外す)
chroot_list_enable=YES (←コメントアウトを外す)
chroot_list_file=/etc/vsftpd.chroot_list
    (↑コメントアウトを外してvsftpd.chroot_listを作ってアカウント名を書く)

編集後、
#/sbin/service vsftpd restart

vsftpd を停止中: [ OK ]
vsftpd用のvsftpdを起動中: [ OK ]

と表示されたらOK



ディスク使用容量の制限-quota-(CentOS4)

ユーザごと、もしくはグループごとにディスクの使用容量を制限するにはquotaを使用する。
quotaを使用するとblock単位、I-node単位での制限が可能になる。

/homeにhomeディレクトリをもっている任意のユーザに対してquotaを有効にする手順は、
(他にユーザがloginしていないことを確認して)

1)/etc/fstabの編集
user単位での制限では、マウントオプションにusrquotaを追加。
group単位での制限では、マウントオプションにgrpquotaを追加。


2)fstabの/home編集箇所を有効(再マウント)する

コマンドラインより


3)クォータファイル(aquota.user | aquota.group)の作成

コマンドラインより

主なオプション


4)クォータをONにする

コマンドラインより


5)ソフトリミットのgrace period(猶予期間)の設定
quotaの機能としてソフトリミット設定とハードリミット設定の2種類があり
ソフトリミットの制限(後述)を超えてからもこの設定期間内は、リミットがかからないというものである。
[この場合(通常であるが)、ソフトリミットの制限容量<ハードリミットの制限容量]

コマンドラインより

上記のコマンドでviを用いた設定ファイルの編集が可能になりgrace periodを任意に設定できる。
defaultは、7daysでありBlock制限とInode制限を別に編集する。



6)各ユーザ(各グループ)ごとの容量制限の設定

対象ユーザのアカウント名がhumanの場合
コマンドラインより

としviを用いた設定ファイルの編集モードに入る
(※1)現在の使用容量もしくはInode数

ここでblocksの後のsoftとhardの項の数値を制限したい値に変更する。
(この設定ファイルでは1block=1024KB換算で行なう)
ファイル数で制限したい場合は、inodesの後のsoftとhardの項の数値を制限したい値に変更する。
また、softの設定値<hardの設定値の関係で設定を行なうこと。


7)quota状態の確認 quotaのon/offの確認は、 コマンドラインより

コマンドラインより



一般ユーザにshutdownコマンドを許可する-sudo-(Vine2.6,CentOS4)

一般ユーザにsu権限をもたせたくないが、shutdownコマンドは許可するようにするには、
以下の設定をおこなう。

rootになって

このコマンドで/etc/sudowersファイルが編集モードで開くのでケースに合わせて編集する

ユーザを指定して許可する場合(ユーザ名がippanという人に対して許可する場合)
を追記して":wq!"で終了。
(hostnameは、localhostじゃだめだったのでホスト名を指定する必要があるようだ)

グループを指定して許可する場合(グループ名がhitobitoというグループに対して許可する場合)
を追記して":wq!"で終了
(hostnameは、localhostじゃだめだったのでホスト名を指定する必要があるようだ)

この記述によりsuコマンドの制限でwheel設定をしていてもこのコマンドは、指定したユーザは
使用することができる。

許可された一般ユーザがshutdownを行なうには、コマンドラインより

ここで聞いてくる、passwordは、その一般ユーザのものを入力する。



特定のIPアドレスのみサービスを許可する(ftpd,XDMCP...)-hosts.allow/hosts.deny-(Vine3.4, CentOS4.4)

特定のIPアドレスに対してのみにサービスを許可するには、
/etc/hosts.allow、/etc/hosts.denyにサービスとIPアドレスを記述する。

まず、許可する設定として/etc/hosts.allowに以下のような記述を行なう。

次に許可しない設定として/etc/hosts.denyに以下のように設定する

hosts.allowとhosts.denyは、hosts.allowが優位であるためhosts.denyで許可しない設定にしても
hosts.allowで許可されていればアクセスが可能となる。
また、この設定は、サービスの再起動等は不用で書きこんだ直後からアクセスしてきたIPアドレスに対して
有効になる。



自分のマシンや同じRouter下の他のマシンのMAC Addressを調べる

まず、自分のマシンのMAC Addressを調べるには、コマンドラインよりifconfigコマンドを入力すると

と出力されmm:mm:mm:mm:mm:mmがMAC Addressになる。


次に同じRouter下の他のマシンのMAC Addressを調べるには、pingを打ってARP Tableを以下のように して調べればいい。

another machineは、ホスト名でもIP Addressでもいい

ARP Tableの情報を表示させるには、

と出力されmm:mm:mm:mm:mm:mmがMAC Addressになる。