前回からの続きです。Cloud Garage環境にインストールしたCentOS7.4の初期設定を実施します。
目次
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も導入しましたが、こちらは過去記事をご参照下さい。
カーネル周りの設定はとりあえず運用開始してからパラメーター見直してみようと思います。それではこのへんで。