江戸一番のジャスタウェイ職人のブログ

江戸一番のジャスタウェイ職人

スゲーッ爽やかな気分だぜ。新しいUbuntuを入れたばかりの正月元旦の朝のよーによォ~ッ

まず、sshのパスワード認証を止めます。

インターネットには22番ポートが空いているサーバーを見つけてクラッキングするクローラーが大量に居ます。

ssh

詳しい解説 doc.7kai.org - SSHの設定

# いつもの
mkdir .ssh
chmod 0700 .ssh
echo "自分の公開鍵" >> .ssh/authorized_keys
chmod 0644 .ssh/authorized_keys 
接続確認
exit
ssh username@hostname
パスワードなしでログイン出来るのを確認できたらパスワード認証を無効化します
sudo cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo vi /etc/ssh/sshd_config

diff -u /etc/ssh/sshd_config.bak /etc/ssh/sshd_config
--- /etc/ssh/sshd_config.bak    2016-04-07 15:32:28.901004710 +0900
+++ /etc/ssh/sshd_config    2016-04-06 19:02:05.076211610 +0900
@@ -25,7 +25,7 @@

 # Authentication:
 LoginGraceTime 120
-PermitRootLogin without-password
+PermitRootLogin no
 StrictModes yes

 RSAAuthentication yes
@@ -49,7 +49,7 @@
 ChallengeResponseAuthentication no

 # Change to no to disable tunnelled clear text passwords
-#PasswordAuthentication yes
+PasswordAuthentication no
反映させて終わり
sudo service ssh restart

鍵なしで接続時にパスワードを聞かれず接続が来られるか確認しておきましょう。

mv ~/.ssh/id_rsa ~/.ssh/id_rsa.bak
ssh username@hostname
> Permission denied (publickey).
mv ~/.ssh/id_rsa.bak ~/.ssh/id_rsa

まずこれで一安心ですが、その後立てるミドルウェアやアプリが丸裸にならないようにファイヤーウォールを設定します。

ufw

便利な時代になりました。

sudo ufw default deny
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
sudo ufw status

cron-apt

パッケージの自動更新を設定します。

標準設定ではダウンロードのみでインストールはされません、通知メールを自分でやる派なのでその設定だけ入れます。

通知メールの配送のために postfix が必要ですが、25番ポートを閉じているならSPAM中継に悪用される事はありません。

postfix をインストールする際に構成を聞かれますが Internet Site で入れて後から master.cf から smtpコメントアウトします。

sudo apt-get install cron-apt postfix
sudo vi /etc/cron-apt/config
sudo /usr/sbin/cron-apt

/etc/cron-apt/config

APTCOMMAND=/usr/bin/apt-get
MAILTO="s.aska.org@gmail.com"
MAILON="changes"
DEBUG="changes"
OPTIONS="-o quiet=1"

サーバー監視

すぐ終わるので入れておきましょう。

mackerel.io

MySQL 5.7

AppサーバーにしろDBサーバーにしろclientかserverか大抵どちらか入れます。

最新の MySQL を入れるには mysql-apt-config を公式サイトから導入するのが簡単です。

cd /usr/local/src
sudo wget http://dev.mysql.com/get/mysql-apt-config_0.6.0-1_all.deb
sudo dpkg -i mysql-apt-config_0.6.0-1_all.deb
sudo apt-get update
sudo apt-get install mysql-server
# or 
sudo apt-get install mysql-client

server を入れる場合 root のパスワードを聞かれますが私は blank のまま Enter します。

それでも `sudo mysql` とやれば root でログインできるので、database と user を作り以後これを利用します。

sudo mysql
> CREATE DATABASE justaway DEFAULT CHARSET utf8mb4;
> CREATE USER justaway@192.168.0.20;
> GRANT ALL PRIVILEGES ON justaway.* TO justaway@127.0.0.1;
> FLUSH PRIVILEGES;
> quit