*

CentOS6 初期設定

公開日: : 投稿者:raru Linux

自宅に置いてある安鯖にCentOS6を入れて初期設定を行ないました。

前提条件/設定項目

[今回の環境]
CentOS6.2 i386
minimalインストール

[設定項目]
・ユーザ作成
・suに制限をかける
・iptables設定
・ネットワーク設定
・ssh設定
・パッケージアップデート

ユーザ設定

rootでの直接ログインは行ないたくないので管理用のユーザを作成します。
基本的にrootユーザは使用せずに、そのユーザを介して設定を行なうのが望ましいです。
(とはいいつつもsuでroot使っちゃうんですがね)
また設定前にネットワークに繋ぐのは危ないので、サービスを停止します。

service network stop
useradd [name]
passwd [name]

# suが実行出来るように設定
usermod -G wheel [name]

suに制限をかける

suコマンド自体に制限をかけます。
これで特定ユーザ以外はsuコマンドの実行は出来てもrootになることが出来なくなります。

cp /etc/login.defs /etc/login.defs.org
vi /etc/login.defs 
# SU_WHEEL_ONLY yes を最下部へ追加

cp /etc/pam.d/su  /etc/pam.d/su.org
vi /etc/pam.d/su 
# #auth       required      pam_wheel.so use_uid を
# auth       required      pam_wheel.so use_uid group=wheelに変更

login.defsの設定をしたことで、wheel以外のユーザがパスワードでsuを実行しても他のユーザに成り代われなくなります。
次のpam.d/suの変更でwheelグループのみがrootにsu出来るようになります。

iptables設定

いわゆるファイアウォールというものです。
基本的には全ての外部からのアクセスをシャットアウトし、必要な部分のみ解放する運用方法です。
開いてるところが多いほど攻撃されちゃいますからね。

cp /etc/sysconfig/iptables /etc/sysconfig/iptables.org
vi /etc/sysconfig/iptables 
cat /etc/sysconfig/iptables
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
COMMIT

# 上から
#   iptablesによるfilterです
#   外部からの接続を全て遮断
#   内側から外への通信は許可する
#   確立済みの通信は許可
#   pingを許可
#   ループバックは許可
#   ssh (port 22で)許可
		
/etc/init.d/iptables restart

ネットワーク設定

iptablesの設定が終わったのでネットワークサービスを起動します。

vi /etc/sysconfig/netword-scripts/ifcfg-eth0
cat /etc/sysconfig/netword-scripts/ifcfg-eth0
# ONBOOT="yes"
# BOOTPROTO=static
# IPADDR="自由に"
# BROADCAST="IPADDRの上3つ+255"
# GATEWAY="ルータのIP"

vi /etc/resolv.conf
cat /etc/resolv.conf
# nameserver 192.168.1.1 ルータのipを指定
	
service network start

今回私は特に外部へ公開する気がなく、家庭内のみでの利用でしたのでIPADDRには192.168.1.10を設定しました。
192.168.1の部分まではルータのlocal ipと同じにしときましょう。
global ipを割り振るだけのipを持っているのであれば、そちらを設定するのも良いでしょう。
resolve.confではDNSの設定を行なっています。

設定が終わったらping google.comあたりで通信が出来ていることを確認しておきましょう。

ssh設定

普段からサーバ機を直接操作するのは不便なのと、ディスプレイやキーボードがサーバに繋がっているのは鬱陶しいのでsshの設定を行ないます。
これはサーバで行なう設定とクライアントで行なう設定があります。

サーバ

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org // バックアップ作成
vi /etc/ssh/sshd_config
	#Port 22 -> Port ご自由に
	
/etc/init.d/sshd restart // ssh再起動

su ユーザ名
cd
mkdir .ssh
exit

ポートの設定を変更した場合はiptablesの変更も行ないましょう。
これで完全ではありませんが、一旦サーバはこのように設定します。

クライアント

一旦作業をクライアントへ映し秘密鍵を生成します。
作成された鍵の片割れはsftpでサーバに設置します。

ssh-keygen -t rsa -v
    Generating public/private rsa key pair.
    Enter file in which to save the key (/Users/ユーザ名/.ssh/id_rsa): (path)/id_rsa
# 任意の場所に任意の名前で

sftp -P ポート番号 user_name@IPアドレス でsftpでファイル送信
# scp -P ポート番号 ~/.ssh/id_rsa.pub ユーザー名@IPアドレス:~/.ssh/authorized_keys
ssh -l ユーザ名 -p ポート IP
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

サーバ

再びサーバへ戻り、最後にsshの設定を行ないます

vi /etc/ssh/sshd_config
cat /etc/ssh/sshd_config
# PermitRootLogin no
# PasswordAuthentication no
# PermitEmptyPasswords no

/etc/init.d/sshd restart
chkconfig sshd on

rootでのログインや鍵認証なしでのログインは不可とします。

パッケージアップデート

最後にパッケージをupdateします。
CentOSが6.2の場合、matahari-〜というパッケージが公開終了しているにも関わらずupdate対象となっているためにエラーとなります。該当する方はyum remove matahari-*でそれらのパッケージを削除しましょう。

yum install yum-fastestmirror
yum update yum 
yum -y update
# yum remove matahari-*

これで簡単ですが設定が完了です。
次はredmineを導入してみようと思います。

関連記事

no image

RaspbianのZabbix ServerにZabbix Agentをインストール

前回の記事でRaspbianにZabbixサーバをインストールしてみました。 今回はzabbi

記事を読む

no image

PidoraにZabbix2.2を入れてみた

※完璧な状態ではありません。 こちらの記事のzabbix設定周りを行うと解決する可能性がありま

記事を読む

no image

ZabbixからsSMTPを利用してエラー通知メール送信

今回はsSMTPを利用してRaspbian上のZabbix Serverからアラートメールの送信を行

記事を読む

no image

CentOS7 Postfix+Dovecot+SSL/TLS 設定

今回は禁断のメール設定です。 メールは他に比べて設定がわかりづらいし、連携するミドルウェアが多いし

記事を読む

no image

Pidoraの時刻設定(ntp)

現在Pidoraを監視サーバ化しようとしているところです。 なかなか苦労しますね。普通のサーバで設

記事を読む

no image

CentOS7にwordpressを移行

前の記事で初期設定を行ったサーバにwordpressを移設します。 wordpressの移設は案外

記事を読む

no image

Firewalldで特定IPからの接続をdrop

このサイトは見ての通りwordpressなのですが、wordpressではloginのurlが推測さ

記事を読む

no image

CentOS7にウイルスソフト(Clamd)を導入

今回はLinuxのウイルス対策ツールのClamdの導入を行いたいと思います。 Windowsマシン

記事を読む

no image

DDNS(No-IP)をcronで更新

DDNSを利用してzabbix agentを導入できないかと思い、ひとまずDDNSの設定を行いました

記事を読む

no image

RedmineからsSMTPでメールを送信

Redmineの管理画面にアクセスしたところメール通知設定は所定のファイルを編集しないとできないよう

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

PAGE TOP ↑