テンプレートイメージ ( CentOS 7.1 ) で起動したら、用途別の設定をする前にサーバーの基本設定を済ませます。ここでは ConoHa を起動したら用途の如何に関わらず至急設定すべき内容を記述しています。全ての設定が終わったらメニューより目的に合った用途の内容をご覧下さい。
ConoHa VPS 関連
貴方の個人情報関連
DNS 関連
その他
SSH は特定 IP からのみ受け付けるように設定します。
# firewall-cmd --permanent --remove-service=ssh # firewall-cmd --reload # cd /etc/firewalld/zones # cp public.xml myhome.xml # vi myhome.xml
<?xml version="1.0" encoding="utf-8"?> <zone> <short>MyHome</short> <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description> <service name="dhcpv6-client"> </zone>
# firewall-cmd --reload # firewall-cmd --permanent --zone=myhome --add-service=ssh # firewall-cmd --permanent --add-source=203.0.113.1 --zone=myhome # firewall-cmd --permanent --zone=myhome --remove-service=dhcpv6-client # firewall-cmd --reload
設定の確認をしておきます。
# firewall-cmd --get-active-zones # firewall-cmd --list-all --zone=public # firewall-cmd --list-all --zone=myhome
# rm -f /etc/ssh/ssh_host_*key*
# service sshd restart
テンプレートOSなので他のユーザーとキーが同じ為、キーを再生成します
# vi /etc/hosts.allow
sshd : 203.0.113.1
# 203.0.113.1 には接続元 ( 貴方の PC ) のグローバル IP を。
全内容
# vi /etc/hosts.deny
all : all
全内容。 hosts.allow に記載した IP 以外からは接続できなくなるのでお気をつけを
# useradd -G wheel YourAccount
# passwd YourAccount
YourAccount は貴方用の SSH ログオンユーザー名 を
# su YourAccount
$ ssh-keygen -t rsa
$ mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
$ cat ~/.ssh/id_rsa
$ rm -f ~/.ssh/id_rsa
$ exit
YourAccount 用キー生成 → id_rsa を cat 表示してコピー保存 → id_rsa 削除
# cat ~/.ssh/authorized_keys >> /home/YourAccount/.ssh/authorized_keys
YourAccount が root 用キーでもログインできるように追記
# sed -i -e "s/^#\(auth\s\+required\s\+pam_wheel\.so.*\)/\1/g" /etc/pam.d/su
# echo "SU_WHEEL_ONLY yes" >> /etc/login.defs
root になれるユーザーを wheel グループに限定する
# sed -i -e "s/^#\s\+\(%wheel\s\+ALL\=(ALL)\s\+ALL\)/\1/g" /etc/sudoers
wheel が sudo を使えるようにしておく
# vi /etc/ssh/sshd_config
PermitRootLogin no X11Forwarding no #AddressFamily any AddressFamily inet # 接続は ipv4 のみ
修正
# systemctl restart sshd.service
内容に間違いがあると接続できなくなるのでお気をつけを
# echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf # sysctl -p # ip a
IPv6 の Listen を停止
# nmcli g hostname ConoHaHost.example.com # cat /etc/hostname
ConoHaHost に貴方のサーバー名
# vi /etc/hosts
# ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
ipv6 をコメントアウト
# nmcli connection show eth0 # nmcli connection modify eth0 ipv6.method ignore # nmcli connection modify eth0 ipv4.ignore-auto-dns yes # nmcli connection modify eth0 ipv4.dns-search example.com # nmcli connection modify eth0 ipv4.dns "8.8.8.8 198.51.100.1 198.51.100.2" # systemctl restart NetworkManager # nmcli connection show eth0 # cat /etc/sysconfig/network-scripts/ifcfg-eth0
リブート時に resolv.conf を上書きしない & IPv6 停止
IPV6INIT="no" と PEERDNS="no" を確認
# cat /etc/resolv.conf
search example.com nameserver 8.8.8.8 nameserver 198.51.100.1 nameserver 198.51.100.2 # 198.51.100.1 と 198.51.100.2 には貴方の DNS の IP を。 # 8.8.8.8 は Google Public DNS のアドレスです。
# yum install -y yum-cron # systemctl enable yum-cron.service # vi /etc/yum/yum-cron.conf
apply_updates = yes
# systemctl start yum-cron.service # yum upgrade -y
# vi /etc/aliases
メールの宛先を変更
YourAccount: root
root: YourMail@example.net
最下に追記 ( SSH アカウントとメールアドレスはご利用のものを )
# newaliases
エイリアスを書き換え
# yum install -y logwatch
一旦サーバをシャットダウンし ConoHa のコントロールパネルでイメージファイルに保存します。複数サーバを立てる際はこのイメージを利用することで、ここまでの流れを省略できます。
hostname はサーバごとに書き換えます。
# nmcli g hostname ConoHaHost.example.com # cat /etc/hostname
# yum install -y opendkim
# mkdir /etc/opendkim/keys/ConoHaHost.example.com
複数ドメインに対応する為ドメイン名のディレクトリ作成
# opendkim-genkey -D /etc/opendkim/keys/ConoHaHost.example.com -d ConoHaHost.example.com -s 20141207
鍵ファイル ( 秘密鍵と公開鍵 ) を作成します
# chown opendkim:opendkim /etc/opendkim/keys/ConoHaHost.example.com/20141207.*
鍵ファイルのオーナーを「opendkim」に変更します。
# vi /etc/opendkim.conf
Mode sv
#KeyFile /etc/opendkim/keys/default.private
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
# vi /etc/opendkim/KeyTable
20141207._domainkey.ConoHaHost.example.com ConoHaHost.example.com:20141207:/etc/opendkim/keys/ConoHaHost.example.com/20141207.private
# vi /etc/opendkim/SigningTable
*@ConoHaHost.example.com 20141207._domainkey.ConoHaHost.example.com
# vi /etc/opendkim/TrustedHosts
127.0.0.1
# vi /etc/sysconfig/opendkim
AUTOCREATE_DKIM_KEYS=NO
# systemctl enable opendkim.service
# systemctl start opendkim.service
# vi /etc/postfix/main.cf
# myhostname = ConoHaHost.example.com
#inet_protocols = all
inet_protocols = ipv4
# 下記を最終行に追加
#
# DKIM設定
#
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
# systemctl enable postfix
Postfix 起動登録
# cat /etc/opendkim/keys/ConoHaHost.example.com/20141207.txt
公開鍵ファイルを表示してコピー ( プライマリ DNS に登録する為 )
# shutdown -r now
お疲れ様でした...
# vi /var/named/chroot/var/named/masters/example.com.zone
ConoHaHost.example.com. IN TXT "v=spf1 ip4:192.0.2.1 ~all"
; 192.0.2.1 には貴方の ConoHa サーバーの IP を
20141207._domainkey.ConoHaHost.example.com. IN TXT "v=DKIM1; k=rsa; p=表示してコピーした公開鍵"
_adsp._domainkey.ConoHaHost.example.com. IN TXT "dkim=unknown"
公開鍵レコードの書式
セレクタ名._domainkey.ドメイン名. IN TXT "v=DKIM1; k=rsa; p=公開鍵のデータ"
ADSPレコードは、受信側でのDKIM認証結果をどのように扱うかを示す。
ココまでの設定が全て完了したら、メニューより用途別の設定をご覧下さい。