CentOS8 初期設定

GMOクラウド 1GB


メールに記載の下記情報でサーバーに接続
――――――――――――――――――――――――――――――――
■サーバー設定情報
――――――――――――――――――――――――――――――――
メインドメイン名：
IPアドレス　　  ：xxx.xxx.xxx.xxx


管理者ID ：root
管理者パスワード：xxxxxxx

#パスワード認証から秘密鍵認証へ変更
参照：https://help.sakura.ad.jp/206208161/?_ga=2.18645681.906969054.1587800781-460226341.1572180545

TeraTermで秘密鍵を作成、サーバーにアップロードする

```
chmod 700 .ssh
cat id_rsa.pub > .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
rm -f id_rsa.pub

#rootユーザーで実行
vi /etc/ssh/sshd_config

#Port 22
↓
#ポート番号を変更
Port 10022(例)

#PasswordAuthentication yes
↓
#パスワード認証を無効
PasswordAuthentication no


#設定を適用
systemctl restart sshd

#port解放されているか確認
ssh root@localhost -p 10022

@が入力できないときは下記
ssh -l root localhost  -p 10022

#開いてない
ssh: connect to host localhost port 10022: Connection refused

#ファイヤーウォール設定変更
vi /usr/lib/firewalld/services/ssh.xml

<port protocol="tcp" port="22"/>
↓
<port protocol="tcp" port="10022"/>


sudo firewall-cmd --reload
systemctl restart firewalld
systemctl restart sshd

#port解放されているか確認
ssh root@localhost -p 10022

The authenticity of host '[localhost]:22728 ([127.0.0.1]:22728)' can't be established.

```



#ブートファイルのバックアップ
```
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.org
```




#カーネルをアップデート対象から除外
https://helpcenter.gmocloud.com/cloudvps/s/article/ch-2695?_ga=2.244147654.276416561.1587642821-1207497919.1584698288

```
vi /etc/yum.conf
exclude=kernel* centos*
```

#OSをアップデート
`yum update`
↓
`dnf -y upgrade`

yで実行
Is this ok [y/N]: y

「Complete!」で完了

#bootファイルが書き換えられ立ち上がらなくなる
リカバリーモードで起動

```
df -h
[root@recovery ~]# fdisk -l

  Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048   104857599    52427776   83  Linux

[root@recovery ~]# mount /dev/vda1 /mnt
[root@recovery ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             463M     0  463M   0% /dev
tmpfs                495M  4.0K  495M   1% /dev/shm
tmpfs                495M   13M  482M   3% /run
tmpfs                495M     0  495M   0% /sys/fs/cgroup
/dev/vdc1            1.1G  1.1G     0 100% /run/initramfs/live
/dev/mapper/live-rw  3.9G  2.5G  1.4G  65% /
tmpfs                 99M     0   99M   0% /run/user/0
/dev/vda1             50G  1.4G   46G   3% /mnt

[root@recovery ~]# ls /mnt
bin  boot  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

#書き換えられたファイルを削除
rm /mnt/boot/grub2/grub.cfg

#バックアップを戻す
cp /mnt/boot/grub2/grub.cfg.org /mnt/boot/grub2/grub.cfg
```


#selinuxの無効化

##selinuxの状態を確認
getenforce
Disabled

デフォルトでDisabled(無効)っぽい

# firewalldの設定
```
firewall-cmd --get-default-zone
public
```


パブリックなので、その状況を確認

```
firewall-cmd --list-all
public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: cockpit dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
```

#Squidのインストール
参照：https://www.server-world.info/query?os=CentOS_8&p=squid&f=1

dnf -y install squid

インストール時の初期設定は、squid.conf.defaultという名前で設定ファイルと同じディレクトリに作成される
※参照：https://densan-hoshigumi.com/server/centos-squid-install

 vi /etc/squid/squid.conf

# 各種セキュリティ対策
# プロキシアクセス元クライアントの情報を隠蔽する
visible_hostname unkown
forwarded_for off
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
request_header_access Referer deny all


##ファイアウォールの許可
firewall-cmd --add-service=squid --permanent
success

##ポート開放
firewall-cmd --add-port=[ポート番号]/tcp --zone=public --permanent

squid
firewall-cmd --add-port=3128/tcp --zone=public --permanent

ssh
firewall-cmd --add-port=10022/tcp --zone=public --permanent

##再読み込み
firewall-cmd --reload

#日本語対応

```
日本語ロケール入れる
yum install glibc-langpack-ja

ロケールの設定確認
localectl status
 System Locale: LANG=en_US.UTF-8
       VC Keymap: us
      X11 Layout: us

日本語ロケールの表示
localectl list-locales | grep -i jp

日本語ロケールの設定
localectl set-locale LANG=ja_JP.utf8

日本語キーマップの設定
localectl set-keymap jp106

ロケールの設定確認
localectl status

localectl list-keymaps
localectl set-keymap jp106
localectl status
   System Locale: LANG=ja_JP.utf8
       VC Keymap: jp106
      X11 Layout: jp
       X11 Model: jp106
     X11 Options: terminate:ctrl_alt_bksp
```
変更完了


※「Ctrl」+「C」で終了
※「shutdown -h now」でシャットダウン

#時刻合わせ

```
vi /etc/chrony.conf

#pool 2.centos.pool.ntp.org iburst
server ntp1.jst.mfeed.ad.jp iburst
server ntp2.jst.mfeed.ad.jp iburst
server ntp3.jst.mfeed.ad.jp iburst

systemctl restart chronyd

chronyc sourcestats
210 Number of sources = 3
Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================
ntp1.jst.mfeed.ad.jp        5   3    70     -0.893     20.061   +536us   118us
ntp2.jst.mfeed.ad.jp        5   3    71     -4.049     38.916   -493us   124us
ntp3.jst.mfeed.ad.jp        5   3    71     -4.879     42.312   -400us   116us


timedatectl
               Local time: Sat 2020-04-25 18:46:50 JST
           Universal time: Sat 2020-04-25 09:46:50 UTC
                 RTC time: Sat 2020-04-25 09:46:49
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
```

#起動しない
リカバリーモードで復旧
参照：https://support.gmocloud.com/public/important/detail.php?no=1367470812



参考：https://note.com/magi01/n/nd2025334b747

```
vi /etc/squid/squid.conf
```

```

#コメントアウト
#acl localnet src 0.0.0.1-0.255.255.255 # RFC 1122 "this" network (LAN)
#acl localnet src 10.0.0.0/8            # RFC 1918 local private network (LAN)
#acl localnet src 100.64.0.0/10         # RFC 6598 shared address space (CGN)
#acl localnet src 169.254.0.0/16        # RFC 3927 link-local (directly plugged) machines
#acl localnet src 172.16.0.0/12         # RFC 1918 local private network (LAN)
#acl localnet src 192.168.0.0/16                # RFC 1918 local private network (LAN)
#acl localnet src fc00::/7              # RFC 4193 local private network range
#acl localnet src fe80::/10             # RFC 4291 link-local (directly plugged) machines

acl lan src 接続を許可するIPアドレス

acl aclname srcdomain 接続を許可するドメイン


# コメントアウト
#http_access allow localhost manager
#http_access deny manager


#http_access allow localnet
#http_access allow localhost


# And finally deny all other access to this proxy
http_access deny all
↓
#http_access deny all


# Squid normally listens to port 3128
http_port 3128
↓
#http_port 3128

#プロキシのポート番号 1024～49151の範囲の適当な数字を入れる
http_port 3128


# Basic認証の設定
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/.htpasswd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 5 hours
acl password proxy_auth REQUIRED
http_access allow password

# クライアントのローカルIPを転送しない
forwarded_for off

# 上記に当てはまらないアクセスは全て拒否する。
http_access deny all

# ホストネームは任意のものを変更（そのままでも大丈夫）
visible_hostname unknown

# 今回はキャッシュさせたくないのでOFF
no_cache deny all

# プロキシの存在を隠す。
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
reply_header_access X-Forwarded-For deny all
reply_header_access Via deny all
reply_header_access Cache-Control deny all


```

#パスワード生成

```
$ htpasswd -c /etc/squid/.htpasswd ユーザー名
New password: パスワード
Re-type new password: パスワード
Adding password for user username
```
##起動
sudo systemctl start squid

##自動起動の設定
systemctl enable squid

##設定ファイルのチェック
squid -k parse
エラーがでなければOK

##設定の再読み込み
systemctl reload squid


##「:」をコンソールから入力する
usキーマップに一時的に変更する 
loadkeys us

jp106キーマップに一時的に変更する †
loadkeys jp106


#viで「:wq」が入力できないとき
ZQ (:q!と同じ) ファイルを保存せずに終了
ZZ（:qと同じ）ファイルを保存してから終了