PDA

Bekijk Volledige Versie : httpd en mysqld lopen vast



Arto
02/08/06, 17:59
Beste,

Os : CentOs 4.2
Direct Admin
Geinstalleerde software :
Brute Force Detection
APF Firewall
Mod_Evasive


Heel vaak lopen httpd en mysqld vast.
Als ik direct admin service monitor kijk zie ik bij httpd en mysqld erg veel conecties.
Na het restarten van deze 2 aplicaties lopen ze na een aantal minuten weer vast.
Weer erg veel conecties.

Weet iemand wat het oorzaak hier van kan zijn?
En hoe ik het kan oplossen?

ErikKosters
02/08/06, 18:55
Ten eerste, wat voor sites draaien op de server?


p.s.: Update CentOS.

klasje.be
02/08/06, 19:00
Zet in je php.ini dat persistent connecties niet mogen.
Dat er zoveel verbindingen zijn in mysql komt daar waarschijnlijk door.

M25
02/08/06, 21:02
op zich is er aardig wat software aanwezig om attacks te detecteren, maar de overhead vraagt uiteraard ook zijn tol

wat voor machine draait dit?

wat zijn de max mysql connecties?

Arto
02/08/06, 21:02
@ErikKosters,

PHP forums die ook mysql gebruiken, maar het zijn maar zo'n 10 forums.
Ik heb op andere servers meer forums gehad, nooit problemen mee gehad.

Hoe kan ik trouwens mijn CentOs updaten naar 4.3?

@klasje.be,

Dat had ik ook eerder gehoord, maar ik wist niet precies wat ik waar moest zetten, zou jij mij hiermee helpen?

@M25,

Max connections in /etc/my.cnf staat op :

max_connections=1500

Wat me ook opvalt is dat het /tmp map telkens vol is met bestanden zoals :
dos-85.107.241.137 en andere ip adressen.
Op mijn eerder gebruikte server had ik bijna nooit zoveel atacks.



[MySQL]
; Allow or prevent persistent links.
mysql.allow_persistent = On

; Maximum number of persistent links. -1 means no limit.
mysql.max_persistent = -1

; Maximum number of links (persistent + non-persistent). -1 means no limit.
mysql.max_links = -1

; Default port number for mysql_connect(). If unset, mysql_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
; at MYSQL_PORT.
mysql.default_port =

; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
mysql.default_socket =

; Default host for mysql_connect() (doesn't apply in safe mode).
mysql.default_host =

; Default user for mysql_connect() (doesn't apply in safe mode).
mysql.default_user =

; Default password for mysql_connect() (doesn't apply in safe mode).
; Note that this is generally a *bad* idea to store passwords in this file.
; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
; and reveal this password! And of course, any users with read access to this
; file will be able to reveal the password as well.
mysql.default_password =

; Maximum time (in seconds) for connect timeout. -1 means no limit
mysql.connect_timeout = 60

; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
; SQL-Errors will be displayed.
mysql.trace_mode = Off

klasje.be
02/08/06, 21:25
[MySQL]
; Allow or prevent persistent links.
mysql.allow_persistent = Off

; Maximum number of persistent links. -1 means no limit.
mysql.max_persistent = 1

Bij ons staat max mysql connecties op 500.
Maar dat moet je zien naargelang het verbruik op je server.
Vergeet niet dat er dan ook maar max 500 bezoekers tegelijk kunnen zijn op alle sites. (denk ik)

CentOs werkt geloof ik met apt-get
Probeer eens:
apt-get update
apt-get upgrade
apt-get dist-upgrade
apt-get dist-update

Zo iets in de aard was het geloof ik, probeer maar gewoon ff ;-)
Ps: indien je er genoeg van kent: maak kernel backup :-)
Anders: veel zal er wel niet mislopen zeker... :-p


Edit: indien je het kunt: ik raad je snort aan, is tamelijk goed om aanvallen te stoppen
+ mod_dosevasive in je httpd server

vaplu
02/08/06, 21:47
Gebruik je mod_status? Zoja, check daar eens wie en wat er allemaal actief is.

Toevallig had ik vandaag last van een aantal aziatische hosts die een of ander windows lek wilden exploiten, maar ze deden dat wel zo bruut dat ze tegen de limiet van maxclients aanliepen van apache.... met mod_status was dit duidelijk te zien.

Technotop
02/08/06, 21:56
[MySQL]
; Allow or prevent persistent links.
mysql.allow_persistent = Off

; Maximum number of persistent links. -1 means no limit.
mysql.max_persistent = 1

Bij ons staat max mysql connecties op 500.
Maar dat moet je zien naargelang het verbruik op je server.
Vergeet niet dat er dan ook maar max 500 bezoekers tegelijk kunnen zijn op alle sites. (denk ik)

CentOs werkt geloof ik met apt-get
Probeer eens:
apt-get update
apt-get upgrade
apt-get dist-upgrade
apt-get dist-update

Zo iets in de aard was het geloof ik, probeer maar gewoon ff ;-)
Ps: indien je er genoeg van kent: maak kernel backup :-)
Anders: veel zal er wel niet mislopen zeker... :-p


Edit: indien je het kunt: ik raad je snort aan, is tamelijk goed om aanvallen te stoppen
+ mod_dosevasive in je httpd server

Als DirectAdmin er op staat moet je hem natuurlijk niet gaan upgraden, dan zal hij Apache, php en mysql ook updaten en dan zal je DirectAdmin crashen.

Optie zou dan zijn:

yum update kernel
of
yum update -y

Digiover
02/08/06, 22:06
Bij ons staat max mysql connecties op 500.
Maar dat moet je zien naargelang het verbruik op je server.
Is geheel afhankelijk van het aantal MB's RAM geheugen. Hier is een formule voor:
key_buffer_size + (record_buffer + sort_buffer) * max_connections = ... 1500 max_connections is erg veel...
Ook zou ik een time-out limiet opnemen in het my.cnf bestand:
wait_timeout=$aantal_seconden

Wat vertelt het xxx.err logbestand van MySQL? Hier staan eventuele crashes in vermeld.

Arto
02/08/06, 22:15
mysql.allow_persistent = Off

; Maximum number of persistent links. -1 means no limit.
mysql.max_persistent = 1


Is gedaan, bij CentOs is het yum update niet apt-get
Maar als ik yum update doe doet hij CentOs niet updaten, direct admin trouwens ook niet.
Dat moet je in yumconfig aangeven.

klasje.be
03/08/06, 00:03
Sorry, bij mijn CentOs is het wel apt-get :-p
(Variant van clark-connect)

key_buffer_size + (record_buffer + sort_buffer) * max_connections = ...
16MB + (1+2)*500=1516
Er zit 2Gig ram in...
Wat raad men dan aan?

Digiover
03/08/06, 10:30
Sorry, bij mijn CentOs is het wel apt-get :-p
(Variant van clark-connect)

key_buffer_size + (record_buffer + sort_buffer) * max_connections = ...
16MB + (1+2)*500=1516
Er zit 2Gig ram in...
Wat raad men dan aan?
Je kan het aantal connecties nog verhogen, maar zo is het ook goed. Zolang MySQL maar niet meer geheugen wil gaan gebruiken dan je beschikbaar hebt.

mrleejohn
03/08/06, 14:40
Standaard is Centos met yum. Apt-get kan erbij als je wilt.

Als je centos niet kan updaten is er zeker ergens iets mis. Meldingen? Log-entries?

Arto
03/08/06, 16:55
Nog even terug op httpd, die is nog steeds flink bezig met vell conecties en uiteraad vastlopen van server.
Dit moet ik oplossen, maar ik weet het oorzak niet.
Klein gedeeldte van apache error log :


Usage: mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr ...
[- sendmail-options ...]
mail [-iInNv] -f [name]
mail [-iInNv] [-u user]
/bin/mail: invalid option -- t
Usage: mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr ...
[- sendmail-options ...]
mail [-iInNv] -f [name]
mail [-iInNv] [-u user]
[Thu Aug 3 16:46:25 2006] [warn] child process 16035 still did not exit, sending a SIGTERM
[Thu Aug 3 16:46:26 2006] [warn] child process 16036 still did not exit, sending a SIGTERM
[Thu Aug 3 16:46:26 2006] [warn] child process 16037 still did not exit, sending a SIGTERM
[Thu Aug 3 16:46:26 2006] [warn] child process 16038 still did not exit, sending a SIGTERM
[Thu Aug 3 16:46:26 2006] [warn] child process 21537 still did not exit, sending a SIGTERM
[Thu Aug 3 16:46:40 2006] [notice] Apache/1.3.36 (Unix) mod_ssl/2.8.27 OpenSSL/0.9.7a PHP/4.4.2 mod_perl/1.29 FrontPage/5.0.2.2510 configured -- resuming normal operations
[Thu Aug 3 16:46:40 2006] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Aug 3 16:46:40 2006] [notice] Accept mutex: sysvsem (Default: sysvsem)

klasje.be
03/08/06, 17:42
Mod_evasive:
Staat deze wel goed ingesteld in httpd.conf?
Dit stopt bv programma's die je httpd server aanvallen...

Je php verbindingen sluiten precies niet goed...
(Niet dat ik er veel van ken :-$)

Arto
03/08/06, 17:52
Beste,

Os : CentOs 4.2
Direct Admin
Geinstalleerde software :
Brute Force Detection
APF Firewall
Mod_Evasive
......

.................


Mod Evasive had ik al

Arto
03/08/06, 23:42
Wilt iemand aub mij helpen met dit klote probleem.
IK wordt hier schijt ziek van.
Zie foto :

http://img381.imageshack.us/img381/9935/naamloosse0.jpg

Bijna elke 5 minuten loopt ie zo vast en moet ik telkens httpd en mysqld restarten

klasje.be
03/08/06, 23:55
Heb je al proberen uit te vissen van welke van alle sites die je host de aanval vandaan komt? Dan kun je daar kijken wat er verkeerd zit in hun scripting.
Als het met mod_evasive nog steeds zo een problemen geeft...

Arto
04/08/06, 00:07
Ik weet niet eens of het echt door een aanval komt, ik zie wel veel atacks in /temp
Maar via het log bestanden kan ik niks uithalen.

klasje.be
04/08/06, 00:37
Of
- aanval
of
- een site die je host werkt niet goed met zijn /temp bestanden...
Moeten die niet opgekuist worden na gebruik?

Arto
04/08/06, 16:44
Als ik zo het /var/log/httpd bekijk zie ik heel veel ssl_mutex bestanden
Zij ook bijlage voor error log
Ik denk dat er iets mis met openssl en mod_ssl


[Fri Aug 4 16:23:40 2006] [error] mod_ssl: SSL handshake failed (server shared.domain:443, client 219.133.128.185) (OpenSSL library error follows)
[Fri Aug 4 16:23:40 2006] [error] OpenSSL: error:1407609B:SSL routines:SSL23_GET_CLIENT_HELLO:https proxy request [Hint: speaking HTTP to HTTPS port!?]
[Fri Aug 4 16:23:40 2006] [error] mod_ssl: SSL handshake failed (server shared.domain:443, client 219.133.128.185) (OpenSSL library error follows)
[Fri Aug 4 16:23:40 2006] [error] OpenSSL: error:1407609B:SSL routines:SSL23_GET_CLIENT_HELLO:https proxy request [Hint: speaking HTTP to HTTPS port!?]

Arto
06/08/06, 16:15
Kan iemand mij helpen aub?

klasje.be
07/08/06, 21:53
Quote: http://www.tenon.com/lists/html/iTools/2003-07/msg00104.html
And I get a new ssl_mutex.* file in my log directory.
=> You can delete those files

Verder google:
if you have configured
SSLMutex to something other than default setting of "default" in the
Fedora /etc/httpd/conf.d/ssl.conf. Can you double-check that?

Kijk ff die ssl.conf na

Draai ook ff httpd configtest commando.

If aanval:
One thing you might try kind of tedious but is to go to WHM and suspend all the accounts on the server then try and restart apache. If it starts and will stay running then start unsuspending sites one at a time until it crashes that way you will know what site they are attacking.

Verder:
I sound a wake up call to all out there who feel their servers are secure. Both chkrootkit and rkhunter both say the server is clean but I have discovered its been hacked. How do I know - because titles in WHM have been altered - there is a service in the Service Manager called "EvilApache" - its pretty clear whats happened. So we are in the process of migrating clients away from the server to another server. But I just am amazed by this attack, it was completely undetectable and nothing protected us from it - it seems to be exploting an Apache weakness of somekind. This is a serious issue that needs to be addressed fast. Now I am worried about all our servers. Anyone who's had this similar issue with Apache - its a Hack of somekind thats pretty damn stealthy.


Bron:
http://www.webhostingtalk.com/archive/index.php/t-429742-p-1.html

Ik vermoed dat het inderdaad een slechte instelling van ssl is...
Of van 1 van uw extensies zoals mod security...

Probeer allles te disablen en dan 1 per 1 te heractiveren tot de server crasht, dan weet je ongeveer waar het probleem zit...

Ik hoop dat ik je een beetje heb kunnen helpen, ik ken er zelf niet zo heeeel veel van... Maar aangezien verder niemand reageerde...