2020年 11月 の投稿一覧

[Linux] SSHのログイン時にIPアドレス制限を行う

ここ数日、SSHへのアタックが急激に増加した関係で特定のIPアドレスからだけログインできるよう対応しました。結論から言うと以下の設定を行うだけです。

特定のIPアドレスのみログインできる

$ sudo vi /etc/hosts.allow
sshd: (許可したいIPアドレス)
$ sudo vi /etc/hosts.deny
sshd: all

/etc/hosts.allowで許可を、/etc/hosts.denyで拒否の設定を行います。これはSSHだけではなく「TCP Wrapper」を利用しているサーバソフトウェアは同じ要領で設定が可能です。

特定のIPアドレスをブロックする

逆にブロックしたい場合には以下のように設定します。

$ sudo vi /etc/hosts.allow
sshd: all
$ sudo vi /etc/hosts.deny
sshd: (拒否したいIPアドレス)

hosts.allow|denyの書式

IPアドレスは半角スペースで区切り複数同時に記述することや、サブネットマスクなどで指定することもできます。

sshd: 192.168.1.1 192.168.1.2
sshd: 192.168.1.1/255.255.255.0

以下のようにIPアドレスの途中までを記述した場合は前方一致となります。

sshd: 192.168.1.

IPアドレスだけではなく.example.comなど接続元のドメインで許可(拒否)もできます。以下の例では後方一致となります。ただしドメインを指定した場合はIPアドレスのみの場合と比べてドメインを調べる処理が加わりますので多少重くなります(よほど大量に来なければ気にするほどではありませんが)

sshd: .ocn.ne.jp

行末にバックスラッシュ()を付けると途中で改行することも可能です。

sshd: 192.168.1.1 192.168.1.2 \
      .ocn.ne.jp

注意点

いずれもファイルに保存した瞬間に設定が適用されるため、間違えた設定をしてしまうと自分でも二度とログインできなくなる可能性があります。設定する際には十分に注意してください。

続きを読む

[macOS] Terminalでファイルを監視し更新されたら指定の処理をする – fswatch

一言で言えばGulpのようなタスクランナーっぽいことをmacOS上でやりたかったのです。

「Gulp入れればいいじゃん」という話もありますが、今回はファイルが更新されたら特定のコマンドを実行したいだけだったので、わざわざNode.jsの環境を整えてJavaScriptをガリガリ書くのはちょっと面倒だったんですよね。

macOSではファイルが更新されたか監視する際にfswatchを使うのが鉄板のようなので、こちらを利用します。


続きを読む

Linux入門「はじめてのコマンドライン」- Part.5

※この記事は専門学校の講義用に作成されたものです

今回はLinuxを利用する上で避けては通れない「パーミション」について取り上げます。

今後Linux上でプログラミングを行ったり、サーバ運用をする場合には必ずこのパーミションを意識して行う必要が出てくるためです。もしいい加減なパーミションの設定をしていると、コマンドを間違えて実行した際の被害の拡大を招くだけではなく、悪意のある第三者に攻撃の糸口を与えてしまいかねません。

パッと見は地味ですが非常に重要な項目と言えます。
続きを読む

[Redmine] EasyGanttで日本の祝日表示に対応する – 2021年版

Redmineの標準のガントチャートは一覧表示されたものを眺める以上のことができません。そんな時に使うのが「EasyGanttプラグイン」。ドラッグ&ドロップでチケットの期間や依存関係が設定できる優れ物で、機能は限定されてしまいますが無料でも利用できます。

非常に便利なのですが、海外製ということもあり日本の祝日にはデフォルトだと対応していません。そのまま使っているとうっかり祝日も工数に含めてしまいそうになるのでViewCustomizePluginを利用しこの問題に対応します。

2021年末までの祝日一覧も掲載しましたのでコピペしてご利用ください。
続きを読む

[AWS] CloudFrontからのリクエスト以外をオリジンで拒否する

このブログはCloudFrontからLightsailで作成したオリジンを参照する構成になっているのですが、最近オリジンに直接リクエストが来ることが増えました。間違えてオリジンのURLを返している可能性もあったのでログを解析してたのですが、大方の予想通りセキュリティホールを探っている物ばかりでした。

めちゃめちゃ気持ち悪い(´・ω・`) オリジンへのリクエストはCloudFrontからしか来ないと割り切って、80/443番へ直接来るリクエストはすべて拒否することにしました。

ここではApacheの設定を掲載しますが、同様の手法でnginxなど他のWebサーバーでも利用できると思います。

続きを読む