Deploying Syslog server on openshfit - openshift

We are having Syslog server that is written in C++? The clients are TCP based. Can I deploy the server on open shift? Will I get HA out of the box? Any pointers will help me to proceed.

Unless your syslog server is going to accept logging connections over ports 80 or 443, then you won't be able to host it on OpenShift. OpenShift only allows external connections on port 80, 443, 8000, and 8443, which are all http/ws ports.

Related

Setting up MySQL database behind a VPN address

I have a regular MySQL server running with XAMPP at port 3306 and accessible by my internet ip aswell my local ip (127.0.0.1), the ports are forwarded in my router. An account set up to be accessed from any IP, Everything works fine.
I'm trying to make this same server be accessible by AirVPN DNS address. So I've followed AirVPN instructions to remove the forwarded ports in my router and forward a new port at their VPN with a random number (lets go with 1111) with local port as 3306 and DNS named as xxx.airdns.org
So I open MySQL with XAMPP under port 3306, nothing changed in config file. I run the AirVPN port checker over 1111 and it signals as open. I also try at other sites that checks ports and signals open at xxx.airdns.org:1111
Though when I try to make a connection as usual it returns error (10060): Can't connect to MySQL server on 'xxx.airdns.org' (10060)
Resolutions I've tried:
Switch port values in MySQL config files matching with the ports open in AirVPN
bound address to VPN adapter bind-address="10.6.114.48"
repeated the options above in all different kind of port combinations and addresses
Disabled Firewall on Ethernet adapter of VPN as described here
I couldn't achieve success in this task. I'm looking for some enlightment so I can understand the process.
EDIT:
The connection is set only to TCP protocol. A port check done through airVPN and is registered at XAMPP & FIREWALL logs as accepted connections. Though trying to connect from a client I got no log from Xampp or Firewall, it gets timed out.
Sorry for "answer" type not just comment, but i dont have enough reputation here :)
Maybe the protocol ( TCP/UDP ) is your issue.
If you use UDP on your airVPN better check forwarding on your router - most of them
by default sets TCP only. Otherwise maybe change to TCP on your airVPN.
ISP provider often filter this protocol.
Issue: Consider that you can't connect to a service running "behind" some VPN server from a machine that's connected to that very same VPN service.
Solution: Connect from another machine to test your service properly.

Configuring nginx as a tcp proxy for ejabberd

I am trying to configure nginx as a tcp proxy for ejabberd.
The nginx configuration for tcp proxying is as shown below
stream{
upstream ejabberd-servers{
server ejabberd:5222;
}
server{
listen 5222;
proxy_pass ejabberd-servers;
}
}
The ejabberd server is the ejabberd server node name. Since this is done in a docker environment.
When I connect to nginx using smack client library, I get the error is SOCKS5 socket fail.
When I try connection using SOCKS4, I get Servers response VN 60
The reason I am trying to do so is because I do not want to expose ejabberd directly to the Internet. I need to have a proxy to load balance connections and also prevent DDos attacks.
Setting up ejabberd for Internet is nicely explained here.
[how to open ejabberd server to public
Has anybody done so successfully?

CDO failed to connect on ports 465 and 587 but works on 25

We have a legacy FoxPro application that uses CDO for NTS to send STMP email through our Exchange server. We have 3 locations: Local (app run on same domain as Exchange server), VPN (app run on external network connected to domain via VPN), External (app run on external network and connects via Internet).
Up to now, Local has been configured to use port 25 with SSL. VPN and External have been configured to use port 465 with SSL. (My understanding from our network admin was that Exchange couldn't be configured to do SMTPS on 465 and we had to use STunnel).
Recently, we made changes to our Exchange server to disable SSL and only allow TLS. We opened up port 587. So according to my network admin, we now have Port 25 & 587 using the same Exchange Receive Connector and are set to use STARTTLS. Port 465 has also been configured to use STARTTLS and uses a different Exchange Receive Connector; however, the properties are all configured the same as the one used for 25 & 587.
After this change was made, our VPN and External sites were no longer able to send email through the application. The error message they get is:
OLE IDispatch exception code 0 from CDO.Message.1: The transport failed to connect to the server.
So, here is the current state of things:
Local - can send on 25 but not on 465 or 587
VPN - can not send on any of these ports
External - can not send on any of these ports
I also tried using the same code and was able to send SMTP from our system through gmail on port 465 and port 25 but not 587.
This is getting way beyond me at this point and I really don't know where to go from here. Does anyone have any ideas as to what may be going on?
I used WireShark to try to figure out what was being communicated between my client and the server (this would be for the Local scenario). Here are some the results:
Exchange on port 25 (Worked)
Exchange on port 465 (Fail)
Exchange on port 587 (Fail)
Gmail on port 465 (Worked)
Gmail on port 587 (Fail)
We finally found a workaround in case anyone is interested. Our Network Admin installed STunnel on our Exchange server and configured it to watch port 465. This got everything working again.

Protocol used by JDBC to connect to MySQL on different Host

I want to know what is the protocol that is used by JDBC to connect to MySQL Database that is present on an other host.
My client has only http and https access restricted to his host. I want an application on an other host to communicate with that MySQL Database available on my client's host.
Please note my Client uses WINDOWS 2012 SERVER
He has asked me the protocols and ports my application is using to connect to MySQL so that he would enable them.
Request you to help.
By default mysql server uses 3306/tcp port but this is configurable. They should open up only the port that the server is listening on. Regarding the protocol it is mysql specific, you can find more info at the official documentation
By default MySQL server listens on port 3306/TCP. See manual for more details.
MySQL uses its own binary protocol over TCP to destination port 3306 to connect to the database. If you cannot get a path open betwee your client and the server for port 3306 maybe you can get the server configured to use a port that IS available to you. It would depend on who has the stricter rules, the network admins or the DBA :-)

Remote Connection to MySQL database to bypass through Squid proxy server

I am using Squid as a proxy server for web cache in my local network. I have developed a utility in VB.NET that requires a remote connection to a MySQL database on a remote server over internet. I am able to connect to remote server if I disable the proxy server but can not if the proxy is enabled.
I don't know if I can use MySql Proxy in this scenario on my local proxy server and what configurations will I have to make.
Below is my squid configuration;
ACL to define ports allowed to passthrough Squid acl SSL_ports
port 443 acl Safe_ports port 80 # http acl Safe_ports
port 21 # ftp acl Safe_ports port 1025-65535 #
unregistered ports acl Safe_ports port 3306 # mysql remote
connection acl CONNECT method CONNECT http_access
deny !Safe_ports http_access allow Safe_ports http_access
allow CONNECT !SSL_ports
What alternative I can have to achieve a similar setup that is web cache + remote connection to mysql database.
Squid can't proxy MySQL at all.
You have to configure your firewall (or use direct connect, nat, etc) to use remote connection.
I've been looking into proxying database traffic, too. Squid can't proxy MySQL traffic, but you do want to proxy MySQL traffic, you can try SQLProxy, which is an IIS plug-in to proxy MySQL traffic.
A Java-based solution that runs on Windows, Mac, and Linux is TcpCatcher. It's primarily intended to monitor and change TCP traffic, but it can also be used as a pure proxy server.
If you are open to a *nix-based solution, there's High Availability Proxy ("HAProxy"), which is as a TCP/HTTP load balancer, which can be used to proxy MySQL database connections as well as HTTP connections.
There's a tutorial and information page on using HAProxy to proxy MySQL connections at http://www.severalnines.com/resources/clustercontrol-mysql-haproxy-load-balancing-tutorial (as of June 2013). Here's an example of using HAProxy to proxy a single MySQL connection: http://flavio.tordini.org/a-more-stable-mysql-with-haproxy.
I have managed to get it worked with Microsoft Forefront TMG. An access rule is to be created with a port 3306 outbound connection from internal to external for all the users. Firewall client should also be installed on client machines.
Squid and Polipo can not be used in an environment where remote connections to MySql are required. In such a scenario setting up a local server before proxy and some sync mechanism with the remote server or VPN/SSH is a possibility.
Hope it helps to other relevant readers.