ホストのセキュリティ設定ガイド|パスワード・サービス停止・ファイアウォール対策まで

Linuxシステムのセキュリティ管理は、堅牢なサーバ運用に欠かせません。この記事では、ホストのセキュリティを保つために最低限押さえるべき設定項目を、実務ベースで解説します。



目次

1. シャドウパスワードとその役割

通常のパスワード管理

従来、ユーザーのパスワードは/etc/passwdに保存されていました:

user1:x:1000:1000::/home/user1:/bin/bash

このxは、実際のハッシュ化されたパスワードが/etc/shadowに保存されていることを意味します。

/etc/shadowの特徴

user1:$6$A1...:19357:0:99999:7:::
  • 読み取りはrootのみ
  • パスワードの有効期限、最短変更間隔なども設定可能

この仕組みをシャドウパスワード方式と呼び、セキュリティ強化の基本です。

ログイン禁止設定 /etc/nologin

メンテナンスなどで一時的にログインを禁止したい場合、以下を使います:

touch /etc/nologin

ログインしようとした一般ユーザーに拒否メッセージが表示されます(rootは影響を受けません)。


2. 不要なネットワークサービスを無効化

攻撃者に狙われやすいサービスは、使っていなければ無効化するのが原則です。

xinetd/inetd によるサービス制御

古いLinuxでは、以下のファイルでサービス制御を行っていました。

  • /etc/xinetd.conf
  • /etc/xinetd.d/*
  • /etc/inetd.conf
  • /etc/inetd.d/*

例:telnetサービスを停止する

# xinetd形式
disable = yes

設定後に再起動:

systemctl restart xinetd

3. systemd / SysVinit によるサービス管理

近年のLinuxディストリビューションは、systemdを使用してサービスを管理しています。

systemctlでの操作(systemd対応)

# サービスの停止
sudo systemctl stop httpd

# 自動起動を無効化
sudo systemctl disable httpd

# 現在の状態確認
systemctl status httpd

古いディストリビューション(SysVinit)の場合

# サービスの停止
service httpd stop

# chkconfigによる自動起動制御
chkconfig httpd off

4. ファイアウォール(iptables / firewalld)の概要

iptables(旧方式)

iptablesは、パケットの送受信を制御するコマンドラインツールです。

例:80番ポートをブロック

iptables -A INPUT -p tcp --dport 80 -j DROP

設定を永続化するには、iptables-saveを使用します。


firewalld(新方式)

CentOS 7以降ではfirewalldが主流です。動的なルール管理が可能です。

基本コマンド:

# firewalld の状態確認
sudo firewall-cmd --state

# 現在のゾーン確認
firewall-cmd --get-active-zones

# 80番ポートの許可
firewall-cmd --add-port=80/tcp --permanent

# 設定を再読み込み
firewall-cmd --reload

GUIでの管理(Cockpitなど)も可能。


5. ホストセキュリティ設定チェックリスト

項目内容
✅ シャドウパスワードの使用/etc/shadowの有効活用
✅ 不要サービスの無効化systemctl, /etc/xinetd.dなど
✅ ファイアウォールの設定iptablesまたはfirewalld
✅ root以外のログイン制御/etc/nologinの利用


まとめ

ホストレベルのセキュリティ強化は、「使わないものは無効にする」「アクセスを最小限にする」が鉄則です。本記事のチェック項目を定期的に確認し、システムの健全性を保ちましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次