サーバー管理者

システムおよびネットワーク管理者向けのQ&A

2
サーバー上のすべてのサービスがダウンし、それでもpingに応答する原因は何ですか?そしてそれを理解する方法
サーバーが完全にダウンすること、つまり、http、ssh、ftp、dns、smtp、を基本的にすべてのサービスが応答を停止することは、数日以内にすでに2回発生しています。 、それが私を最も困惑させるものです。 私は、ユーザーの小さなグループによって使用される短いバーストでサーバーに大きな負荷(CPUとメモリ)を引き起こすいくつかのPHPスクリプトを持っていますが、通常、サーバーはこれらのバーストに完全に「耐え」、それがダウンした場合このような使用量のピークと一致することは決してありません(関連性があるとは言えませんが、それらの直後には発生しません)。 これらのクラッシュの最終的な原因を魔法のように教えてくれるようにあなたに頼んでいるのではありません。私の質問は、単一のプロセスが原因で、これらのすべてのサービスが同時に停止する可能性があるかどうかです。面白いのは、ping以外のすべてのネットワークサービスがダウンすることです。サーバーのCPUが100%消費されている場合、pingにも応答しません。(たとえば)phpスクリプトが壊れているためにApacheがクラッシュした場合、それはhttpにのみ影響し、sshやdnsなどには影響しません。 私のOSはCent OS 5.6です 最も重要なのは、サーバーをハードリブートした後、どのシステムログを見ればよいですか?/ var / log / messagesは疑わしいものを明らかにしません。

2
Linux:発信TCPフラッドを防止する
ロードバランサーの背後で数百のWebサーバーを実行し、多数のアプリケーション(多数のアプリケーション)をホストしています(これらのアプリケーションは制御できません)。毎月1回程度、サイトの1つがハッキングされ、洪水スクリプトがアップロードされて銀行や政治機関を攻撃します。以前は、これらは常にUDPフラッドでしたが、個々のWebサーバーで発信UDPトラフィックをブロックすることで効果的に解決されました。昨日、彼らはポート80への多くのTCP接続を使用して私たちのサーバーから米国の大規模な銀行をあふれ始めました。これらのタイプの接続は私たちのアプリケーションにとって完全に有効であるため、単にそれらをブロックすることは許容できる解決策ではありません。 以下の代替案を検討しています。どちらをお勧めしますか?これらを実装しましたか? 送信元ポートが!= 80のWebサーバー(iptables)送信TCPパケットの制限 同じだがキューイング(tc)あり サーバーごとのユーザーごとの発信トラフィックのレート制限。アプリケーションサーバーごとに数千人のユーザーが存在する可能性があるため、かなりの管理上の負担。多分これ:ユーザーごとの帯域幅をどのように制限できますか? 他に何か? もちろん、ハッカーがホストされたサイトに侵入する可能性を最小限に抑える方法も検討していますが、そのメカニズムが100%防水になることは決してないので、侵入の影響を厳しく制限したいと思います。 更新:現在、これらのルールを使用してテストしています。この特定の攻撃を防ぐことができました。それらをより一般的にするためにどのように提案しますか?SYNパケットのレート制限のみを行っている場合、既知のTCP DoS攻撃を見逃していますか? iptables -A OUTPUT -p tcp --syn -m limit --limit 100/min -j ACCEPT iptables -A OUTPUT -p tcp --syn -m limit --limit 1000/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4 iptables -A OUTPUT -p tcp --syn -j REJECT --reject-with tcp-reset 乾杯!

2
Amazon Machine Imagesはどのように機能しますか?
AMIの作成について多くのチュートリアルなどを見てきましたが、AMIの完全な概念を実際に理解したことはありません。インスタンスへのリンクであるか、保存されていて変更されていないか。また、イメージには、ローカルストレージとそのインスタンスにインストールされているすべてのパッケージなどが含まれていますか、それとも特定のインスタンスの構成の単なるコピーにすぎませんか?ありがとう

2
シリアル化遅延とは何ですか?10GBイーサネットはなぜそれを減らすのに役立つのですか?
ネットワークスイッチのコンテキストで、「シリアル化遅延」とは正確には何ですか?(この用語を数回聞いたことがあります。)また、トランスポートテクノロジーとして10Gbイーサネット(1Gbイーサネットではない)が、10Gbの全帯域幅が使用されていない場合でも、シリアル化の遅延を減らすのに役立つと聞きました。 シリアル化遅延とは何ですか?10Gbイーサネットはなぜそれを減らすのに役立つのですか?

3
悪いネットワーク配線をテスト/デバッグする方法は?
私は最近、Cat 5E(8ポート、中央クローゼットにつながる)で配線済みの場所を購入しました。ただし、リンクを取得しようとしても、何も機能しません。よく調べてみると、クローゼットの両端が逆に配線されていることが明らかでした(ピン1が茶色など)。私が壁から引き出したジャックは正しく行われているようです。ただし、ネットワークケーブルテスターを使用したテストでは、クローゼット内のジャックとポートの間のリンクがゼロであることがわかりました。1/ 8、2 / 7、... 8/1の不一致が見られると思っていましたが、代わりに何もない。 ランはアクセス可能で、見た目はきれいですが、かなり鋭く、場合によっては必要以上に長い曲がりがあります(これを行ったのは専門の電気技師でしたが、彼が初めて走ったのではないかと思います)ネットワークケーブル)。 この時点での私の推測は、彼が不良なケーブルを購入したか、非常に緊張してワイヤーを折ったかのどちらかだと思います。8本の線のうちの1本で少なくとも1本のアクティブなワイヤーが得られないのは驚くべきことですが、そうではありません。 それで、私の質問:すべてを取り除いて新しいケーブルを実行する前に、他に試したりテストしたりする必要があるものはありますか? 更新:エキサイティングな結論については、以下のこの質問の私の回答を参照してください。

2
Linux iptables / conntrackパフォーマンスの問題
ラボで4台のマシンを使用したテスト設定があります。 2つの古いP4マシン(t1、t2) 1 Xeon 5420 DP 2.5 GHz 8 GB RAM(t3)Intel e1000 1 Xeon 5420 DP 2.5 GHz 8 GB RAM(t4)Intel e1000 過去数か月間に多数のシンフラッド攻撃に襲われて以来、Linuxファイアウォールのパフォーマンスをテストしました。すべてのマシンでUbuntu 12.04 64ビットが実行されます。t1、t2、t3は1GB / sスイッチを介して相互接続され、t4は追加のインターフェイスを介してt3に接続されます。したがって、t3はファイアウォールをシミュレートし、t4はターゲット、t1、t2は攻撃者にパケットストームを生成します(192.168.4.199はt4)。 hping3 -I eth1 --rand-source --syn --flood 192.168.4.199 -p 80 t4は、ゲートウェイとの混同、t4のパフォーマンスの問題などを回避するために、すべての着信パケットをドロップします。iptrafでパケット統計を監視します。ファイアウォール(t3)を次のように構成しました。 ストック3.2.0-31-generic#50-Ubuntu SMPカーネル rhash_entries = 33554432(カーネルパラメータとして) 次のようにsysctl: net.ipv4.ip_forward = 1 net.ipv4.route.gc_elasticity = 2 net.ipv4.route.gc_timeout …
9 linux  firewall 

3
Cloudwatchアラームで実行中のプロセスのリストを取得することは可能ですか?
JavaベースのアプリケーションがいくつかあるEC2インスタンス(Ubuntu)があり、最近、CPU使用率が急上昇してCloudwatchアラームの1つをトリガーするようになっています。サーバーに入ってCPU使用率を確認するまでに、状況は落ち着きました。 アラームメールの1つに表示したいのは、アラーム発生時の実行中のプロセスとそのCPU使用率(%)のリストです。これは可能ですか?

3
プログラムへの接続のログ
さらに、着信接続をログに記録するためにiptablesを使用します。 ソースのないサービスへの確立されたインバウンド接続をログに記録する方法はありますか(サービスがこのようなものをそれ自体でログに記録しないと想定してください)?私がやりたいことは、誰が接続しているかに基づいて情報を収集し、サービスが最も頻繁に使用されている時間や、世界の主要なユーザーベースなどを伝えられるようにすることです。 私はそれを使用netstatしてcronスクリプトに接続するだけでよいことは承知していますが、スクリプトは1分ほどしか実行できないため、正確ではない可能性があります。 これが私が今考えていることです: 常にポーリングするプログラムを作成netstatし、以前のポーリングに現れなかった確立された接続を探します。ただし、新しい接続がない可能性があるため、このアイデアはCPU時間の浪費のように見えます。 サービスが実行されている任意のポートでインバウンド接続を受け入れるラッパープログラムを記述しますが、その接続を実際のサービスに渡す方法がわかりません。 編集:私には確信がありませんが、この質問はスタックオーバーフローに適しているかもしれないと思いました。これが間違った場所なら申し訳ありません。

2
Apache httpdが名前ベースの仮想ホストがSNI対応のブラウザでのみ機能することを通知するのはなぜですか(RFC 4366)
Apacheがログにこのエラーメッセージを表示するのはなぜですか?誤検知ですか? [warn] Init: Name-based SSL virtual hosts only work for clients with TLS server name indication support (RFC 4366) 私は最近Centos 5.7から6.3にアップグレードし、それにより新しいhttpdバージョンにアップグレードしました。私は常に以下のようなssl virtualhost設定を行いました。同じ証明書を共有するすべてのドメイン(ほとんど/常にワイルドカード証明書)は、同じIPを共有します。しかし、これまでにこのエラーメッセージを受け取ったことはありません(または、ログを十分に調べていなかったのでしょうか?)学んだことから、これはSNI(サーバー名表示)なしで機能するはずです。 ここに私のhttpd.confファイルの関連部分です。このVirtualHostがないと、エラーメッセージは表示されません。 NameVirtualHost 10.101.0.135:443 <VirtualHost 10.101.0.135:443> ServerName sub1.domain.com SSLEngine on SSLProtocol -all +SSLv3 +TLSv1 SSLCipherSuite ALL:!aNull:!EDH:!DH:!ADH:!eNull:!LOW:!EXP:RC4+RSA+SHA1:+HIGH:+MEDIUM SSLCertificateFile /opt/RootLive/etc/ssl/ssl.crt/wild.fareoffice.com.crt SSLCertificateKeyFile /opt/RootLive/etc/ssl/ssl.key/wild.fareoffice.com.key SSLCertificateChainFile /opt/RootLive/etc/ssl/ca/geotrust-ca.pem </VirtualHost> <VirtualHost 10.101.0.135:443> ServerName sub2.domain.com SSLEngine on …

2
プロキシされたSSLを含むmod_rewriteでHTTPSを強制する
私は、SSL終端ロードバランサーからトラフィックを取得するサーバーを持っていますhttp_x_forwarded_proto。 直接HTTPSトラフィックまたは転送されたHTTPSトラフィックのみを許可するmod_rewriteルールが必要です。 私はこれをこれまでに持っています: RewriteEngine On RewriteCond %{HTTPS} !=on RewriteCond %{HTTP:http_x_forwarded_proto} != https RewriteCond %{HTTP:http_x_forwarded_proto} != HTTPS RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] しかし、私は得ています RewriteCond:不正なフラグ区切り文字 エラー。 これを機能させるには何を修正する必要がありますか?これは最良のアプローチですか?

7
ドメインコントローラーの昇格中に、Windows Server 2012でターゲット環境にadprepが必要かどうかを判断するエラーを修正
新しくインストールしたWindows Server 2012マシンをドメインコントローラーに昇格できません。2つの既存のドメインコントローラーがあります。プライマリはWindows Server 2003レベルで、W2003Serverを実行しており、セカンダリはWindows Server 2003 R2を実行しています。(更新:もともとこの質問は、ドメインコントローラーを配置できない場合の致命的でない警告メッセージについて尋ねていました。これは、Windows Server 2003からアップグレードする場合は通常のことです。 Active Directoryフォレストは2003年の機能レベルにあるため、警告を打ち消す必要があると私は考えています。同様の恐ろしいエラーをいくつか続けた後、最終的にAdPrep関連エラーである実際のエラーに到達しました。) 新しいWin2012サーバーボックスでは、ドメインのメンバーであるサーバーとしてドメインに参加しても問題なく動作しました。しかし、AD DS Cfg Wizは約100秒間フリーズし、ウィザードの1ページから2ページ(サイト名コンボボックスとDSRMパスワード用の2つのパスワード入力編集ボックスが表示されます)になり、Active Directoryドメインサービスでこのエラーが発生します。構成ウィザード。 最初はこれが本当のエラーだと思った。しかし、私が過去を続けるのは、私の道の単なる障害です。 ドメインコントローラオプション Windows Server 2008、Windows Server 2008 R2、またはWindows Server 2012を実行しているドメインコントローラーをこのドメインに配置できませんでした。読み取り専用ドメインコントローラーをインストールするには、ドメインにWindows Server 2008、Windows Server 2008 R2、またはWindows Server 2012を実行しているドメインコントローラーが必要です。 [OK] 次に、「このチェックボックスをオンにできないため、グレー表示になっています」という同様のメッセージがいくつか表示されます。 次にこれ: Error determining whether the target environment requires adprep: Validation error: Validation error: Unable …

1
サービスアカウントのベストプラクティスは何ですか?
共有ドメインアカウントを使用して、社内でいくつかのサービスを実行しています。残念ながら、このアカウントの資格情報は広く配布されており、サービス目的と非サービス目的の両方で頻繁に使用されています。これにより、この共有アカウントがロックされているためにサービスが一時的に停止する可能性があります。 明らかに、この状況は変更する必要があります。新しいアカウントで実行するようにサービスを変更する計画ですが、そのアカウントには同じロックポリシーが適用されるため、これでは十分とは言えません。 私の質問はこれです。他のドメインアカウントとは異なる方法でサービスアカウントを設定する必要がありますか。設定する場合、それらのアカウントをどのように管理するのですか。2003ドメインを実行しており、ドメインコントローラのアップグレードは短期的には実行可能なソリューションではないことに注意してください。

2
phpMyadminブルートフォース試行用のカスタムfail2banフィルター
を使用した過度の失敗したphpMyAdminログイン試行をブロックするための探求でfail2ban、失敗した試行をファイルに記録するスクリプトを作成しました。/var/log/phpmyadmin_auth.log カスタムログ /var/log/phpmyadmin_auth.logファイルの形式は次のとおりです。 phpMyadmin login failed with username: root; ip: 192.168.1.50; url: http://somedomain.com/phpmyadmin/index.php phpMyadmin login failed with username: ; ip: 192.168.1.50; url: http://192.168.1.48/phpmyadmin/index.php カスタムフィルター [Definition] # Count all bans in the logfile failregex = phpMyadmin login failed with username: .*; ip: <HOST>; phpMyAdmin刑務所 [phpmyadmin] enabled = true port = http,https …


3
SSH攻撃を防ぐ
私はiptablesルールをセットアップして、IPによる1分あたり3回の試行のみを許可し、SSHを介してサーバーに接続し、その後SSH攻撃を防ぐためにすべての接続をドロップします。しかし、私は何か間違っているようです! -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 --name DEFAULT --rsource -j DROP -A INPUT -p tcp -m state --state …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.