【Linux】RHEL OS設計


  • OSのアップデート
dnf update -y
  • タイムゾーンの設定
sudo timedatectl set-timezone Asia/Tokyo
  • 基本パッケージのインストール
dnf install -y rsyslog net-snmp sos bind-utils
  • サービス自動起動の設定
systemctl enable --now rsyslog
systemctl enable --now snmpd
  • sshログイン用ユーザ作成
useradd sshuser -p password
  • 管理者用ユーザ作成
useradd admin -p password -G wheel
  • Tunedの設定(仮想サーバ)
tuned-adm profile virtual-guest balanced
  • Tunedの設定(物理サーバ)
tuned-adm profile balanced
  • マルチユーザモード(CUI)でOSを起動
set-default multi-user.target
  • ホスト名の設定
hostnamectl set-hostname sv01
  • ネットワークの設定
nmcli connection modify <ifname> ipv4.addresses <ip/sm> \
ipv4.dns DNS#1,DNS#2 \
ipv4.gateway gateway \
ipv6.method disabled \
connection.autoconnect yes
  • 「ctrl + alt + delete」のリブート防止設定
systemctl mask ctrl-alt-del.target
  • sshの設定
cp -ip /etc/ssh/sshd_config /etc/ssh/sshd_config.org
vi /etc/ssh/sshd_config
Port 222
AddressFamily inet
ListenAddress <server's ip>
AllowUsers  sshuser@<ip>
LogLevel INFO
PermitRootLogin no
MaxAuthTries 5
MaxSessions 2
PermitEmptyPasswords no
Protocol 2
UseDNS no
  • SELINUXの無効化
cp -ip /etc/selinux/config /etc/selinux/config.org
vi /etc/selinux/config
SELINUX=disabled
  • suコマンドをwheelグループに所属しているユーザのみに利用制限(suコマンドの禁止)
cp -ip /etc/pam.d/su /etc/pam.d/su.org 
vi /etc/pam.d/su
auth            required        pam_wheel.so use_uid
  • sudoコマンドをwheelグループに所属しているユーザのミニ利用制限(sudoコマンドの禁止)
visudo
%wheel  ALL=(ALL)       ALL
  • カーネルパラメータの設定
cp -ip /etc/sysctl.conf /etc/sysctl.conf.org
vi /etc/sysctl.conf
#TCP制御
net.core.rmem_default = 253952
net.core.wmem_default = 253952
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 253952 253952 16777216
net.ipv4.tcp_wmem = 253952 253952 16777216
net.ipv4.tcp_window_scaling = 1

#DDos攻撃対策
net.ipv4.tcp_fin_timeout = 30

#Syn Flood攻撃対策
net.ipv4.tcp_syncookies = 1

#IPv6無効化
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

#ルーティングの無効化
net.ipv4.conf.all.forwarding = 0
net.ipv6.conf.all.forwarding = 0

#Ping(ICMP)を返さない設定
net.ipv4.icmp_echo_ignore_all = 1

#IP Redirectを受け付けない設定
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
  • カーネルパラメータの設定反映
sysctl -p
  • IPv6無効化(コメントアウト)
cp -ip /etc/netconfig /etc/netconfig.org
vi /etc/netconfig
#udp6       tpi_clts      v     inet6    udp     -       -
#tcp6       tpi_cots_ord  v     inet6    tcp     -       -
vi /etc/hosts
#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
cp -ip /etc/default/grub /etc/default/grub.org
vi /etc/default/grub
GRUB_CMDLINE_LINUX="ipv6.disable=1"

※デフォルトの設定に「ipv6.disable=1」を追加する

  • ログイン失敗を5回繰り返すと15分間アカウントをロックする
vi /etc/pam.d/password-auth
auth        required      pam_faillock.so preauth silent audit deny=5 unlock_time=600
  • ホスト名での通信を無効化
vi /etc/nsswitch.conf
#hosts:      files dns myhostname
hosts:      files dns
  • Journalの設定
cp -ip /etc/systemd/journald.conf /etc/systemd/journald.conf.org
vi /etc/systemd/journald.conf
Compress=yes
RateLimitInterval=0s

Firewalldの設定

  • デフォルト設定の削除
firewall-cmd --new-zone Secured_Zone --permanent
firewall-cmd --zone=Secured_Zone --add-port=222/tcp --permanent
firewall-cmd --reload
nmcli connection modify ifname connection.zone Secured_Zone
  • 設定の確認
firewall-cmd --list-all --zone=Secured_Zone
  • 不要サービスの停止
systemctl disable kdump
  • OS再起動
reboot