RHELでのセキュリティネットワーク設定 – アクセス制御と監視をはじめよう

RHELでのセキュリティネットワーク設定 – アクセス制御と監視をはじめよう

Red Hat Enterprise Linux(RHEL)でのネットワークセキュリティ設定方法を解説します。不正アクセスを防ぐための基本設定や監視ツールの導入方法を含めたガイドです。

前提条件

  • RHEL 8または9がインストールされている
  • rootまたはsudo権限を持つユーザーが利用可能
  • ネットワークが適切に接続されている

ファイアウォールの有効化と設定

firewalldが有効になっていることを確認します。

sudo systemctl status firewalld

無効の場合は、以下のコマンドで有効化します。

sudo systemctl enable firewalld --now

許可するサービスを追加します(例: HTTPとHTTPS)。

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

特定ポートの許可

特定のポートを開放する場合、以下を使用します。

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

現在の設定を確認します。

sudo firewall-cmd --list-all

SELinuxの確認と設定

SELinuxが有効かどうか確認します。

sestatus

無効になっている場合、有効化します。

sudo setenforce 1
sudo nano /etc/selinux/config
# SELINUX=enforcing を確認または変更

SSHアクセスの制限

SSH設定ファイルを編集し、セキュリティを強化します。

sudo nano /etc/ssh/sshd_config

# ポート変更例:
Port 2222

# ルートログイン無効化
PermitRootLogin no

# 再起動
sudo systemctl restart sshd

Fail2Banのインストール

失敗したログイン試行に対する自動ブロックを有効化します。

sudo dnf install epel-release -y
sudo dnf install fail2ban -y
sudo systemctl enable fail2ban --now

SSHに対する設定を行います。

sudo nano /etc/fail2ban/jail.local
[sshd]
enabled = true
port = 2222
maxretry = 5
bantime = 600

設定後、サービスを再起動します。

sudo systemctl restart fail2ban

ネットワークパケットの監視

tcpdumpを使ってパケットを監視します。

sudo dnf install tcpdump -y
sudo tcpdump -i eth0

特定ポートのトラフィックを監視します。

sudo tcpdump port 80

監視ツールのインストール

netstatやnmapを使用してネットワークの状態を確認します。

sudo dnf install net-tools nmap -y
netstat -tuln
nmap -sS localhost

ポートスキャンの防止

ポートスキャンを防ぐため、iptablesを設定します。

sudo iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
sudo iptables -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m limit --limit 1/s -j ACCEPT
sudo iptables-save > /etc/iptables/rules.v4

ログファイルの確認と管理

ログの状態を確認します。

sudo tail -f /var/log/messages
sudo journalctl -xe

古いログの削除スケジュールを設定します。

sudo nano /etc/logrotate.conf

自動アップデートの有効化

セキュリティアップデートを自動化します。

sudo dnf install dnf-automatic -y
sudo systemctl enable --now dnf-automatic.timer

トラブルシューティング

ネットワーク関連の問題が発生した場合、以下を確認します。

  • firewalldやSELinuxの設定状況
  • ログに記録されたエラーメッセージ
  • ネットワーク接続の確認