◆サーバの基本的な設定

・ホスト名の変更
HOSTNAME行を変更する

[root@learnin.xyz ~]# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=learnin.xyz
NTPSERVERARGS=iburst
[root@learnin.xyz ~]# 
[root@learnin.xyz ~]#

※システムの再起動が必要

[root@learnin.xyz ~]# w
 22:17:14 up 9 min,  1 user,  load average: 0.00, 0.01, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.1.158     22:09    0.00s  0.15s  0.15s sshd: root [priv]
[root@learnin.xyz ~]# reboot

・ネットワーク設定の変更
①IPアドレスを設定 ※IPADDR行を変更する
②デフォルトゲートウェイの設定 ※GATEWAY行を変更する

[root@learnin.xyz ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:0C:29:53:A3:3A
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.1.21
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

IPV6INIT=no
USERCTL=no
[root@learnin.xyz ~]# 
[root@learnin.xyz ~]#

※設定完了後は、ネットワークの再起動が必要

[root@learnin.xyz ~]# service network restart
Shutting down interface eth0:  Device state: 3 (disconnected)
                                                           [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  Active connection state: activated
                                                           [  OK  ]

・SELinux設定の有効/無効 ※SELINUX行を変更する
有効=enforcing
無効=permissive

[root@learnin.xyz ~]# vi /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=permissive
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted

※システムの再起動が必要
– 一時的な変更ならば setenforce 0/1 で変更可能
– 状態確認ならば getenforce

[root@learnin.xyz ~]# setenforce 0
[root@learnin.xyz ~]# getenforce
Permissive
[root@learnin.xyz ~]#

・DNSサーバの設定 ※nameserver行を編集
vi /etc/resolv.conf

・言語の設定 ※LANG行を編集

[root@learnin.xyz ~]# vi /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"
[root@learnin.xyz ~]#

# 英語環境ならC, 日本語にしたかったらja_JP.UTF-8

◆サーバに求められるセキュリティ対策
・常に最新にする
yum update
※カーネルのアップデートを許容したくない場合は”exclude=kernel*“を入れるといい。

[root@learnin.xyz ~]# vi /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

exclude=kernel*
[root@learnin.xyz ~]#

・アップデートを自動化してみる
yum install yum-cron
service yum-cron start
chkconfig yum-cron on

・不要なソフトを削除する
yum remove パッケージ名

・接続の制限
vi /etc/ssh/sshd_config
#Port22 -> Port 2022
#PermitRootLogin Yes -> PermitRootLogin No
service sshd restart

・ポートの確認

[root@learnin.xyz ~]# netstat -atn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:53941 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 96 192.168.1.21:22 192.168.1.158:56726 ESTABLISHED
tcp 0 0 :::111 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 ::1:631 :::* LISTEN
tcp 0 0 :::34107 :::* LISTEN
[root@learnin.xyz ~]#

・不要サービスの停止
service パッケージ名 stop

・サービス自動起動の停止
chkconfig パッケージ名 off

◆サーバの情報採取
・ホスト名の確認

[root@learnin.xyz ~]# uname -n
learnin.xyz
[root@learnin.xyz ~]#

【補足】hostname でもOKだが、ミスタイプでhost名を書き換えてしまうリスクあり。再起動で元に戻るとはいえ、それまでの間は名前解決できず迷子になってしまうため注意。

・CPU情報の確認

[root@learnin.xyz ~]# cat /proc/cpuinfo

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 60
model name : Intel(R) Core(TM) i3-4150 CPU @ 3.50GHz
stepping : 3
microcode : 23
cpu MHz : 3491.914
cache size : 3072 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc unfair_spinlock pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm arat xsaveopt invpcid_single fsgsbase bmi1 avx2 smep bmi2 invpcid
bogomips : 6983.82
clflush size : 64
cache_alignment : 64
address sizes : 42 bits physical, 48 bits virtual
power management:

[root@learnin.xyz ~]#

・パーティション情報の確認

[root@learnin.xyz ~]# parted -l
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 17.2GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 1049kB 525MB 524MB primary ext4 boot
2 525MB 17.2GB 16.7GB primary lvm


Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/vg_fumihen-lv_swap: 1715MB
Sector size (logical/physical): 512B/512B
Partition Table: loop

Number Start End Size File system Flags
1 0.00B 1715MB 1715MB linux-swap(v1)


Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/vg_fumihen-lv_root: 14.9GB
Sector size (logical/physical): 512B/512B
Partition Table: loop

Number Start End Size File system Flags
1 0.00B 14.9GB 14.9GB ext4


[root@learnin.xyz ~]#

・ディスクサイズの確認

[root@learnin.xyz ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_learnin-lv_root
14G 5.7G 7.9G 42% /
tmpfs 940M 72K 939M 1% /dev/shm
/dev/sda1 477M 117M 335M 26% /boot
[root@learnin.xyz ~]#

※オプションに -h をつけると、人間が見やすい単位で表示してくれます

・メモリサイズの確認

[root@learnin.xyz ~]# free -m
total used free shared buffers cached
Mem: 1878 326 1551 1 2 133
-/+ buffers/cache: 190 1687
Swap: 1635 0 1635
[root@learnin.xyz ~]#

※オプションに -m をつけると、MB単位で表示してくれます

・IPアドレスの確認

[root@learnin.xyz ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:53:A3:3A
inet addr:192.168.1.21 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: 2404:7a80:ab00:a900:20c:29ff:fe53:a33a/64 Scope:Global
inet6 addr: fe80::20c:29ff:fe53:a33a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3113 errors:0 dropped:0 overruns:0 frame:0
TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:190845 (186.3 KiB) TX bytes:3264 (3.1 KiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:232 errors:0 dropped:0 overruns:0 frame:0
TX packets:232 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:20072 (19.6 KiB) TX bytes:20072 (19.6 KiB)

[root@learnin.xyz ~]#

引数に、eth●を指定してあげると見やすくなります。

[root@learnin.xyz ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:53:A3:3A
inet addr:192.168.1.21 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: 2404:7a80:ab00:a900:20c:29ff:fe53:a33a/64 Scope:Global
inet6 addr: fe80::20c:29ff:fe53:a33a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3106 errors:0 dropped:0 overruns:0 frame:0
TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:190425 (185.9 KiB) TX bytes:3264 (3.1 KiB)
[root@learnin.xyz ~]#

※このときは、eth* の数だけ確認

# NICが複数存在する場合、起動のたびに順列が変わってしまいますので、以下のファイルも要確認。

[root@learnin.xyz ~]# cd /etc/udev/rules.d
[root@learnin.xyz ~]# pwd
/etc/udev/rules.d
[root@learnin.xyz rules.d]# cd /etc/udev/rules.d; pwd
/etc/udev/rules.d
[root@learnin.xyz rules.d]# cat 70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x15ad:0x07b0 (vmxnet3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:53:a3:4e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

# PCI device 0x15ad:0x07b0 (vmxnet3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:53:a3:44", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x15ad:0x07b0 (vmxnet3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:53:a3:58", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"

# PCI device 0x15ad:0x07b0 (vmxnet3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:53:a3:3a", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
[root@learnin.xyz rules.d]#

・デフォルトゲートウェイの確認

[root@learnin.xyz ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 1 0 0 eth3
192.168.1.0 * 255.255.255.0 U 1 0 0 eth2
192.168.1.0 * 255.255.255.0 U 1 0 0 eth1
192.168.1.0 * 255.255.255.0 U 1 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
[root@learnin.xyz ~]#

・OSバージョンの確認

[root@learnin.xyz ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@learnin.xyz ~]#

・パッケージのバージョン確認 ※rpm -q パッケージ名

[root@learnin.xyz ~]# rpm -q libcurl
libcurl-7.19.7-53.el6_9.x86_64
[root@learnin.xyz ~]#

◆ログのチェック
(以下、格納先のみ示します。したがって、ログの中身を見たい場合は、cat や view 等を適宜付与してくだされ。)
・システムのメインログ
/var/log/messages

・認証ログ
/var/log/secure

・メールログ
/var/log/maillog

・cron実行ログ
/var/log/cron

・webサーバーのログ
/var/log/httpd/access_log
/var/log/httpd/server_log

◆サーバの基本的な運用
・ユーザ追加
useradd アカウント名
※ユーザ削除は userdel アカウント名、-r で HOME ディレクトリまで削除
・アカウント名のパスワード設定
passwd アカウント名
※パスワード生成コマンド pwgen

・ユーザ情報の確認
cat /etc/passwd

・コマンド履歴の表示
history

・ファイルの場所を検索
locate ファイル名
※ファイルのデータベース更新には updatedb
※事前に root にスイッチしておくこと

・ファイルの詳細検索(ディスク内のリアルタイム検索)
find 検索ディレクトリ 検索条件

・マニュアル
man コマンド名
# 簡潔に調べるならば下記もあり ※ただしコマンドによる
コマンド名 –help

・ログ移送
①かためて圧縮
tar czvf log-‘date “+%Y%m%d”‘.tar.gz 配置先ディレクトリ名

◆Apache Web サーバの設定
vi /etc/httpd/conf/httpd.conf 後に、以下のとおり conf の中身を書き換えてください

・ポートの設定
Listen 80

・LoadModule の設定
LoadModule モジュール名 格納先

・Include の設定
Include conf.d/*.conf

・ServerAdmin の設定
ServerAdmin 管理者メールアドレス

・ServerName の設定
ServerName ホスト名:ポート番号

・DocumentRoot の設定
DocumentRoot “/var/www/html”

・UserDir の設定
UserDir public_html
※非公開にするならば disabled にする

/etc/httpd/conf.d 配下の設定ファイル
ssl.conf
welcome.conf
php.conf
perl.conf
webalizer.conf

◆保守運用トラブル対応
・パスワード忘れ
①ルートになれる場合の対処
su –
passwd アカウント名

②ルートが不明な場合の対処
sudo su –
passwd

③なにをやっても(①や②の実施もNGで)どうにもならない場合の対処
起動画面でなんらかのキーを押下
a
1 を追加
Enter を押下
シングルユーザーモードで root としてログイン
passwd
shutdown -r now

・インターネットに繋がらないときの切り分け
service network status
– 応答がおかしければ service network restart
– そうでなければ 次の項番へ
ifconfig
– 様子がおかしければ変なら service network restart
– そうでなければ次の項番へ
ping -c 10 8.8.8.8
– 疎通ありなら問題なし(対向先はGoogle DNS サーバです)
– 疎通なし(Destination Host Unreachable)なら次の項番へ
iptables -L
ファイヤウォールを確認、なんならオフったり、いろいろしてください。

◆その他のヒント

・できる人風を演出するなら vi 使え
vimutor がいいよ
http://qiita.com/y-temp4/items/3032d22cb5cc6ae3117a

◆IDS…Intrusion Detection System
・侵入検知システム
-> OSSでの有名どころは Tripwire # ごめん、最近有償臭い。セキュリティ関連で幅利かせてきたね。
=> ディスクの状態のサマリを作成して差分比較を行う

※IPS…Intrusion Protection/Prevention System=侵入防御システム

◆ファイヤウォール
・iptables とか firewalld とか

◆ファイル転送
wget 対象のURL ※ダウンロードのみだったわ、これ。ちな、curl でもできるな。

scp ファイル転送元 ファイル転送先

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA