よくわからないエンジニア

よく分からないエンジニアの日々の記録

よくわからないエンジニア

CentOS7.4 初期設定

前回からの続きです。Cloud Garage環境にインストールしたCentOS7.4の初期設定を実施します。

www.unknownengineer.net

目次

CentOS7.4 初期設定

作成された時点でGIP振られていますが、いきなり外部からssh接続とか意味分からん事はせずに、コンソール操作で必要な箇所を変更していきます。今回は管理用サーバlocal1の設定をします。

hosts,hostname

#vim /etc/hosts
127.0.0.1   local1 local1.unknownengineer.local localhost4 localhost4.localdomain4
::1         local1 local1.unknownengineer.local localhost6 localhost6.localdomain6

#vim /etc/hostname
local1.unknownengineer.local

ネットワーク設定

CloudGarageではインスタンス作成時にGIPとPIPが割り振られます。なのでDHCPにすれば多分そのまま使えるとは思いますが、なんとなく固定で設定しました。後、7.4からなのか、OSインストール時点でネットワークがifcfg表記だったので、余計な変更しないで済みます。

#vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.0.*
NETMASK=255.255.255.0

#vi /etc/sysconfig/network
GATEWAY=192.168.0.1
NOZEROCONF=yes

#vi /etc/resolv.conf
search unknownengineer.local
nameserver x.x.x.x
nameserver x.x.x.x
#systemctl restart network 

pingなりなんなりで、外部に出れるようになればOKです。

パッケージ導入&アップデート

最小限でインストールしているので、必要なパッケージ入れてアップデートかけます。

#yum groupinstall base
#yum groupinstall network-file-system-client
#yum update

不要なサービスの無効化

いらないサービスはこの時点で自動起動を切っときます。必要な人はそのままで。

#systemctl disable atd
#systemctl disable auditd
#systemctl disable kdump
#systemctl disable mdmonitor
#systemctl disable messagebus

今回はfirewalldは切りません。ちゃんと使っていきたいという意思を表明します。

ユーザー作成

rootになれるユーザーを作っておきます。

# useradd user1
# passwd user1
# usermod -G wheel user1

localeの変更

日本語使いたいのでlocaleを恒久的に変更します。

#localectl set-locale LANG=ja_JP.utf8

sshの設定

ポート変えたり、パスワードログインを禁止します。CloudGarageでは開放できるポートが制限されているので、使わないサービスの適当なポートに変更します。今回は3000(Rails)に変更しました。変更した箇所だけ記載します。ちなみに外部からsshで接続する必要がないサーバには特に設定不要かと。

#vim /etc/ssh/sshd_config
…
Port 3000
…
PermitRootLogin no
…

#systemctl restart sshd

ポートを変えたので、Firewalldの設定も変更します。許可していたssh(22)を削除し、3000を開放します。

#firewall-cmd --remove-service=ssh --zone=public --permanent
#cp -p /etc/firewalld/services/ssh.xml /etc/firewalld/services/ssh3000.xml
#vim /etc/firewalld/services/ssh3000.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SSH</short>
  <description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
  <port protocol="tcp" port="3000"/>
</service>
#firewall-cmd --reload
#firewall-cmd --add-service=ssh3000 --zone=public --permanent
#firewall-cmd --reload
## firewall-cmd --list-services --zone=public  --permanent
dhcpv6-client ssh3000

Firewalld、シンプルで使いやすいですね。

だいぶ手薄ですが、一旦この状態で外部からsshで接続します(CloudGarageのUIからポート開放して下さい)。sshでログインして、/home/user1/.ssh/authorized_keys に秘密鍵を登録します。その後、もう一度sshの設定を変更します。

#vim /etc/ssh/sshd_config
…
PubkeyAuthentication yes
…
PasswordAuthentication no
PermitEmptyPasswords no

#systemctl restart sshd

パスワード認証を止めて、公開鍵認証のみにします。

とりあえずこんな感じで外から繋げるようにしました。後はlogwatchやdenyhostsも導入していますが、そこら辺の設定は省きます。tmuxも導入しましたが、こちらは過去記事をご参照下さい。

www.unknownengineer.net

カーネル周りの設定はとりあえず運用開始してからパラメーター見直してみようと思います。それではこのへんで。