iptablesの設定メモ
そのままの状態では、サーバへすべてのパケットが通ってしまうので、iptablesを使ってパケットフィルタリングを行います。
フィルタリングルールは、以下のサイトの情報を参考にしながら設定します。
基本的には、外部に公開しているサービスのみポートを開放します。(今後、必要に応じて変更する予定)
上記のページで作成したスクリプトファイル(iptables.sh)は、内部でiptables設定用の外部関数の取り込みを行っているので動作を確認しておきます。もしwgetがインストールされていない場合には、インストールをお忘れなく!
$ sudo yum install wget
関数を実行して /tmp/cidr.txt というファイルが展開されたことを確認します。
# . /root/iptables_functions # IPLISTGET # ls -l /tmp/cidr.txt -rw-r--r-- 1 root root 1107828 Mar 21 03:16 /tmp/cidr.txt
# /root/iptables.sh
そのままだと、以下のエラーメッセージが表示されてしまいます。
Loading additional iptables modules: ip_conntrack_netbios_ns [FAILED]
LinodeのWikiに書かれている情報を参考に /etc/sysconfig/iptables-config を変更します。
/etc/sysconfig/iptables-config 内に記載されている
IPTABLES_MODULES="ip_conntrack_netbios_ns" IPTABLES_MODULES_UNLOAD="yes"
の部分を以下の通りに変更します。
IPTABLES_MODULES="" IPTABLES_MODULES_UNLOAD="no"
iptablesを再起動します。
# service iptables restart
設定内容が正しく反映されたか確認しておきます。
# iptables -n -L
おまけ
これぐらいの設定はしてた方がいいかもしれない。
$ cat /etc/hosts.allow # # hosts.allow This file describes the names of the hosts which are # allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # # local ALL : 127.0.0.1 : allow # 自分のプロバイダ ALL : .xxx.xxx.ne.jp : allow # default ALL : ALL : deny
Linode申込後の初期設定のメモ(環境設定)
環境変数の設定
/sbin, /usr/sbinへのPATHが通っていないので、PATHの設定を変更します。(sudoでコマンド補完したいので)
$ vi ~/.bash_profile PATH=$PATH:$HOME/bin:/sbin:/usr/sbin $ source ~/.bash_profile
タイムゾーン設定
サーバのローカルタイムが日本になっていないので、日本に変更しておきます。
$ sudo rm /etc/localtime $ sudo ln -s /usr/share/zoneinfo/Japan /etc/localtime $ date Mon Mar 22 19:55:07 JST 2010
yumリポジトリの追加
yumリポジトリの優先度を付けることができるパッケージ(yum-priorities)を事前にインストールしておきます。
$ sudo yum install yum-priorities
インストール完了後、/etc/yum.repos.d/CentOS-Base.repo 内の基本パッケージ(base, updates, addons, extras, centosplus, contribute)の優先度をそれぞれ設定します。以下の1行をそれぞれについて追記します。(数値が小さいほど優先度が高く、既定値は99になります)
priority=1
rpmforgeリポジトリの追加
rpmが以下に用意されているので、さくっとインストールしてしまいます。
現時点で、CentOS 5での最新版は、0.3.6-1でしたので、それをインストールします。
$ sudo rpm -ivh http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
インストールが終わると rpmforge.repo というファイルが作成されます。
$ cat /etc/yum.repos.d/rpmforge.repo ### Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag ### URL: http://rpmforge.net/ [rpmforge] name = Red Hat Enterprise $releasever - RPMforge.net - dag baseurl = http://apt.sw.be/redhat/el5/en/$basearch/rpmforge mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge enabled = 1 protect = 0 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag gpgcheck = 1
あわせて優先度を設定しておきます。以下の1行を追記します。
priority=10
DAGリポジトリの追加
以下のように新規に /etc/yum.repos.d/dag.repo ファイルを以下のように作成します。優先度は、priority=10とし、--enablerepo=dagオプションを付けてインストールするようにします。
$ cat /etc/yum.repos.d/dag.repo [dag] name=Dag RPM Repository for Fedora Core baseurl=http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag enabled=0 gpgcheck=1 gpgkey=http://ftp.riken.jp/Linux/dag/packages/RPM-GPG-KEY.dag.txt priority=10
EPELリポジトリの追加
rpmが以下に用意されているので、さくっとインストールしてしまいます。
$ sudo rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
インストールが終わると epel.repo というファイルが作成されるので、優先度を設定します(priority=10)。またインストール時には、--enablerepo=epelとする必要があります。
$ cat /etc/yum.repos.d/epel.repo [epel] name=Extra Packages for Enterprise Linux 5 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/5/$basearch mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-5&arch=$basearch failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL priority=10 [epel-debuginfo] name=Extra Packages for Enterprise Linux 5 - $basearch - Debug #baseurl=http://download.fedoraproject.org/pub/epel/5/$basearch/debug mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-debug-5&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL gpgcheck=1 priority=10 [epel-source] name=Extra Packages for Enterprise Linux 5 - $basearch - Source #baseurl=http://download.fedoraproject.org/pub/epel/5/SRPMS mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-source-5&arch=$basearch failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL gpgcheck=1 priority=10
その他
Linode申込後の初期設定のメモ(ssh編)
注意事項
OSは、使い慣れているCentOSの最新版(現状では、5.3)を選択しているので、それを前提として今後話をすすめていきます。
事前準備
Networkのタブを選択し、Network Configurationのエリアに表示されている自分のサーバのeth0(IPアドレス)を確認しておきます。
以下、このように表示されていたものとして話をすすめます。
アカウント作成
まずはrootでしかアカウントは存在しないので、rootでログインします。
$ ssh root@xxx.xxx.xxx.xxx
何はともあれ、自分用のアカウント(xxxxx)を作成してしまいます。その際、wheelグループに所属するようにしておきます。忘れずにパスワードも設定しておきます。
# useradd -u 400 -G wheel xxxxx # passwd xxxxx
sudoのインストールと設定
素の状態では、sudoパッケージすらインストールされていないので、インストールしておきます。
# yum install sudo
wheelグループに所属するユーザのみsudoを許可するように設定しておきます。
# visudo # コメントアウトされているのを外す %wheel ALL=(ALL) ALL
公開鍵でのsshログイン設定
linodeサーバへsshログインするマシンにて公開鍵/秘密鍵を作成し、公開鍵をlinodeサーバにscpで転送しておきます。
$ ssh-keygen -t rsa $ scp ~/.ssh/id_rsa.pub xxx.xxx.xxx.xxx:~
$ ssh xxxxx@xxx.xxx.xxx.xxx
そのままだと、ホームディレクトリ直下に.sshディレクトリが存在しないので、作成します。(mkdir ~/.ssh && chmod 700 ~/.sshでもOK)
$ ssh localhost ※コマンド実行後に ~/.ssh/ ディレクトリが作成されたことを確認してください
公開鍵をauthorized_keysに追記しておきます。(追記後は、元ファイルは削除しておくこと)
$ cat id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 600 ~/.ssh/authorized_keys $ rm id_rsa.pub
sshdの設定変更
そのままだとセキュリティ上の問題があるので、サーバへのsshログインの制限をかけておきます。
設定ファイル(sshd_config)の変更は以下の通りです。
$ sudo vi /etc/sshd_config # パスワード認証を無効化し、公開鍵認証を有効化する PasswordAuthentication no PubkeyAuthentication yes ChallengeResponseAuthentication no # rootでの直接ログインは認めない PermitRootLogin no # PAM認証は使わない UsePAM no # リモートホスト名の確認は行わない UseDNS no # X11 Forwardingは使わない X11Forwarding no # 許可ユーザを制限 AllowUsers xxxxx
最後にsshdを再起動します。
$ sudo service sshd restart
もちろんsshログインできることを確認して下さい。
VPSサービス(Linode)に申し込んだ。
現在、さくらインターネットのレンタルサーバを利用しているんですが、rootアカウントがないために色々と不便なことも多い。
ということで、この3連休に思い切ってVPS(Virtual Private Server)サービスに申し込んでみました。
国内でもいくつかVPSサービスを提供しているようですが、やっぱり海外の方がオススメされているようなので、その中でも他社に比べてよさげなLinodeに申し込んでみました。
今回、選択した「Linode 540」は、月額29.95ドル(現時点では、2,710円)で以下のサービスが提供されると書かれており、納得できるレベルにあると思います。
- Transfer: 200GB
- Storage: 16GB
- Transfer: 200GB
ということで、これからちょこちょこと作業メモをまとめていこうと思います。
興味を持った方は、こちらからどうぞ。(referral codeが付いているので、気に入らない人は取り除いてくれて構いません)
全ユーザのcronの設定内容の格納場所
RedHat系だとココにある。
$ sudo ls -l /var/spool/cron/
Baker Bounce(@三軒茶屋)へ行ってきた
大学時代からの友人と三軒茶屋に初めて行ってきました。もう首都圏に引っ越してから10年経ってるにもかかわらず、三茶には行ったことがなかったんですよね、実は。
人からBaker Bounceって名前のハンバーガー屋さんがオススメということだそうで、早速行ってきました。
店内の様子は、いかにもアメリカンって感じ。
注文したのは、エアメールスペシャルという2月限定のメニュー。最初は、シンプルにハンバーガーにしようと思ってたけど、注文する直前になって変えちゃいました。
公式ブログのエアメール スペシャル ¥1,470【2月のオススメ】 : Diner Road|BakerBounce オフィシャルブログによると、「バーベキューポークレッグチャンクとブリスケットと呼ばれる牛ばら肉のコンビネーションサンド」だそうです。(帰宅してたら調べて知った)
サンドウィッチにフォーカスしすぎて、全体像が分かりづらいので、もう1枚。
待ちに待っただけあって、美味しかったです!しょっちゅう来るわけではないので、奮発してみて正解だったかな。