その他

さくらのVPSでポート開放やファイアウォール設定ができないとき

さくらのVPSでは、初心者の方でも基本的なセキュリティが保てるように、2019年からVPS全バージョンのコントロールパネル側でパケットフィルター機能を提供しています。
サーバOSのインストール時にパケットフィルターを有効/無効を選択でき、インストール後も設定変更することができるVPSサーバ初心者にとっては、とても有難い機能です。

但し、このパケットフィルター機能が有効になっている場合、本サイトで説明しているようなSSHを利用したポート番号設定やファイアウォールの設定がうまく動かないため、パケットフィルター機能を無効にする必要があります。

続きを読む

CentOS7でwgetが見つからない時

CentOS7でwgetコマンドを利用して、WordPressなどをダウンロードしようとして「コマンドが見つかりません」となる場合があります。

wget https://ja.wordpress.org/latest-ja.tar.gz
-bash: wget: コマンドが見つかりません

そんな時は、まずwgetコマンドを実行するためのモジュールがインストールされているか確認します。

yum list installed | grep wget

何も表示されなければインストールされていないため、下記の内容でインストールを行います。

yum -y install wget

以上で、wgetコマンドを実行することができるようになります。

iptablesで特定のIPアドレスからのアクセスを拒否する方法

今回は、VPSに不正アクセスを試みる特定のIPアドレスを拒否する方法をご説明します。
この記事を書くことになった理由として、下記のような不正アクセスを試みるログが確認されたことにあります。

Jul  5 20:51:27 example postfix/smtpd[22218]: connect from unknown[接続元IPアドレス]
Jul  5 20:51:29 example postfix/smtpd[22218]: warning: unknown[接続元IPアドレス]: SASL LOGIN authentication failed: authentication failure
Jul  5 20:51:30 example postfix/smtpd[22218]: lost connection after AUTH from unknown[接続元IPアドレス]
Jul  5 20:51:30 example postfix/smtpd[22218]: disconnect from unknown[接続元IPアドレス]
Jul  5 20:52:11 example postfix/smtpd[22218]: connect from unknown[接続元IPアドレス]
Jul  5 20:52:13 example postfix/smtpd[22218]: warning: unknown[接続元IPアドレス]: SASL LOGIN authentication failed: authentication failure
Jul  5 20:52:14 example postfix/smtpd[22218]: lost connection after AUTH from unknown[接続元IPアドレス]
Jul  5 20:52:14 example postfix/smtpd[22218]: disconnect from unknown[接続元IPアドレス]
Jul  5 20:52:21 example postfix/smtpd[22218]: connect from unknown[接続元IPアドレス]
Jul  5 20:52:24 example postfix/smtpd[22218]: warning: unknown[接続元IPアドレス]: SASL LOGIN authentication failed: authentication failure
Jul  5 20:52:24 example postfix/smtpd[22218]: lost connection after AUTH from unknown[接続元IPアドレス]
Jul  5 20:52:24 example postfix/smtpd[22218]: disconnect from unknown[接続元IPアドレス]

上記のログから何度も不正アクセスを試みようとしていることが確認できました。
これがひどい状況になるとメールの送受信ができなくなるなど、VPSの処理が停止することもあります。

特定のIPアドレスからのアクセスを拒否する設定

それでは、早速上記のログで確認された不正アクセスをしようとする接続元IPアドレスを拒否する設定を行ってみます。
接続拒否をする方法として、ファイアウォールを使用します。
root権限になって、コンソールに下記のように入力します。
※接続元IPアドレスの箇所は、拒否したいIPアドレスにしてください。

iptables -I INPUT -s 接続元IPアドレス -j DROP

iptablesに設定が追加されたか確認してみます。
下記のコマンドで確認ができます。

iptables -L

iptablesに設定が追加されると、下記の行が追加されます。

DROP       all  --  接続元IPアドレス        anywhere

このまま再起動すると、せっかく追加した設定内容が削除されてしまうため、下記のコマンドで設定内容を保存します。

/etc/rc.d/init.d/iptables save

そして、iptablesを再起動します。

/etc/rc.d/init.d/iptables restart

以上が、特定のIPアドレスからのアクセスを拒否する設定方法です。

まとめ

iptablesの設定は、一歩間違えると自らのアクセスも遮断してしまう可能性があるため、気をつけて作業しましょう。