龍谷大学理工学部 小島 肇 kjm@rins.ryukoku.ac.jp http://www.st.ryukoku.ac.jp/~kjm/ FreeBSD 4.6.2-RELEASE で行こう 龍谷大学理工学部 小島 肇  kjm@rins.ryukoku.ac.jp http://www.st.ryukoku.ac.jp/~kjm/

Slides:



Advertisements
Similar presentations
Iptables の設定と 動作確認方法 野口 哲. 1. はじめに 近年では、ウイルスなどでネットワーク 上の 近年では、ウイルスなどでネットワーク 上の 危険が非常に多くなっている。また、個人 情報 などを入手するために不正に他人のパソコ ンに 侵入する人なども増えている。本研究では、 このような被害を受けないようにするため.
Advertisements

Debian の世界へようこそ! 北大 理学院 宇宙理学専攻 惑星宇宙グループ M1 三上 峻.  Debian GNU/Linux  Debian プロジェクト  GNU プロジェクト  Debian GNU/Linux とは  Debian インストール  パッケージ  Debian.
TCP / IP の基礎 ネットワーク管理者入門. インターネットを支える技術 ISO の 7 階層プロトコルと TCP / IP の実装 階層機能関連する TCP / IP プロ トコル アプリケーション層電子メールやファイルの転送 といった、具体的なアプリ ケーションが使用する規約 TELNET.
目次 このドキュメントについて・・・前提条件……………………………………… 2
FreeBSD4.5環境での IPv6ネットワーク構築
BSD Unixにおいて IPv6 を有効にした際に発生する課題とその対策
安全なログオン手順 2004/08/26 Port139 伊原 秀明.
ファイルキャッシュを考慮したディスク監視のオフロード
最新ファイルの提供を保証する代理FTPサーバの開発
情報実験:ネットワークコンピューティング入門
榮樂 英樹 LilyVM と仮想化技術 榮樂 英樹
技術トピックス 2014/10.
SOHOシステムの構築と運用 東北NTユーザ会新潟勉強会資料.
Unix生活 Vol.1
物理実験 I 情報実験第9回 Modified 2005/12/2 徳永 義哉Original 2003/12/12 中神 雄一
NetBSD以外でpkgsrcを使うZoularis
Samba日本語版の設定と運用のノウハウトラブルシューティング編
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
(株)アライブネット RS事業部 企画開発G 小田 誠
高エネルギー加速器研究機構 素粒子原子核研究所 千代浩司
高エネルギー加速器研究機構 素粒子原子核研究所 千代浩司
オレポータビリティ 日本Rubyの会 青木 峰郎.
社内システム進捗 前回までの決定事項 →システムは「Scala PlayFramework2」で作成
UNIX Life KMSF M2 saburo.
システムプログラミング実験 (OS演習) 第9回
仮想化システムを用いて 複数のOSを動かす
ClamAV Days クラムエーヴイデイズ
システム構成とアプリケーション設定に基づく セキュリティ・ポリシ自動生成フレームワーク
オープンソースのDarwin は Mac OS Xに何をもたらすのか
SoftLayerへのお引越し方法 お客様環境(或いは他社クラウド)からSoftLayerへの移行は簡単です。
解析サーバの現状と未来 2006/07/18 衛星データ処理勉強会 村上 弘志 現状のシステム構成など 統合解析環境としての整備
CGI Programming and Web Security
バックドア(rootkit&rootshell) vs Tripwire
ネットワーク検知技術の最適化への ハイブリッド・アプローチ
研究の背景 コードクローン ソースコード中に存在する一致または類似したコード片
FreeBSD4.5環境での IPv6ネットワーク構築
IHE-J テクニカルコーディネーター 渡辺 昌彦
Debian GNU/Linux ー Linuxインストールに必要な基礎知識 ー 三上 彩 鈴木 倫太郎
XenによるゲストOSの解析に 基づくパケットフィルタリング
龍谷大学理工学部における ウイルス感染事例 part 2
鈴木伸介 / KAME Project IPv6技術標準化の最新動向 鈴木伸介 / KAME Project
その情報って本物? あるいは、なぜ未だにこうなのか
TA 高田正法 B10 CPUを作る 2日目 SPIMのコンパイル TA 高田正法
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
不正アクセス       ーrootkitについてー              環境情報学部              3年 櫻井美帆.
セキュリティ(5) 05A2013 大川内 斉.
FreeBSDインストール 2002年4月10日.
九州大学キャンパスクラウド 利用法 情報ネットワーク特論 講義資料.
高エネルギー加速器研究機構 素粒子原子核研究所 千代浩司
Panda TruPrevent を使ってみました ~あるいは仮想インターネットの実装~
安全なサーバー Linuxの場合 平成12年度東京大学技術職員研修 情報基盤センター 安東孝二
踏み台攻撃だけを抑制できる VMMレベル・パケットフィルタ
Sanesecurityのこと 小島 肇 龍谷大学理工学部.
7. セキュリティネットワーク (ファイアウォール)
Xenによる ゲストOSの監視に基づく パケットフィルタリング
セキュリティ(6) 05A2013 大川内 斉.
北海道大学理学研究科 地球惑星科学専攻 豊田英司
佐賀大学 理工学部知能情報システム学科 講師 大月 美佳
リモートホストの異常を検知するための GPUとの直接通信機構
実行時情報に基づく OSカーネルのコンフィグ最小化
TCP/IP入門          櫻井美帆          蟻川朋未          服部力三.
仮想環境を用いた 侵入検知システムの安全な構成法
アクセス集中時の Webサーバの性能に対する OSの影響
IDSとFirewallの連携によるネットワーク構築
gate登録システム: 設計ポリシーから使い方まで
クローン検出ツールを用いた ソフトウェアシステムの類似度調査
データの改竄を防ぐ仕組み 2002/9/12 牧之内研究室「インターネット実習」Webページ
Cisco Umbrella セミナー 第4回 Umbrella 設定概要.
ポートスキャン実習 2002年9月19日 修士1年 兼子 譲 牧之内研究室「インターネット実習」Webページ
ユーザ認証の盗聴 2002/9/10 峯 肇史 牧之内研究室「インターネット実習」Webページ
Presentation transcript:

龍谷大学理工学部 小島 肇 kjm@rins.ryukoku.ac.jp http://www.st.ryukoku.ac.jp/~kjm/ FreeBSD 4.6.2-RELEASE で行こう 龍谷大学理工学部 小島 肇  kjm@rins.ryukoku.ac.jp http://www.st.ryukoku.ac.jp/~kjm/

FreeBSD って何ですか? Linux と人気を二分する、free に利用できる UNIX 系 OS 雑誌まであるくらいだし… ISP などの「裏方」で活躍している事例がかなりある模様 Yahoo! とか…

私が FreeBSD を使っている理由 安定して動作する 豊富なドキュメント OS 全体として維持されている 個別モジュール毎の Linux とは違う 4.6.x-RELEASE はちょっと混乱があったが 豊富なドキュメント ドキュメントと実際の中身とでけっこう違和感がある Linux とは違う 活発なユーザコミュニティ

私が FreeBSD を使っている理由 source がある make 一発 慣れ :-) source が基本 source tree ports 慣れ :-)

注意点 早い(早すぎる) OS リリース 追いかけるための仕掛けはあるにはある 3 カ月おきに新リリースが登場 古いリリースには security fix がされない 現状、4.4-RELEASE 以降のみ ずいぶん長くサポートされる Red Hat Linux とは違う 追いかけるための仕掛けはあるにはある しかし、それなりの手間は必要 source が基本、binary only では追いかけられない。fix package を rpm などでインストールすればよい Linux 方面とは違う

インストール 「FreeBSD 徹底入門 [改訂版] 」を読んでください X Window はインストールすべきか? 安全性を優先するならインストールすべきではない(特にサーバ機) X Window を必要とする packages/ports をインストールする時点で一部が自動的にインストールされる可能性あり

インストールした後のチューニング kernel つくりなおし さまざまなパラメータ設定(/etc/rc.conf など) 手順: cd /usr/src/sys/i386/conf cp GENERIC MyConf vi MyConf config MyConf cd ../../compile/MyConf make depend make make install さまざまなパラメータ設定(/etc/rc.conf など)

kernel つくりなおし 設定ファイルから不要なデバイスを削る 不要な機能を削る なぜつくりなおす? CPU network device SCSI device RAID device 不要な機能を削る IPv6 BPF なぜつくりなおす? サイズが小さくなるのでリソースを有効利用できる 使わない機能を侵入者に悪用されないために 標準(GENERIC)カーネルには存在しない機能を追加する場合

削るものの例(あくまで例) CPU cpu I366_CPU cpu I486_CPU cpu I586_CPU options options MATH_EMULATE options INET6 device device fd1 device atapist device ahb device adv0 at isa? device asr device sio2 device ppc0 device de pseudo-device pseudo-device bpf pseudo-device sl 1

さまざまなパラメータ設定 /etc/rc.conf ファイルに記述 /etc/sysctl.conf ファイルに記述 /etc/default/rc.conf ファイルにデフォルト設定が記載されているので、これを参考にして、変更すべき場所だけを記載する /etc/rc.conf にはサイト内で共通する要素を記述し、/etc/rc.conf.local にホスト独自の内容を記載してもよい /etc/sysctl.conf ファイルに記述 カーネル設定ファイルでは設定しきれない、カーネルパラメータの細かい調整 各種 daemon (サーバプログラム)の設定ファイルに記述 daemon 毎に設定

/etc/rc.conf ファイル記述例 セキュリティ関連 説明 tcp_drop_synfin=“YES” SYN+FIN を破棄 icmp_drop_redirect=“NO” ICMP redirect を破棄 icmp_log_redirect=“NO” ICMP redirect を記録 ipfilter_enable=“YES” ip filter を有効化 ipmon_enable=“YES” ipmon を有効化 firewall_enable=“YES” ipfwを有効化 firewall_type=“simple” ipfw を「simple」で初期化 ロギング accounting_enable=“NO” アカウンティングを有効化 inetd_flags=“-wWl” デフォルトは -wW kernel securelevel 機能 kernel_securelevel_enable=“YES” kernel securelevelを有効化 kern_securelevel=1 デフォルトは -1

/etc/sysctl.conf 設定例 高負荷サーバ kernel.ipc.somaxconn=1024 kern.ipc.maxsockets=16384 kern.ipc.nmbclusters=65535 blackhole(4) (副作用に注意! traceroute に反応しなくなる) 0: RST を返す 1: SYN には何も返さない 2: 何も返さない net.inet.tcp.blackhole=2 net.inet.tcp.blackhole=1 squid みたいな特殊なもの用(?) kern.maxfiles=32767 kern.maxfilesperproc=16424 net.inet.ip.portrange.first=8192 net.inet.ip.portrange.last=65535

各種 daemon の設定ファイル ssh (/etc/ssh/sshd_config) inetd (/etc/inetd.conf) UsePrivilegeSeparation yes inetd (/etc/inetd.conf) ftpd –l –l login (/etc/login.conf) :minpasswordlen=12:

パケットフィルタで設定すべき事 あり得ない(はずの)パケットを取り除く http://www.sans.org/dosstep/index.htm 危険なパケットを取り除く(IP option つき、パケット長が異常、など):ip filter での例 block in log quick from any to any with ipopts block in log quick proto tcp from any to any with short block in log quick proto icmp from any to any icmp-type redir block in log quick proto icmp from any to any icmp-type routerad block in log quick proto icmp from any to any icmp-type routersol その他、サイト毎の設定 /etc/rc.firewall(ipfw 設定ファイル)は参考になる さきほどの「simple」もここに記載されている

IP filter v.s. IP firewall (ipfw) IP firewall – FreeBSD 標準 最近の標準状況 FreeBSD – ipfw NetBSD – ip filter OpenBSD – pf (packet filter) BSD/OS - ? Mac OS X – ipfw Linux – ipchains / iptables HP-UX – ip filter (?) FreeBSD の場合、ふつうの人は、ipfw の simple をベースにしてカスタマイズするのがよいような気がする。

OS を最新状態に CVSup で最新のソースを入手 cvsup –g supfile supfile の中身 *default host=cvsup.jp.freebsd.org *default base=/usr *default prefix=/usr *default release=cvs tag=RELENG_4_6 *default delete use-rel-suffix compress src-all 複数の FreeBSD を維持する場合はローカルの CVSup ミラーを構築し、そこから CVSup した方がよい ports の net/cvsup-mirror を利用すると簡単に構築できる 変更点にあわせて再構築 部分的でいい場合が多いが、make buildworld; make installworld が必要な場合もたまにある。事例: DNS resolver 脆弱性

更新情報を得る FreeBSD 友の会主催の FreeBSD-announce-jp ML に加入しておこう http://www.jp.freebsd.org/ 更新情報: 主にセキュリティ情報 情報をよく読んだ上で CVSup して source 更新し再構築 体力があれば FreeBSD-users-jp ML にも参加 特に新リリース登場時などでは、トラブル報告はまず ML に現れる かなりの流量があるので覚悟する

ports/packages 活用 ports - /usr/ports/* 3rd party ソフトウェアを有志が移植(port)したものが、一定の手順に従って大量に集積されている 他のソフトウェアに対する依存情報も含まれており、依存するソフトウェアがインストールされていなければ、そのソフトウェアもあわせて自動的にインストールされる つくりかた: security/sudo の例 cd /usr/ports/security/sudo make make install OS リリース時点での ports の内容を元に作成されたバイナリ「パッケージ」が OS に添付されている

最新の ports 最新の ports (ports-current)は CVSup すれば入手できる supfile の中身 *default host=cvsup.jp.freebsd.org *default base=/usr *default prefix=/usr *default release=cvs tag=. *default delete use-rel-suffix compress ports-all ports-current は FreeBSD 開発版(-current)と安定版 (-stable)でしか試されていないので注意。 ある時点の安定版を取り出し、さらに検証を行ったものが RELEASE 版として登場する ports-current は、たいていは RELEASE 版でもちゃんと動くが、…

ports みてあるき net/ bsdproxy – 汎用 proxy サーバ ethereal – ネットワークアナライザ★ stone ethereal – ネットワークアナライザ★ honeyd – for honeyports iplog – TCP/IP ロガー★ netcat – 強力ツール★ ngrep – ネットワーク grep ntop – ネットワーク top socks5 – NEC socks5 dante

ports みてあるき security/ snort – ネットワーク IDS amavis-perl – アンチウィルス メールフィルタ acid, snort-snarf amavis-perl – アンチウィルス メールフィルタ amavisd, amavisd-new, inflex arirang – web スキャナ nessus, saint, whisker bcwipe – ファイル / ディスク消去ソフト ca-roots – CA ルートファイル (old!) chkrootkit – rootkit チェッカ ★ dsniff – パスワード盗聴ソフト★

ports みてあるき security/ fragrouter – IDS テストツール gnupg – GNU OpenPGP hping gnupg – GNU OpenPGP pgp5, pgp6 john – パスワード解読ソフト★ crack nmap – ポートスキャナ★ portscanner, strobe portsentry – ポートスキャン検知ソフト pscan – ソースコード検査ソフト its4, rats

ports みてあるき security/ www/ openssh – OpenSSH sudo ★ openssh-portable, ssh2, lsh sudo ★ super swatch – simple watcher logcheck tripwire – ファイル整合性検査ソフト★ aide, integrit www/ squid – www proxy tinyproxy, transproxy

その他 情報源 本家 - http://www.freebsd.org FreeBSD 友の会 - http://www.jp.freebsd.org 各種 ML 雑誌 FreeBSD Press BSD magazine その他、ネットワーク系・セキュリティ系雑誌など