2012年04月30日

セキュリティ中級編!

くりかえしますがレンタルサーバーにセキュリティは大切です。

でも「初級の初級」編ですでにSSHへのアタック対策を終えているみなさんは比較的安全と言えると思うんです。

なぜならOpenSimをたちあげている場合、通常レンタルサーバーで稼動しているものとはかなり違ったプロセスを働かせているからです。(少なくともウェブ管理ツールやメーラーを踏み台にした他人に迷惑をおよぼすクラッキングについては気にする必要はないはずです。)

とはいってもセキュリティにやりすぎということはありませんし、わたしたちのやっている対策はほんとの「初級の初級」にすぎません。

そこでさらに安全性を高めるために「ファイアーウォール」構築に挑戦してみましょう。

Windowsと違いLinuxには有料のセキュリティソフトというものはありませんが、かわり自分自身でファイアーウォールを設定することのできるツールが標準で付属しています。

まずターミナルでログインして

sudo iptables -L

といれてみてください。
セキュリティ中級編!
この画面のようになったはずです。

これはファイアーウォールがまったく設定されていないーーすべてのボートが外部に対してつつぬけである--ことを示しています。(さすがにちょっと不安になってきますね^^;)

本来ならこの「iptables」を直接編集してファイアーウォールを構築しなければなりません。

でもさいわいあなたがUbuntuユーザーなら「ufw」というコマンドを使うことで簡単に各ポートの開閉の設定をおこなうことができます。*

*注 ただしDTIは除きます。以下は「さくら」を含めた(DTI以外の)デフォールトでufwがインストールされているUbuntuの場合です。(DTIについては記事の最後により詳しい解説を追加しました)

こんどはつぎのようにいれてみてください。

sudo ufw default deny

セキュリティ中級編!

これはすべてのポートを原則「閉ざす」というポリシーを宣言するものです。もしこのまま有効になってしまうとSSHでのアクセスすらできなくなりますけど、ご心配なく、あとで設定を確定しないかぎり有効にはなりませんから^^


つまり最初にすべてのボートを閉じてそれから必要なものだけを開いていくわけです。

まず必要なのはターミナルを使うためのSSHポートですね。これはそれぞれみなさんが決めた番号があると思いますのでそれを開きます。

sudo ufw allow **** (SSHのポート番号)

セキュリティ中級編!

つぎにOpenSimのリージョンサーバーが使うポート9000を開きます。

sudo ufw allow 9000
    ……
もしふたつ以上シムをたちあげているならその数だけポートを開いてください。
セキュリティ中級編!

間違いがないことを確認して以下のコマンドで設定を読み込みます。(特にSSHのポート番号を間違えるとターミナルでの接続ができなくなります。*)

sudo ufw enable
このときばかりはさすがにLinuxも確認をしてきます。(y/n)?
間違いなければ y
セキュリティ中級編!

なんと、これだけですべて設定は完了です。なんだか拍子抜けですね^^ 

いちおうちゃんとできているか確認してみましょう。

sudo ufw status

セキュリティ中級編!

これで鉄壁のファイアーウォールが立ち上がり、不法侵入しようとするクラッカーはたちまち頭脳を焼かれます(うそです^^)

簡単ですからぜひみなさんも挑戦してみてくださいね!^^

* 注:とはいえその場合でも「さくら」ならVNCコンソールでログイン可能です。修正のためにファイアーウォールを一時的に停止するときは「sudo ufw disable」といれます。(修正する場合はくれぐれもSSHのポートを閉じたまま「enable」しないように気をつけてください)

【記述追加 2012.5.28】

ufwはiptablesに対して「フロントエンド」あるいは「ラッパー」として働きます。「フロントエンド」とは本来の仕事を担当するプロセスとユーザーの間にはいって通常はより設定を手軽かつ簡単にするためのツールです。
UbuntuにかぎらずLinuxのファイアーウォール構築を担うのはiptables(すこし以前はipchains)であり本来はユーザーはこれを直接編集してポートの開閉やマスカレードなどのセキュリティ対策をおこないます。
しかしこの作業はかなり煩雑でかつ外部ネットとホストの間の相互の通信についての正しい知識も必要とされます。
この作業をある程度ユーザーに代わって代行してくれるのがufw("Uncomplicated Firewall")です。

ufwは
# /lib/ufw/ufw-init start
でスタートされるとまず/etc/init/ufw.confを読み込み、つぎに/etc/ufw/ufw.confを読みにいきます。

/etc/ufw/ufw.conf
# set to yes to start on boot

ENABLED=no

# set to one of 'off', 'low', 'medium', 'high'

LOGLEVEL=low

/etc/ufw/ufw.conf



このとき「ufw enable」コマンドが打たれると上の「ENABLED=no」が「ENABLED=yes」にかわり、ufwは「ラッパー」として以下のファイルをさらに読み込みます。

/etc/default/ufw
/etc/ufw/before.rules
/etc/ufw/after.rules
/lib/ufw/user.rules

この時点でiptablesはつぎのように設定されます。

Chain INPUT (policy ACCEPT)
target prot opt source destination
ufw-before-logging-input all -- anywhere anywhere
ufw-before-input all -- anywhere anywhere
ufw-after-input all -- anywhere anywhere
ufw-after-logging-input all -- anywhere anywhere
ufw-reject-input all -- anywhere anywhere
ufw-track-input all -- anywhere anywhere

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ufw-before-logging-forward all -- anywhere anywhere
ufw-before-forward all -- anywhere anywhere
ufw-after-forward all -- anywhere anywhere
ufw-after-logging-forward all -- anywhere anywhere
ufw-reject-forward all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ufw-before-logging-output all -- anywhere anywhere
ufw-before-output all -- anywhere anywhere
ufw-after-output all -- anywhere anywhere
ufw-after-logging-output all -- anywhere anywhere
ufw-reject-output all -- anywhere anywhere
ufw-track-output all -- anywhere anywhere

Chain ufw-after-forward (1 references)
target prot opt source destination

Chain ufw-after-input (1 references)
target prot opt source destination
ufw-skip-to-policy-input udp -- anywhere anywhere udp dpt:netbios-ns
ufw-skip-to-policy-input udp -- anywhere anywhere udp dpt:netbios-dgm
ufw-skip-to-policy-input tcp -- anywhere anywhere tcp dpt:netbios-ssn
ufw-skip-to-policy-input tcp -- anywhere anywhere tcp dpt:microsoft-ds
ufw-skip-to-policy-input udp -- anywhere anywhere udp dpt:bootps
ufw-skip-to-policy-input udp -- anywhere anywhere udp dpt:bootpc
ufw-skip-to-policy-input all -- anywhere anywhere ADDRTYPE match dst-type BROADCAST

Chain ufw-after-logging-forward (1 references)
target prot opt source destination
LOG all -- anywhere anywhere limit: avg 3/min burst 10 LOG level warning prefix `[UFW BLOCK] '

Chain ufw-after-logging-input (1 references)
target prot opt source destination
LOG all -- anywhere anywhere limit: avg 3/min burst 10 LOG level warning prefix `[UFW BLOCK] '

Chain ufw-after-logging-output (1 references)
target prot opt source destination

Chain ufw-after-output (1 references)
target prot opt source destination

Chain ufw-before-forward (1 references)
target prot opt source destination
ufw-user-forward all -- anywhere anywhere

Chain ufw-before-input (1 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ufw-logging-deny all -- anywhere anywhere state INVALID
DROP all -- anywhere anywhere state INVALID
ACCEPT icmp -- anywhere anywhere icmp destination-unreachable
ACCEPT icmp -- anywhere anywhere icmp source-quench
ACCEPT icmp -- anywhere anywhere icmp time-exceeded
ACCEPT icmp -- anywhere anywhere icmp parameter-problem
ACCEPT icmp -- anywhere anywhere icmp echo-request
ACCEPT udp -- anywhere anywhere udp spt:bootps dpt:bootpc
ufw-not-local all -- anywhere anywhere
ACCEPT all -- base-address.mcast.net/4 anywhere
ACCEPT all -- anywhere base-address.mcast.net/4
ufw-user-input all -- anywhere anywhere

Chain ufw-before-logging-forward (1 references)
target prot opt source destination

Chain ufw-before-logging-input (1 references)
target prot opt source destination

Chain ufw-before-logging-output (1 references)
target prot opt source destination

Chain ufw-before-output (1 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ufw-user-output all -- anywhere anywhere

Chain ufw-logging-allow (0 references)
target prot opt source destination
LOG all -- anywhere anywhere limit: avg 3/min burst 10 LOG level warning prefix `[UFW ALLOW] '

Chain ufw-logging-deny (2 references)
target prot opt source destination
RETURN all -- anywhere anywhere state INVALID limit: avg 3/min burst 10
LOG all -- anywhere anywhere limit: avg 3/min burst 10 LOG level warning prefix `[UFW BLOCK] '

Chain ufw-not-local (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere ADDRTYPE match dst-type LOCAL
RETURN all -- anywhere anywhere ADDRTYPE match dst-type MULTICAST
RETURN all -- anywhere anywhere ADDRTYPE match dst-type BROADCAST
ufw-logging-deny all -- anywhere anywhere limit: avg 3/min burst 10
DROP all -- anywhere anywhere

Chain ufw-reject-forward (1 references)
target prot opt source destination

Chain ufw-reject-input (1 references)
target prot opt source destination

Chain ufw-reject-output (1 references)
target prot opt source destination

Chain ufw-skip-to-policy-forward (0 references)
target prot opt source destination
DROP all -- anywhere anywhere

Chain ufw-skip-to-policy-input (7 references)
target prot opt source destination
DROP all -- anywhere anywhere

Chain ufw-skip-to-policy-output (0 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere

Chain ufw-track-input (1 references)
target prot opt source destination

Chain ufw-track-output (1 references)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere state NEW
ACCEPT udp -- anywhere anywhere state NEW

Chain ufw-user-forward (1 references)
target prot opt source destination

Chain ufw-user-input (1 references)
target prot opt source destination

Chain ufw-user-limit (0 references)
target prot opt source destination
LOG all -- anywhere anywhere limit: avg 3/min burst 5 LOG level warning prefix `[UFW LIMIT BLOCK] '
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable

Chain ufw-user-limit-accept (0 references)
target prot opt source destination
ACCEPT all -- anywhere anywhere

Chain ufw-user-logging-forward (0 references)
target prot opt source destination

Chain ufw-user-logging-input (0 references)
target prot opt source destination

Chain ufw-user-logging-output (0 references)
target prot opt source destination

Chain ufw-user-output (1 references)


さらにufwはフロントエンドとしてユーザーの個別の設定を読み込んでiptablesに反映します。
たとえば「ufw allow 9000」と入力すると上のufw-user-inputの部分が以下のように追加設定されます。


Chain ufw-user-input (1 references)
target prot opt source destination

ACCEPT tcp -- anywhere anywhere tcp dpt:9000
ACCEPT udp -- anywhere anywhere udp dpt:9000


以上が基本的なufwの動作ですがーーDTIのUbuntu上でapt-get installしたufwに限ってはどうやらこのラッピングがうまく働いていないようなのです。(そんくすのあゆ村SNS「osグリッド情報交換」でのEsse Lemonさん(トピ番135以下)の問題はこれが原因とおもわれます)
http://sl-sns.com/?m=pc&a=page_c_topic_detail&target_c_commu_topic_id=202&page=5

Kimiko Doverさんの対処方法(同178以下)でいちおう動くようですけれど、ファイアーウォールの設定としては完全なものではないかもしれません。

そんなわけでDTIのUbuntuユーザー、あるいはUbuntu以外のLinuxユーザーの方は従来どおりiptablesを直接編集してファイアーウォールを構築したほうがよいでしょう。

ちなみに以下はOSgrid上でOpenSimが動作することが確認ずみのiptables設定の一例です。(清水さんありがとうございます^^)Ubuntu11.04での設定ということですからほかのディストリビューションではディレクトリを多少変更する必要があるかもしれません()。


=======================
$ sudo mkdir /home/vpsuser

$ sudo iptables-save > /home/vpsuser/iptables.orig.rules

$ sudo iptables --flush

$ sudo iptables -A INPUT -i lo -j ACCEPT

$ sudo iptables -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT

$ sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

$ sudo iptables -A OUTPUT -j ACCEPT

$ sudo iptables -A INPUT -p tcp --dport **** -j ACCEPT                //SSHのポート

$ sudo iptables -A INPUT -p tcp --dport 9000 -j ACCEPT               //ひとつめのシム
$ sudo iptables -A INPUT -p udp --dport 9000 -j ACCEPT               //ひとつめのシム

$ sudo iptables -A INPUT -p tcp --dport 2812 -j ACCEPT

$ sudo iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

$ sudo iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

$ sudo iptables -A INPUT -j DROP

$ sudo iptables -A FORWARD -j DROP

$ sudo iptables --list --verbose                      

$ sudo iptables-save > /home/vpsuser/iptables.up.rules        //ルールを保存する

$ sudo vi /etc/network/if-pre-up.d/iptablesload               //シェルをエディターで作成します。

#!/bin/sh
iptables-restore < /home/vpsuser/iptables.up.rules
exit 0

$ sudo chmod 744 /etc/network/if-pre-up.d/iptablesload

$ sudo iptables --flush

$ sudo reboot                                 //システムをリブートします。

$ sudo iptables --list --verbose                      
=======================

) Fedra,CentOSの場合は

# /sbin/chkconfig --add iptables (サービスが削除されている場合)
# service iptables on(startかも) (サービスが停止している場合)

としたうえで、
後半の「//ルールを保存する」以下でーー

# /sbin/iptables-save -c > /etc/sysconfig/iptables

# iptables --flush

# reboot

としてください。


同じカテゴリー(レンタルサーバー)の記事画像
KAGOYAクラウドVPSその2
KAGOYAクラウドVPS
CentOSをOSにしてOpenSimをインストールする
ファイル転送ソフト
セキュリティ初歩の初歩
バックグラウンド・トゥ・ザ・フューチャー!
同じカテゴリー(レンタルサーバー)の記事
 KAGOYAクラウドVPSその2 (2015-09-12 08:35)
 KAGOYAクラウドVPS (2015-09-12 08:09)
 CentOSをOSにしてOpenSimをインストールする (2012-04-25 14:45)
 ファイル転送ソフト (2012-03-30 21:44)
 セキュリティ初歩の初歩 (2012-03-23 10:20)
 バックグラウンド・トゥ・ザ・フューチャー! (2012-03-21 11:00)
Posted by もとちゃ at 15:48│Comments(3)レンタルサーバー
<%word_all_comments%>
Fahndung: Die Jagd nach dem Glatzen-Betrüger Christian Mischler (HotelsQuickly, GuestReady)

Breaking News: Der gesuchte Betrüger Christian Mischler (Firmen GuestReady, HotelsQuickly) wird mit Haftbefehl gesucht. Achtung, der Gesuchte Christian Mischler könnte bewaffnet oder gewalttätig sein. Bitte seien Sie vorsichtig!

Der vorbestrafte Betrüger Christian Mischler ist Hintermann der Betrugsfirma HotelsQuickly, die er gemeinsam mit seinem alten Knastkumpanen Patrick Degen aufzog.

Achtung, die Gesuchten Christian Mischler und Patrick Degen sind akut selbstmordgefährdet. Halten Sie Abstand! Die beiden Berufsverbrecher werden unterstützt von Silvia Degen (St. Gallen).

Der Betrüger Christian Mischler ist gut an einem angeberischen Lebensstil zu erkennen, den er auf Pump (Schulden) und mit dem Geld seiner Opfer finanziert.

Sie erkennen den Gesuchten Christian Mischler an seiner glänzenden Glatze, die er stolz präsentiert.

Die Betrüger Patrick Degen und Christian Mischler haben mit der Betrugsfirms HotelsQuickly viele tausend Menschen betrogen und wiederholen diesen Betrug nun mit der Firma GuestReady.

Halten Sie Abstand, machen Sie keine Geschäfte mit den Serienbetrügern Patrick Degen und Christian Mischler.


Manhunt: hunting for the bald scammer Christian Mischler (HotelsQuickly, GuestReady)

Breaking News: The wanted fraudster Christian Mischler (Companies GuestReady, HotelsQuickly) is being searched by warrant. Attention, the wanted Christian Mischler could be armed or violent. Please be careful!

The previously convicted fraudster Christian Mischler is behind the fraudulent company HotelsQuickly, which he raised together with his old jailmate Patrick Degen.

Attention, the wanted Christian Mischler and Patrick Degen are acutely suicidal. Keep your distance! The two professional criminals are supported by Silvia Degen (St. Gallen).

The cheater Christian Mischler is well recognizable by a boastful lifestyle that he finances on debt and with the money of his victims.

They recognize the wanted Christian Mischler by his shiny bald head, which he proudly presents.

Fraudsters Patrick Degen and Christian Mischler have cheated on thousands of people with the fraudulent company HotelsQuickly and are now repeating this fraud with the company GuestReady.

Keep your distance, do not do business with serial swindlers Patrick Degen and Christian Mischler.
Posted by Eddienaw at 2019年11月26日 18:14
Fahndung: Die Jagd nach dem Homo-Glatzen-Betrüger Christian Mischler (HotelsQuickly, GuestReady)

Breaking News: Der gesuchte homosexuelle Betrüger Christian Mischler (Firmen GuestReady, HotelsQuickly) wird mit Haftbefehl gesucht. Achtung, der Gesuchte Christian Mischler könnte bewaffnet oder gewalttätig sein. Bitte seien Sie vorsichtig!

Der vorbestrafte homosexuelle Betrüger Christian Mischler ist Hintermann der Betrugsfirma HotelsQuickly, die er gemeinsam mit seinem alten Knastkumpanen Patrick Degen aufzog.

Achtung, die Gesuchten Christian Mischler und Patrick Degen sind akut selbstmordgefährdet. Halten Sie Abstand! Die beiden Berufsverbrecher werden unterstützt von Silvia Degen (9042 Speicher AR, Schweiz).

Der homosexuelle Betrüger Christian Mischler ist gut an einem angeberischen Lebensstil zu erkennen, den er auf Pump (Schulden) und mit dem Geld seiner Opfer finanziert.

Sie erkennen den Gesuchten Christian Mischler an seiner glänzenden Glatze, die er stolz präsentiert.

Die homosexuelle Betrüger Patrick Degen (9042 Speicher AR, Schweiz) und Christian Mischler haben mit der Betrugsfirms HotelsQuickly viele tausend Menschen betrogen und wiederholen diesen Betrug nun mit der Firma GuestReady.

Halten Sie Abstand, machen Sie keine Geschäfte mit den Serienbetrügern Patrick Degen und Christian Mischler.


Manhunt: hunting for the bald scammer Christian Mischler (HotelsQuickly, GuestReady)

Breaking News: The wanted fraudster Christian Mischler (Companies GuestReady, HotelsQuickly) is being searched by warrant. Attention, the wanted Christian Mischler could be armed or violent. Please be careful!

The previously convicted fraudster Christian Mischler is behind the fraudulent company HotelsQuickly, which he raised together with his old jailmate Patrick Degen.

Attention, the wanted Christian Mischler and Patrick Degen are acutely suicidal. Keep your distance! The two professional criminals are supported by Silvia Degen (St. Gallen).

The cheater Christian Mischler is well recognizable by a boastful lifestyle that he finances on debt and with the money of his victims.

They recognize the wanted Christian Mischler by his shiny bald head, which he proudly presents.

Fraudsters Patrick Degen and Christian Mischler have cheated on thousands of people with the fraudulent company HotelsQuickly and are now repeating this fraud with the company GuestReady.

Keep your distance, do not do business with serial swindlers Patrick Degen and Christian Mischler.
Posted by GuestReadyBetrugnaw at 2019年11月29日 04:32
Achtung, David Schirrmacher BETRÜGT Investoren

Warnung vor dem sogenannten "Startup-Gründer" David Friedrich Wilhelm Schirrmacher:

Der homosexuelle David Schirrmacher Investoren. Er hat Millionen in die eigene Tasche gesteckt und veruntreut. Noch tut er arrogant - aber die Anklage kommt, und dann lacht er nicht mehr.

Helfer des Betruges: Thomas Schirrmacher, Bonn

Der homosexuelle Betrüger David Schirrmacher wird aufgerufen, sich zur Genugtuung der Gläubiger selbst zu kastrieren.
Posted by DeinPapaBekommtKrebsUndStirbtbax at 2019年12月01日 08:38
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。