Linuxサーバーのセキュリティ強化の概要

Linuxサーバーのセキュリティを保護することは、システム管理者にとって困難で時間のかかる作業ですが、攻撃者やブラックハットハッカーから安全に保つためにサーバーのセキュリティを強化する必要があります。 システムを適切に構成し、可能な限り最小限のソフトウェアをインストールすることで、サーバーを保護できます。 ネットワーク攻撃や特権昇格攻撃からサーバーを保護するのに役立つヒントがいくつかあります。

カーネルのアップグレード

古いカーネルは、常にいくつかのネットワークおよび特権昇格攻撃を受けやすいです。 したがって、DebianのaptまたはFedoraのyumを使用してカーネルを更新できます。

$ sudo apt-get update
sudo sudo apt-get dist-upgrade

Root Cronジョブを無効にする

rootまたは高い特権アカウントで実行されているCronジョブは、攻撃者が高い特権を得る方法とし 実行中のcronジョブは次のように表示されます

$ ls/etc/cron*

厳格なファイアウォールルール

アンコモンポートで不要な受信または送信接続をブロックする必要があります。 Iptablesを使用して、ファイアウォールのルールを更新できます。 Iptablesは、着信または発信トラフィックをブロックまたは許可するために使用される非常に柔軟で使いやすいユーティリテ インストールするには、次のように書きます

$ sudo apt-get install iptables

iptablesを使用してFTPポートでの着信をブロックする例を次に示します

$ iptables-A INPUT-p tcp–dport ftp-j DROP

不要なサービスを無効にする

システム上で実行されている不要なサービスやデーモンを停止します。 次のコマンドを使用して、実行中のサービスを一覧表示できます。

:~service service–status-all
acpid
alsa-utils
anacron
apache-htcacheclean
apache2
apparmor
apport
avahi-daemon
binfmt-support
bluetooth
cgroupfs-mount
…スニップ..

または次のコマンドを使用します

$ chkconfig–list|grep’3:オン’

サービスを停止するには、次のように入力します

$ sudoサービス停止

または

$ sudo systemctl stop

バックドアとルートキットの確認

rkhunterやchkrootkitのようなユーティリティは、既知および未知のバックドアとルートキットを検出するために使用できます。 インストールされたパッケージと構成を検証して、システムのセキュリティを検証します。 Writeをインストールするには,

:~$ sudo apt-get install rkhunter-y

システムをスキャンするには、次のように入力します

:~$ sudo rkhunter–チェック

システムコマンドをチェックします。..
‘strings’コマンドのチェックの実行
‘strings’コマンドのチェック
‘shared libraries’チェックの実行
変数のプリロードのチェック
プリロードされたライブラリのチェック
LD_LIBRARY_PATH変数のチェック
ファイルプロパティのチェックの実行
前提条件のチェック
/usr/sbin/adduser
/usr/sbin/chroot
。..スニップ..

リスニングポートをチェック

使用されていないリスニングポートをチェックし、それらを無効にする必要があります。 開いているポートを確認するには、次のように書きます。

:Prot sudo netstat-ulpnt
アクティブなインターネット接続(サーバーのみ)
Proto Recv-Q Send-Qローカルアドレス外部アドレス状態PID/プログラム名
tcp0 0 127.0.0.1:6379 0.0.0.0:*LISTEN2136/redis-server1
tcp0 0 0.0.0.0:111 0.0.0.0:*LISTEN1273/redis-server1
tcp0 0 0.0.0.0:111 0.0.0.0:*LISTEN1273/redis-server1
tcp0 0 0.0.0.0:111 0.0.0.0:*LISTEN1273/redis-server1
tcp0 0 0.0.0.0:111 0.0.0.0:*LISTEN1273/rpcbind
tcp0 0 127.0.0.1:5939 0.0.0.0:*Listen2989/TEAMVIEWERD
tcp0 0 127.0.0.53:53 0.0.0.0:*listen1287/systemd-resolv
tcp0 0 0.0.0.0:22 0.0.0.0:*listen1939/sshd
tcp0 0 0.0.0.0:22 0.0.0.0:*listen1939/sshd
tcp0 0 127.0.0.53:53 0.0.0.0:*listen1939/sshd
tcp0 0 127.0.0.53:53 0.0.0.0:*listen1939/sshd
tcp0 0 127.0.0.1:631 0.0.0.0:*Listen20042/Cupsd
tcp0 0 127.0.0.1:5432 0.0.0.0:*listen1887/postgres
tcp0 0 0.0.0.0:25 0.0.0.0:*31259/マスター
を聞く。..スニップ..

IDS(侵入テストシステム)を使用

IDSを使用してネットワークログをチェックし、悪意のある活動を防止します。 Linuxで利用可能なオープンソースのIds Snortがあります。 それを取付けることができます,

$ wgethttps://www.snort.org/downloads/snort/daq-2.0.6.tar.gz
$wgethttps://www.snort.org/downloads/snort/snort-2.9.12.tar.gz
tar tar xvzf daq-2.0.6.タールgz
$cd daq-2.0.6
$./configure&&make&&sudo make install
tar tar xvzf snort-2.9.12.タールgz
†cd snort-2.9.12
†./configure–enable-sourcefire&&make&&sudo make install

ネットワークトラフィックを監視するには、次のように入力します

:~$ sudo snort
パケットダンプモードで実行中
–==Snortの初期化==–
出力プラグインの初期化!
pcap DAQがパッシブに設定されています。
“tun0″からネットワークトラフィックを取得します。–==初期化完了==–
。..スニップ..

Rootとしてのロギングを無効にする

Rootは完全な権限を持つユーザーとして機能し、システムで何かを行う権限を持っています。 代わりに、sudoを使用して管理コマンドを実行するように強制する必要があります。

所有者ファイルを削除しない

ユーザーやグループが所有していないファイルは、セキュリティ上の脅威になる可能性があります。 これらのファイルを検索して削除するか、適切なユーザーにグループを割り当てる必要があります。 これらのファイルを検索するには、次のように入力します

$ find/dir-xdev\(-nouser-o-nogroup\)-print

SSHとsFTPを使用する

ファイル転送とリモート管理には、telnetやその他の安全でないオープンで暗号化されていないプロトコルの代わりにSSHとsFTPを使用してください。 インストールするには、次のように入力

$ sudo apt-get install vsftpd-y
sudo sudo apt-get install openssh-server-y

ログの監視

不審なアクティビティを防ぐために、システムログとイベントデータを定期的にチェックするためのログ タイプ

$ sudo apt-get install-y loganalyzer

未使用のソフトウェアをアンインストール

小さな攻撃面を維持するために、できるだけ最小限のソフトウェアをインストールします。 あなたが持っているより多くのソフトウェア、あなたが持っている攻撃のより多くのチャンス。 だから、あなたのシステムから不要なソフトウェアを削除します。 インストールされたパッケージを表示するには、

$ パッケージを削除するには、dpkg–list
dp dpkg–info
apt apt-get list
$ sudo apt-get remove-y
sudo sudo apt-get clean

Conlusion

Linuxサーバーのセキュリティ強化は、企業や企業にとって非常に重要です。 そのシステム管理者のための困難で退屈な作業。 いくつかのプロセスは、SELinuxや他の同様のソフトウェアのようないくつかの自動化されたユーティリテ また、minimusソフトウェアを維持し、未使用のサービスやポートを無効にすると、攻撃面が減少します。



+