カテゴリー: PC

  • DTIサーバー構築11 「ほんとに私なんだって」

    最近はスパムメール対策のために、メール送信するための制限が多くなってきています。
    その制限の一つ、SPF認証を設定しましょう。
    詳しくは次のリンク先をご参照ください。と、さぼる。
    なりすましメール撲滅に向けたSPF(Sender Policy Framework)導入の手引き

    やる事は一つ、DNSのデータにSPFフォーマットのTXTを入れる。
    私が使っているValue Domainの場合、「DNSレコード/URL転送の変更」で以下の一行を追加。

    txt * v=spf1 +a:mail.yourdomain.com ~all
    意味は、
    *
     全てのサブドメイン(サブドメインなしを含む)からのメールに対して、

    +a:mail.yourdomain.com
     mail.yourdomain.comというホストから送られたメールは信用し、
    ~all
     それ以外から送られたメールは信用しない。
    ということ。

     

    これで送信元が信頼できるかが分かってもらえる。

  • DTIサーバー構築10 「私に送りなさいよ」

    POP3サーバーのインストールの前に、
    rootやwebmaster等に送られる重要なメールは一般ユーザーの自分のアカウントに転送しておこう。
    /etc/postfix/main.cf内に次の行があれば、/etc/aliasesというファイルで、設定可能。

    alias_maps = hash:/etc/aliases
    もうおなじみのviで開こう。

    $ sudo vi /etc/aliases
    最後に次の1行を付け加えれば、重要なメールアドレスへのメールは全てあなたのメールボックスへ。

    root:           you

    複数人に送りたい場合は、次のようにコンマで区切って追加しよう。

    root:           you, yourpartner

    保存後に次のコマンドを実行しないと、反映されないからね。

    $ sudo newaliases

    root@yourdomain.comにメールして、あなた宛にメールが届けばOK。

  • DTIサーバー構築9 「メールしてね」

    SMTPサーバーはSENDMAILでも良いのですが、色々やりたいのでPostfixをインストールします。
    色々やりたいだけで、どんな色々があるのか、全ては知らないのですが。

    まず、インストール。

    $ sudo yum -y install postfix

    インストール後に設定ファイルを編集。

    $ sudo vi /etc/postfix/main.cf

    ファイル内の次の部分を変更。

    myhostname = mail.yourdomain.com
    mydomain = yourdomain.com
    myorigin = $mydomain
    上から、メールサーバーのホスト名、ドメイン名、送信元のドメイン名

    サーバーが対応するネットワークは、全て。

    inet_interfaces = all

    サーバーが信頼するネットワークは、ホスト自身のみ。

    mynetworks_style = host
    mynetworks = 127.0.0.0/8

    サーバーが対応する宛先。
    自分自身のドメイン以外に、サブドメインも指定出来ます。
    ただし、メールボックスは区別されずに同じフォルダに配信されます。

    mydestination = $myhostname, localhost.$mydomain, localhost, a.yourdomain.com, b.yourdomain.com
    配信先を、各ユーザーのホームにフォルダを作成して指定するには、以下のように設定します。

    home_mailbox = Maildir/

    クラッカーから身を守るために、少しばかりの抵抗。

    smtpd_banner = $myhostname ESMTP unknown

    最後に、SMTPサーバーをSendmailからPostfixへ交代させます。

    まず、標準で動いているSENDMAILを停止します。

    $ sudo service sendmail stop
    sm-client を停止中:                                        [  OK  ]
    sendmail を停止中:                                         [  OK  ]

    メールを処理するソフトを切り替えます。

    $ sudo alternatives –config mta
    2 プログラムがあり ‘mta’ を提供します。
      選択       コマンド
    ———————————————–
    *+ 1           /usr/sbin/sendmail.sendmail
       2           /usr/sbin/sendmail.postfix
    Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2

    Postfixを起動させます。

    $ sudo service postfix start
    postfix を起動中:                                          [  OK  ]

    自動起動の設定も行います。

    $ sudo chkconfig sendmail off
    $ sudo chkconfig postfix on

    最後に、サーバー外の自分のメールアドレスに、メールしてみましょう。

    $ mail you@example.com
    Subject: test
    テスト
    .
    EOT

    本文の最後はピリオドだけで改行して下さい。
    メールが来たら、返信してみましょう。
    返信されたメールのチェックはこんな感じ。

    [username@newhost ~]$ mail -f Maildir
    Heirloom Mail version 12.4 7/31/08.  Type ? for help.
    “Maildir”: 1 message 1 new
    >N  1 You                  Fri Jul 26 23:34  49/2495  “Re: test”
    & v 1
    & quit
    “Maildir” complete

    “v 1″で1番目のメールがviで表示されます。
    次は、POP3サーバーのインストールかな。

  • DTIサーバー構築8 「新しい物好きなのね」

    Windowsで言うところのMicrosoftUpdateが、Linuxにも有りまして、その仕組をインストール可能です。

    $ sudo yum -y install yum-cron
    -yを入れると、途中のユーザー確認をふっ飛ばします。

     :(色々表示される)
    Installed:
      yum-cron.noarch 0:3.2.29-40.el6.centos

    Dependency Installed:
      yum-plugin-downloadonly.noarch 0:1.1.30-14.el6

    Complete!
    で、次に、自動的に更新するかの設定をしましょう。

    $ sudo vi /etc/sysconfig/yum-cron
    更新が有るか、チェックだけする?
    (yes:チェックだけ/no:更新もする)

    CHECK_ONLY=no
    更新サーバーが有るかを先にチェックする?
    (yes:チェックする/no:チェックしない)

    CHECK_FIRST=no
    ダウンロードだけにする?
    (yes:ダウンロードだけ/no:更新もする)

    DOWNLOAD_ONLY=no

    「DOWNLOAD_ONLY=yes」の場合は、強制的に「CHECK_ONLY=yes」とされます。

    更新は勝手にしてほしくない時は、更新があればメールしてもらえるように設定しておきましょう。

    MAILTO=root
    これで更新があればroot宛にメールが来ます。

    設定が終わったら、スタート!

    $ sudo service yum-cron start
    夜間 yum 更新の有効化中:                                   [  OK  ]
    自動起動の設定も忘れずに。

    $ sudo chkconfig yum-cron on
    自動起動の確認は次のコマンドで。

    $ sudo chkconfig –list yum-cron
    yum-cron        0:off   1:off   2:on    3:on    4:on    5:on    6:off
    通常起動時のrunlevelを調べて、その状態がonならOK

    $ runlevel
    N 3

    と、+αの情報をちょこちょこメモ

     

    そして、更新があれば、次のようなメールが来る。

    New updates available for host newhost.yourdomain.com
    authconfig.x86_64                      6.1.12-13.el6                   base  
    avahi-libs.x86_64                      0.6.25-12.el6                   base  
     :(色々)
    zlib.x86_64                            1.2.3-29.el6                    base  
    Obsoleting Packages
    libjpeg-turbo.x86_64                   1.2.1-1.el6                     base  
        libjpeg.x86_64                     6b-46.el6                       installed
    Updates downloaded, use “yum -C update” manually to install them.

    ダウンロードが終了しているらしいので、いわれる通りに更新開始。

     

    $ sudo yum -C update
    楽ちん楽ちん。

  • DTIサーバー構築7 「セキュリティ向上委員会」

    最低限のセキュリティ対策はやっておく。基本は大事。

    ServersMan@VPSのセキュリティ設定
    http://dream.jp/vps/esp/manual/mnl_security_01.html

    公式サポートの情報を元に、

    # useradd newusername
    # passwd newusername
    ユーザー newusername のパスワードを変更。
    新しいパスワード:***
    新しいパスワードを再入力してください:***
    passwd: 全ての認証トークンが正しく更新できました。
    SSHで接続しなおして、
    新しいユーザーでログインできたら、rootになれるかを確認!

    [newusername@newhost ~]$ su –
    パスワード:***
    [root@newhost ~]#
    なれたら、rootになれるユーザーを限定するために、rootになれるユーザーをwheelグループに入れる。

    # usermod -G wheel newusername
    sudoが使えるユーザーをwheelグループのユーザーだけに制限する。
    visudoは、sudoが使えるユーザーを変更するためのエディタ。
    “sudo vi /etc/sudoers”と同じこと。

    $ visudo
     次の行のコメント(#)を外して、保存(:wq)。

    %wheel   ALL=(ALL)      ALL
    wheelグループのユーザーは、sudoが使えるかを確認。

    [newusername@newhost ~]$ sudo ls /

    We trust you have received the usual lecture from the local System
    Administrator. It usually boils down to these three things:

        #1) Respect the privacy of others.
        #2) Think before you type.
        #3) With great power comes great responsibility.

    [sudo] password for newusername:***
    aquota.group  bin   dev  home  lib64  mnt  proc  sbin     srv  tmp  var
    aquota.user   boot  etc  lib   media  opt  root  selinux  sys  usr
    [newusername@newhost ~]$
    その他のユーザーは使えないかを確認。

    [notwheeluser@newhost ~]$ sudo ls /
    [sudo] password for notwheeluser:***
    notwheeluser is not in the sudoers file.  This incident will be reported.
    [notwheeluser@newhost ~]$
    確認が終わったら、次はrootになれるユーザーも制限する。

    $ sudo vi /etc/pam.d/su
    次の行のコメント(#)を外して保存。
    auth       required     pam_wheel.so use_uid

    wheelグループのユーザーは、rootになれるかを確認!

    [newusername@newhost ~]$ su –
    パスワード:***
    [root@newhost ~]#

    その他のユーザーは、rootになれない事を確認!

    [notwheeluser@newhost ~]$ su –
    パスワード:***
    su: パスワードが違います
    [notwheeluser@newhost ~]$
    最後に、SSHにrootで直接ログイン出来ない様に設定変更。

    # vi /etc/ssh/sshd_config
    ちなみに、”/”の後に検索したい文字列を入れると検索が可能
    次の行を入れる。

    PermitRootLogin no
    PermitEmptyPasswords no
    SSHを再起動して、rootでログインできないか試しましょう。

    # service sshd restart

    でも、rootで入れなくなると、制限を気にしないといけないから不便なんですよね~。