実践Linux
CentOS5/6.5        CentOS5/6.5 目次へ  TOP(HOME)へ

SSL/TLS(CentOS5の場合)  2011年2月





解説(解説書より抜粋)
SSLを使えば、ユーザーにとっては特別な知識や準備なしに暗号通信することができる。
SSLとTLSの間には互換性はないが、TLSはSSLv3(バージョン3)を基に作られたもので、仕組みはほとんど同じ。
SSLの暗号化通信には、PKI(公開鍵暗号基盤)という仕組みが利用される。
PKIとは「公開鍵」と「秘密鍵」のキーペアからなる公開鍵暗号方式という技術を利用したシステムのことで、この「公開鍵」、「秘密鍵」を利用して、クライアント側で生成した「共通鍵」を安全にサーバ側に送信する。
暗号化通信自体はその高速な「共通鍵」を利用して行われる。

SSLは、TCP/IPのトランスポート層とアプリケーション層の間で動作。したがって、HTTP、POP、SMTP、FTPといった秘匿性が要求されるプロトコルと組み合わせて利用される。
秘密キーで暗号化した情報は特定の公開キーでしか復号化できないので、データを復号化できることで、データの所有者を証明することができる。SSLで使われる証明書は、ユーザ情報と公開鍵を認証機関(CA)の秘密鍵で暗号化したもの。この証明書は、認証機関が公開している公開鍵で復号化できるので、認証機関が発行したものであることが証明できる。
証明書には、その効力によって、グローバル証明書、プライベート証明書、自己署名証明書の3つの種類がある。単に通信を暗号化したいだけの場合は、もっとも手軽な自己署名証明書が使われる。

証明書作成の流れ
@秘密鍵の作成  openssl genrsaコマンド  パスフレーズが求められる。
A証明書署名要求(csr)の作成  openssl reqコマンド  情報の入力
 これは秘密鍵を使用して作成される。
Bここで作ったもの(csr)を証明機関へ提出して署名してもらい、証明書(crt)をもらう。
 署名は、openssl caコマンド  有効期限等

自己署名証明書の場合、秘密鍵と自己署名証明書をまとめて作成できる。

インストール
CentOS5には、openSSLはインストール済み。
確認 # yum list installed | grep openssl

自己署名証明書の作成(WWWサーバーの場合)
# cd /etc/pki/tls/certs
Makefileの編集  有効期限が365日に設定されているので、延ばしたいときは-days 365を3650(10年)等に変更しておく。3カ所ある。
# make wwwmydom.crt  名称はなんでもよい
 パスフレーズの入力(2回)。秘密鍵を暗号化するために利用される。
 再度、パスフレーズの入力。
 証明書の情報を入力。
 国名(JP)
 都道府県名(Saitama)
 市区名(Saitama-Shi)
 組織名(Apache)
 部署名(WWW server)
 サーバーFQDN名(www.my-dom.net)
 監理者のメールアドレス(webmaster@my-dom.net)  /etc/aliasesによりwebmasterあてのメールはrootに転送される


以上で、サーバーの秘密キー(/etc/pki/tls/certs/wwwmydom.key)と証明書(/etc/pki/tls/certs/wwwmydom.crt)が作成される。
秘密キーは/etc/pki/tls/private/に移動しておく。
# mv /etc/pki/tls/certs/wwwmydom.key /etc/pki/tls/private/

秘密鍵からのパスフレーズの削除
サーバーソフトによってはパスフレーズが設定されていると利用できない場合があるので(WWWサーバー等)、その場合は次のようにしてパスフレーズを削除してやる。
# mv wwwmydom.key wwwmydom.key.org
# openssl rsa -in wwwmydom.key.org -out wwwmydom.key


SSLの利用

●WWWサーバー
/etc/httpd/conf/httpd.conf
 Include conf.d/*.conf  確認

WWWのSSLは443番ポートを待ち受けているバーチャルサーバーという形で実現されています。このためSSLに対する設定のほか、SSLサーバーに関する設定が必要になります。
/etc/httpd/conf.d/ssl.conf 抜粋
 Listen 443
 <VirtualHost 219.117.243.210:443>
 DocumentRoot "/var/www/html"
 ServerName www.my-dom.net:443

 SSLEngine on

 SSLCertificateFile /etc/pki/tls/certs/wwwmydom.crt
 SSLCertificateKeyFile /etc/pki/tls/private/wwwmydom.key

 #SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt  認証局が発行した証明書を利用する場合

 #SSLVerifyClient require  クライアントの証明書を利用するかどうか
 #SSLVerifyDepth 10

 <Directory "/var/www/cgi-bin">
 SSLOptions +StdEnvVars
 </Directory>
 </VirtualHost>


https://www.my-dom.net/でアクセス。(ただし、443ポートを開けておく。)

どのようにしてSSLでアクセスさせるか
@明示的にリンク先を「https://www.my-dom.net/efgh/」等と指定しておく。
Aリダイレクト(転送)
/etc/httpd/conf/httpd.conf
 <VirtualHost 219.117.243.210>
 ServerName www.my-dom.net
 ・・・・・・・・・・
 Redirect / https://www.my-dom.net
 Redirect /abcd https://www.my-dom.net/abcd
 </VirtualHost>

この様にすれば「http://www.my-dom.net/」、「http://www.my-dom.net/abcd」等でアクセスした場合でも、「https」にリダイレクトされる。
注意 新しいURLとして指定する2番目の引数は必ず、絶対パスで記述しなくてはならない。


●POP/IMAPサーバー(Dovecot)
dovecot用の証明書の作成
/etc/pki/dovecot/dovecot-openssl.cnfを編集
 [ req ]
 default_bits = 1024
 encrypt_key = yes
 distinguished_name = req_dn
 x509_extensions = cert_type
 prompt = no

 [ req_dn ]
 # country (2 letter code)
 C=JP

 # State or Province Name (full name)
 ST=Saitama

 # Locality Name (eg. city)
 L=Saitama-Shi

 # Organization (eg. company)
 O=Dovecot

 # Organizational Unit Name (eg. section)
 OU=IMAP server

 # Common Name (*.example.com is also possible)
 CN=mail.my-dom.net  メールサーバーのFQDNを正確に指定

 # E-mail contact
 emailAddress=postmaster@my-dom.net  /etc/aliasesによりpostmasterあてのメールはrootに転送

 [ cert_type ]
 nsCertType = server


証明書を作成するスクリプト
/usr/share/doc/dovecot-1.0.7/examples/mkcert.sh
 設定ファイル /etc/pki/dovecot/dovecot-openssl.cnf
 証明書の位置 /etc/pki/dovecot/certs/dovecot.pem
 秘密鍵の位置 /etc/pki/dovecot/private/dovecot.pem
と設定されている。
また、有効期限が365日に設定されているので、延ばしたいときは365を3650(10年)等に変更しておく。
 $OPENSSL req -new -x509 -nodes -config $OPENSSLCONFIG -out $CERTFILE -keyout $KEYFILE -days 3650 || exit 2

既存の/etc/pki/dovecot/certs/dovecot.pemと/etc/pki/dovecot/private/dovecot.pemを削除しておいてから、このスクリプトを実行。
# sh /usr/share/doc/dovecot-1.0.7/examples/mkcert.sh
/etc/pki/dovecot/certs/dovecot.pemと/etc/pki/dovecot/private/dovecot.pemが作成される。

/etc/dovecot.confの設定
 protocols = pop3 pop3s  pop3sを加えてpopとpopsの両方が利用できるようにする(クライアントが選択)
 ssl_cert_file = /etc/pki/dovecot/certs/dovecot.pem  コメントアウトをはずす
 ssl_key_file = /etc/pki/dovecot/private/dovecot.pem
 認証局が発行した証明書を利用する場合は、
 ssl_ca_file = /etc/pki/dovecot/ca-bundle.crt


ポートを開く
110(POP)と995(POPS)を開いておく。

クライアント(アカウント設定)
ポート番号をPOPSの995番にする。
「sslを使用する」にチェックを入れる。
既知の証明局の証明でない場合、「不明な証明書」という内容の警告が出る場合がある。


●SMTPサーバー(postfix)
SMTP-AUTH(認証)
SMTP認証(SMTP-AUTH)には、SASLライブラリを用いて実現する。Cyrus-SASLとDovecot SASLというライブラリが主に利用されるが、PostfixとDovecotは親和性が高いので、ここではDovecot SASLを利用する=Dovecotとアカウントを共用できる。
SASLは、多くの認証機構が提供されており、ユーザIDやパスワードを平文のまま送信するPLAINやLOGIN、チャレンジ&レスポンス方式で認証を行うCRAM-MD5、DIGEST-MD5、ケルベロス(Kerberos)v4、GSSAPI、S/Keyなどがある。

PostfixがDovecot SASLライブラリに対応しているか確認
# postconf -a  dovecotが表示されればOK

Postfix側の設定
/etc/postfix/main.cfに追加
 smtpd_sasl_auth_enable = yes  SASL認証を有効にする
 smtpd_sasl_authenticated_header = yes  認証されたユーザー名を表示する(必須ではない)
 broken_sasl_auth_clients = yes  OutlookExpress4等のSASL認証「AUTH=PLAIN」でも利用できるようにする
 smtpd_sasl_type = dovecot  SASLプラグインタイプ
 smtpd_sasl_path = private/auth  認証ソケットファイル(Postfixのキューディレクトリ/var/spool/postfixからの相対パス[/etc/postfix/main.cf queue_directory=/var/spool/postfix]。下のようにdovecot.confを変更してdovecotを再起動するとこのファイルが作成される。このソケットをDovecotとPostfixで共有することで、ユーザアカウントを共用できるようになる。)


Dovecot側の設定
/etc/dovecot.conf  727行、936行
 auth default {
 mechanisms = plain login
 socket listen {
 client {
 path = /var/spool/postfix/private/auth
 mode = 0660
 user = postfix  追加
 group = postfix  追加
 }
 }
 }


テスト
Dovecotでmechanisms = plain loginとしてplain認証を使っているので、ユーザー名とパスワードをBASE64でエンコードしてメールサーバーに接続してみる。
BASE64エンコード
# perl -MMIME::Base64 -e 'print encode_base64("post\0post\0*********");'
********************************=     ←BASE64エンコード値を得る
\0はNullを意味する。"ユーザー\0ユーザー\0パスワード"

telnetでテスト
# telnet localhost 25

Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 mail.my-dom.net ESMTP Postfix
EHLO mail.my-dom.net  ←入力
250-mail.my-dom.net
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH PLAIN ********************************=    ←入力
235 2.0.0 Authentication successful
MAIL FROM:<post@my-dom.net>  ←入力
250 2.1.0 Ok
RCPT TO:<post@my-dom.net>  ←入力
250 2.1.5 Ok
DATA  ←入力
354 End data with <CR><LF>.<CR><LF>
test test  ←入力
.
250 2.0.0 Ok: queued as 6E1DB515743
QUIT  ←入力
221 2.0.0 Bye
Connection closed by foreign host.

クライアント
アカウントの送信設定でPOPと同じアカウントとパスワードを設定する。

暗号化─TLS、SMTP over SSL/TLS
暗号化にはTLS、SMTP over SSL等がある。TLSはEHLO後のSTARTTLSコマンド以降を暗号化するが、SMTP over SSLは最初から通信経路全体を暗号化する。しかし、たとえクライアントとpostfix間で全て暗号化したとしても、postfixから宛先のメールサーバーへは平文でデータが送られるためあまり神経質になる必要はない。SMTP-AUTHのユーザー名、パスワード部分を暗号化すればよいのだから、TLSでも充分。ただし、TLSは古いクライアントソフト(Outlook ExpressやOutlook 2002)は対応していない。もし、Outlook ExpressやOutlook 2002を使っているならSMTP over SSLにする。

postfix用の自己署名証明書の作成 ※
# cd /etc/pki/tls/certs
# make postfix.crt
 パスフレーズの入力(2回)。
 再度、パスフレーズの入力。
 証明書の情報を入力。
 国名(JP)
 都道府県名(Saitama)
 市区名(Saitama-Shi)
 組織名(Postfix)
 部署名(SMTP server)
 サーバーFQDN名(mail.my-dom.net)
 監理者のメールアドレス(postmaster@my-dom.net)


秘密キーは/etc/pki/tls/private/に移動しておく。
秘密鍵からのパスフレーズの削除
# mv postfix.key postfix.key.org
# openssl rsa -in postfix.key.org -out postfix.key

1、TLSの使用  ポート25番を使用
/etc/postfix/main.cfに追加
 smtpd_use_tls = yes  TLSを使用する
 #smtpd_enforce_tls = yes  TLSを使用できないクライアントを拒否する場合
 smtpd_tls_loglevel = 1  ログレベルの設定
 smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.crt  証明書を指定
 smtpd_tls_key_file = /etc/pki/tls/private/postfix.key  秘密鍵を指定
 #smtpd_tls_CAfile = /etc/pki/CA/cacert.pem  認証局によるCAファイルの場合
 smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache  接続キャッシュファイル
 smtpd_tls_session_cache_timeout = 3600s  キャッシュの保存時間
 

/etc/postfix/master.cf  ママ 9行〜
 smtp inet n - n - - smtpd    ←ポート25用

テスト
# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 mail.my-dom.net ESMTP Postfix
EHLO mail.my-dom.net  ←入力
250-mail.my-dom.net
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS  ←入力
250-AUTH PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
STARTTLS
220 2.0.0 Ready to start TLS  ここから先は暗号化情報が必要となるので、ここで中止する。
.  ←入力
QUIT  ←入力
Connection closed by foreign host.

クライアント
アカウントの送信設定でPOPと同じアカウントとパスワードを設定し、ポートは25、暗号化の種類にはTLS(STARTTLS)を選ぶ。

2、SMTP over SSLの使用  ポート465番を使用
/etc/postfix/main.cf  「TLSの使用」のママ
 smtpd_use_tls = yes
 #smtpd_enforce_tls = yes
 smtpd_tls_loglevel = 1
 smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.crt
 smtpd_tls_key_file = /etc/pki/tls/private/postfix.key
 #smtpd_tls_CAfile = /etc/pki/CA/cacert.pem
 smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache
 smtpd_tls_session_cache_timeout = 3600s


/etc/postfix/master.cf  コメントアウトをはずす 14行〜
 smtps inet n - n - - smtpd   ※←ポート465用
 -o smtpd_tls_wrappermode=yes  TLSラッパーモード(TLSに対応していないOutlook ExpressやOutlook 2002用)
 -o smtpd_sasl_auth_enable=yes  SASL認証を有効にする
 -o smtpd_client_restrictions=permit_sasl_authenticated,reject  SASL認証できないクライアントは拒否
 ※ smtpdmynetworkをsmtpdに変更しておく。smtpdmynetworkだとダメだった。


テスト
ポートの確認
# netstat -ln | grep tcp
 tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN
 tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN
 tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN


SMTP over SSLでは、接続の最初からSSLによる暗号化が行われるため、plainテキストのtelnetコマンドでは接続できない。
# openssl s_client -quiet -connect localhost:465
depth=0 /C=JP/ST=Saitama/L=Saitama-Shi/O=Postfix/OU=SMTP server/CN=mail.my-dom.net/emailAddress=postmaster@my-dom.net
verify error:num=18:self signed certificate
verify return:1
depth=0 /C=JP/ST=Saitama/L=Saitama-Shi/O=Postfix/OU=SMTP server/CN=mail.my-dom.net/emailAddress=postmaster@my-dom.net
verify return:1
220 mail.my-dom.net ESMTP Postfix
EHLO mail.my-dom.net  ←入力
250-mail.my-dom.net
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH PLAIN ********************************=  ←入力
235 2.0.0 Authentication successful
MAIL FROM:<post@my-dom.net>  ←入力
250 2.1.0 Ok
RCPT TO:<post@my-dom.net>  ←入力
250 2.1.5 Ok
DATA  ←入力
354 End data with <CR><LF>.<CR><LF>
test test  ←入力
.  ←入力
250 2.0.0 Ok: queued as 28927515743
QUIT  ←入力
221 2.0.0 Bye
read:errno=0

クライアント
アカウントの送信設定でPOPと同じアカウントとパスワードを設定し、ポートは465、暗号化の種類にはSSLを選ぶ。

OP25B対策
ISP(プロバイダー)がスパム防止のためOP25B(Outbound Port 25 Blocking)システムを使用している場合、IPSの外部では正規メールサーバー同士の通信しか25番ポート通信が許可されないようになっている。つまり、個人PCから外部のメールサーバーの25番ポートには勝手にアクセスできない仕組みになっている。そこで外部PCからここのメールサーバーにアクセスさせたい場合などには、別の方法が必要となる。

SMTP/Submission Over SSL/TLS  ポート587番を使用
/etc/postfix/main.cf  「TLSの使用」のママ
 smtpd_use_tls = yes
 #smtpd_enforce_tls = yes
 smtpd_tls_loglevel = 1
 smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.crt
 smtpd_tls_key_file = /etc/pki/tls/private/postfix.key
 #smtpd_tls_CAfile = /etc/pki/CA/cacert.pem
 smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache
 smtpd_tls_session_cache_timeout = 3600s


/etc/postfix/master.cf  コメントアウトをはずす 10行〜
 submission inet n - n - - smtpd    ←ポート587用
 #-o smtpd_enforce_tls=yes  TLSを強制使用する場合
 -o smtpd_sasl_auth_enable=yes  SASL認証を有効にする
 -o smtpd_client_restrictions=permit_sasl_authenticated,reject  SASL認証できないクライアントは拒否


テスト
ポートの確認
# netstat -ln | grep tcp
 tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN
 tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN
 tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN
 tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN


# telnet localhost 587
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 mail.my-dom.net ESMTP Postfix
EHLO mail.my-dom.net  ←入力
250-mail.my-dom.net
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
STARTTLS  ←入力
220 2.0.0 Ready to start TLS  ここから先は暗号化情報が必要となるので、ここで中止する。
.
QUIT
Connection closed by foreign host.

クライアント
アカウントの送信設定でPOPと同じアカウントとパスワードを設定し、ポートは587、暗号化の種類にはTLS(STARTTLS)を選ぶ。


リレーの許可
しかしこのままではまだ外部からのメールの送信依頼を受け付けることができない。
/etc/postfix/main.cfのmynetworks = IPアドレス でリレー制限をしているが、この制限は実はsmtpd_recipient_restrictions = によって規定されている。デフォルトは、
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination
で動作している。
これだとIPアドレスが $mynetworks にマッチするクライアント以外は受け付けない(リレーしない)ことになる。
そこで、"permit_sasl_authenticated"(認証を通過したものは許可)を追加してやる必要がある。

/etc/postfix/main.cfに追加
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination


●FTPサーバー(vsftpd)
最初に、古いvsftpdだとTLS+FileZillaクライアントで一覧取得に失敗するので、最新のvsftpdにアップデートしておくこと。
# yum update vsftpd

自己署名証明書の作成
# cd /etc/pki/tls/certs/ ← ディレクトリ移動
# make vsftpd.pem ← サーバー証明書作成
 パスフレーズの入力場面はない。
 証明書の情報を入力。
 国名(JP)
 都道府県名(Saitama)
 市区名(Saitama-Shi)
 組織名(Vsftpd)
 部署名(FTP server)
 サーバーFQDN名(ns1.my-dom.net)
 監理者のメールアドレス(ftp@my-dom.net)  /etc/aliasesによりftpあてのメールはrootに転送

以上で、/etc/pki/tls/certs/vsftpd.pemが作成される。

/etc/vsftpd/vsftpd.confに追加
 ssl_enable=YES  YES|NOでSSL/TLSの有効、無効を切り替える。
 rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem  pemファイルの指定。


以上で標準のSSL/TLS設定が完了する。
この標準設定では、ローカルユーザーのログインとデータ転送がTLSで行わなければならなくなり、TLSを使わない平文での通信は禁止される。一方、匿名ログインでの通信は平文で行われる。

SSL/TLSをサポートしていないFTPクライアントからの通信もできるようにしたい場合
 force_local_logins_ssl=NO  明示的にNOを設定
 force_local_data_ssl=NO


匿名ログインでもSSL/TLSを使うようにしたい
 allow_anon_ssl=YES

クライアント
FFFTPなどはSSLに対応していない。
SSL対応のfilezillaをhttp://bto-pc.jp/btopc-com/repair/filezilla.htmlよりダウンロードしてインストール。FFFTPには感染するとサーバーを攻撃するウィルスが報告されているので、アンインストールしておく。
filezillaの設定
サイトマネージャーを開く。
新しいサイト
ホスト 333.333.333.210
ポート 21
サーバーの種類 FTPES 明示的なTLS/SSL上のFTP
ログオンの種類 通常
ユーザー
パスワード

パッシブモードの明示化
FTPES(明示的なTLS/SSL ポート番号21)で接続する際、パッシブモードは、iptablesのip_conntrack_ftpモジュールでは解決してくれないようなので、パッシブモードのポートを明示的に設定する。
@vsftpd.confでパッシブモードに使用するポート番号を固定
/etc/vsftpd/vsftpd.confに追加
 pasv_enable=YES  (デフォルト:YES)
 #pasv_address=ルータのWAN側のIPアドレス  (デフォルト:なし サーバのNICアドレス)
 #pasv_addr_resolve=YES  (デフォルト:NO)
 pasv_min_port=4000  (デフォルト:0 任意のポートを使用)
 pasv_max_port=4029  (デフォルト:0 任意のポートを使用)
 pasv_address / pasv_addr_resolve(pasv_addr_resolveは2.0.4以降)

固定IPの場合はpasv_addressにWAN 側アドレスを書けば良いが(IPアドレスを記述。ホスト名等は不可。pasv_address が記述されていないとサーバーのアドレス、例えばローカルアドレスが送られる。したがって、ローカルアドレスをルータでポートフォアディングしている場合はルータのWAN 側アドレスを書く。)、動的IPの場合は変化してしまうので pasv_addr_resolveオプションをYES (YESで接続先IPアドレスをホスト名から取得できるようになる)とし、pasv_addressにDDNSのホスト名を記述すれば、デーモン起動時に名前解決して得たIPアドレスをクライアントに通知できるようになる。

Aiptablesで上記のポート番号の通信を許可する
上記ポートはインターネット側から接続が開始されるので、ルータのスタティックNATでサーバにNATすると同時に、フルタリングも開ける必要がある。
 ${IPTABLES} -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 ${IPTABLES} -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 ${IPTABLES} -A INPUT -p tcp --dport 21 -m state --state NEW -j ACCEPT
 ${IPTABLES} -A INPUT -p tcp --dport 4000:4029 -m state --state NEW -j ACCEPT


TOP(HOME)へ

目 次

特別企画
Raspberry Piで遊ぶ

HOME(全体のシステム構成&目次)

CentOS7
CentOS7のインストール〜ネットワークの設定ほか
CentOS7の新機能(systemdとfirewalld)
ダイレクトルールを使ったfirewallの強化
DNS(BIND)サーバー
Webサーバー
  Webでファイルの受け渡し
  アクセス解析ツールAwstats
  Wordpressでブログ構築
FTPサーバー
FTPS(FTP over SSL/TLS)
Mail(Dovecot&Postfix)サーバー
Sambaサーバー
MariaDB(MySQL)サーバー
DHCPサーバー
SSHサーバー
VNCサーバー
ストリーミングサーバーRed5
ドメインの追加

CentOS5〜6
ネットワーク&ファイアウォール(iptables)
DNS(BIND)サーバー
DHCPサーバー
メールサーバー(基本)
メールサーバー/実際の運用
Webサーバー
  WebDAVによるファイル共有
  Webでファイルのやり取り
  アクセス解析ツールawstats
  namazuで全文検索
  WordPressブログサイト構築
  EC-CUBEショッピングサイト構築
FTPサーバー
ファイルサーバー・Samba
データベースpostgreSQL
  ExcelからpostgreSQLを操作
データベースMySQL
SSHサーバー
VNC
SSL/TLSを利用した暗号化通信
openVPN
ストリーミングサーバー
    C++ RTMP Server
    Helix server Basic
ドメインの追加
Xen・仮想化
特定ディレクトリに容量制限

SELinux
SELinux基本設定
新しいタイプとポリシー・モジュールを作成してみる
マクロを利用したteファイルの記述
新しいドメインを導入してみる

coLinux
Fedora11で試す

Cプログラミング目次
X11プログラム
サイエンス・プログラム

計測・プログラム
秋月電子のデーターロガーpico ADC-16
「今すぐ使えるパソコン計測USBマイコン基板」に付属のTRZ1102
センサーの使用例

Glade2/GTK+を使ってみる
テキスト・ビューで簡易エディター
ドローイングエリアで自動描画
放物線運動(pango、cairoも試してみる)
これらを、GTK+のみで書き出す

フォントについて
ネットワーク・プログラミング
postgreSQL接続
CGI
ファイル操作

●その他
印刷機関連開発 刷版絵柄面積率測定
数独をExcelで解く