[Sammelthread] Sophos UTM-Sammelthread

Ok das mit der DMZ und dem extra Netz werde ich definitiv machen.

Ich würde das mit der Webserverprotection gerne probieren ich werde mein Glück mal Probieren :)
Bzw kann dann die NAT Regel entfallen?

Gruß Rocker

Ja mit der Webserver Protection entfällt die NAT Regel.
In der Webserver Protection wird ein virtueller(IP Adresse auf die gehört wird, etwaiges Zertifikat, und die Schutzmechanismen) und ein real Webserver(in deinem Fall die Owncloud Installation) definiert.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hallo, vielen Dank erst einmal für die tolle Unterstützung.

Ich habe die für den Server erstellte NAT-Regel nun ausgeschaltet, und komme... denke ich auch auf meinen Server, ich habe 2 Konfigurationsmöglichkeiten getestet, aber ich komme nicht weiter.

Also ich habe meinen Echten Webserver so konfiguriert:
Anhang anzeigen 317289

Virtueller Webserver Möglichkeit 1:
Anhang anzeigen 317290
Mit folgendem Resultat:
Anhang anzeigen 317291

Virtueller Webserver Möglichkeit 2:
Anhang anzeigen 317292
Mit folgendem Resultat (egal welches Zertifikat ich wähle)
Anhang anzeigen 317293

Weiß evtl jemand Rat?

Gruß Rocker
 
Zuletzt bearbeitet:
Hi versuche es einmal so:
web1.png
web2.png
web3.png
web4.png
web5.png
 
Hallo,

Danke für die Anleitung, ich hatte einiges anders :) und ich bin ein Stück weiter!
Aber leider bekomme ich weiterhin das "Forbidden"
Aber mir ist etwas aufgefallen:
Ich kann keine Domäne eintragen, das Feld erscheint zwar, bleibt aber grau... ka warum...
Kann es evtl auch damit zusammenhängen, das der Apache 2 Server bereits ein SSL Zertifikat hat? (Owncloud ist so eingerichtet das es nur HTTPS akzeptiert)

Gruß Rocker
 
Du musst HTTPS und nicht HTTP nehmen und dann ein Zertifikat auswählen das Zertifikat das du auswählst muss für den Hostnamen(oder * wildcard) über die auf deinen Ownlcoudserver zugreifen willst gültig sein (dein myfritz.net Hostname). Den Hostnamen kannst du nur anpassen wenn du ein Wildcardzertifikat hast. Du kannst ein passendes selbstsigniertes Zertifikat über das Certificate Management erstellen.
 
Hallo,

:) Es funktioniert ;D ich kann über das Web zugreifen Vielen vielen Dank für die tolle Unterstützung!!!
und das mit deaktivierter NAT Regel für diesen Port!
mit der connector Software komme ich aber nicht mehr auf meine owncloud im livelog sehe ich folgende Meldung wenn ich versuche zu connecten

Code:
2015:03:27-19:09:08 UTM reverseproxy: [Fri Mar 27 19:09:08.024974 2015] [security2:error] [pid 9342:tid 1126256] [client XXX.XXX.XXX.XXX] ModSecurity: Warning. Operator EQ matched 0 at REQUEST_HEADERS. [file "/usr/apache/conf/waf/modsecurity_crs_protocol_anomalies.conf"] [line "47"] [id "960015"] [rev "1"] [msg "Request Missing an Accept Header"] [severity "NOTICE"] [ver "OWASP_CRS/2.2.7"] [maturity "9"] [accuracy "9"] [tag "OWASP_CRS/PROTOCOL_VIOLATION/MISSING_HEADER_ACCEPT"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"] [hostname "XXXXXXXXXXXXXXmyfritz.net"] [uri "/owncloud/status.php"] [unique_id "VRWcwAACR@GOAAAAAG"]
2015:03:27-19:09:08 UTM reverseproxy: [Fri Mar 27 19:09:08.120840 2015] [security2:error] [pid 9342:tid 1126256] [client XXX.XXX.XXX.XXX] ModSecurity: Warning. Operator LT matched 5 at TX:inbound_anomaly_score. [file "/usr/apache/conf/waf/modsecurity_crs_correlation.conf"] [line "33"] [id "981203"] [msg "Inbound Anomaly Score (Total Inbound Score: 2, SQLi=, XSS=): Request Missing an Accept Header"] [hostname "XXXXXXXXXXXmyfritz.net"] [uri "/owncloud/status.php"] [unique_id "VRWcQAACR@GOAAAAAG"]
2015:03:27-19:09:08 UTM reverseproxy: id="0299" srcip="XXX.XXX.XXX.XXX" localip="192.XXX.XXX.XXX" size="136" user="-" host="XXX.XXX.XXX.XXX" method="GET" statuscode="200" reason="-" extra="-" exceptions="-" time="169655" url="/owncloud/status.php" server="XXXXXXXXXXXXXXmyfritz.net" referer="-" cookie="ocazydwz1b71=e4bv5ktubiefcl4" set-cookie="-"

XXX.XXX.XXX.XXX ist meine externe IP

Gruß Rocker
 
Zuletzt bearbeitet:
Hallo,

:) Es funktioniert ;D ich kann über das Web zugreifen Vielen vielen Dank für die tolle Unterstützung!!!
und das mit deaktivierter NAT Regel für diesen Port!
mit der connector Software komme ich aber nicht mehr auf meine owncloud im livelog sehe ich folgende Meldung wenn ich versuche zu connecten

Code:
2015:03:27-19:09:08 UTM reverseproxy: [Fri Mar 27 19:09:08.024974 2015] [security2:error] [pid 9342:tid 1126256] [client XXX.XXX.XXX.XXX] ModSecurity: Warning. Operator EQ matched 0 at REQUEST_HEADERS. [file "/usr/apache/conf/waf/modsecurity_crs_protocol_anomalies.conf"] [line "47"] [id "960015"] [rev "1"] [msg "Request Missing an Accept Header"] [severity "NOTICE"] [ver "OWASP_CRS/2.2.7"] [maturity "9"] [accuracy "9"] [tag "OWASP_CRS/PROTOCOL_VIOLATION/MISSING_HEADER_ACCEPT"] [tag "WASCTC/WASC-21"] [tag "OWASP_TOP_10/A7"] [tag "PCI/6.5.10"] [hostname "XXXXXXXXXXXXXXmyfritz.net"] [uri "/owncloud/status.php"] [unique_id "VRWcwAACR@GOAAAAAG"]
2015:03:27-19:09:08 UTM reverseproxy: [Fri Mar 27 19:09:08.120840 2015] [security2:error] [pid 9342:tid 1126256] [client XXX.XXX.XXX.XXX] ModSecurity: Warning. Operator LT matched 5 at TX:inbound_anomaly_score. [file "/usr/apache/conf/waf/modsecurity_crs_correlation.conf"] [line "33"] [id "981203"] [msg "Inbound Anomaly Score (Total Inbound Score: 2, SQLi=, XSS=): Request Missing an Accept Header"] [hostname "XXXXXXXXXXXmyfritz.net"] [uri "/owncloud/status.php"] [unique_id "VRWcQAACR@GOAAAAAG"]
2015:03:27-19:09:08 UTM reverseproxy: id="0299" srcip="XXX.XXX.XXX.XXX" localip="192.XXX.XXX.XXX" size="136" user="-" host="XXX.XXX.XXX.XXX" method="GET" statuscode="200" reason="-" extra="-" exceptions="-" time="169655" url="/owncloud/status.php" server="XXXXXXXXXXXXXXmyfritz.net" referer="-" cookie="ocazydwz1b71=e4bv5ktubiefcl4" set-cookie="-"

XXX.XXX.XXX.XXX ist meine externe IP

Gruß Rocker

Hast du im virtuellen Webserver ein Firewall Profil ausgewählt(Im Screenshot seh ich das Advanced Profil)? Das Problem hatte ich auch schon und kam dadurch das das Profil zu restriktiv war. Versuch mal No Profile wenns dann geht kannst du das Profil anpassen und dich hintasten ab wann es nichtmehr funktioniert.
 
Hallo,

Ich habe den Übeltäter gefunden :)
ich habe ein neues Firewall-Profil angelegt, man muss lediglich HTTP-Richtlinie unchecken dann läuft es auch mit dem Desktop/Handy client!
Anhang anzeigen 317647

Wichtig ist auch, dass man beim Virtuellen Server HTML/Cookie umschreiben nicht setzt, da sonst das WEBdav nicht funktioniert.
Beachtet man das, läuft alles (auch die Android app)

Danke für die Hilfe!

Gruß Rocker
 
Zuletzt bearbeitet:
Ich hab ein kleines VPN Routing Problem und weiß gerade nicht wie ich es lösen soll.
Aufbau:

Root Server mit Openvpn, Sophos soll von daheim als Client fungieren.
Die Verbindung steht auch und die jeweiligen Endpoints lassen sich jeweils gegenseitig anpingen. (10.8.1.1 am Root und 10.8.1.6 an Sophos)
Ich hatte mir um das zu testen extra zeitweise einen SSH Zugang auf Sophos freigeschaltet um die Endstelle anzupingen.

Nun möchte das 10.8.1.0/24 Subnetz komplett für die Clients hinter Sophos zugänglich machen.
Im Moment kann ich von den Clients aus nichtmal die 10.8.1.1 anpingen.

Bisher hat Sophos das komplette Netz immer automatisch geroutet und an die Clients weitergegeben.

Eine statische Route ala Netz 10.8.1.0/24 über Host 10.8.0.6 funktioniert leider nicht und über pushroute kriege ich auch nicht das gewünschte Ergebnis :-(
(Eigentlich müsste Sophos doch auch wissen wo die Anfragen hin sollen, das kennt ja den entsprechenden Endpoint)

Hat jemand eine Idee warum ich auf das Netz nicht zugreifen kann?

ädit:
Hat sich erledigt.
In der server.conf gehört das Subnetz von zuhause geroutet und schon läufts!
 
Zuletzt bearbeitet:
Tr4c3rt: Dieses Setup habe ich nicht hinbekommen, dass sich die Sophos als OpenVPN Client verhält und sich raus verbindet. Hast du da mehr Infos oder Beispielconfigs für?

Du müsstest entweder Auto-Firewall Rule anlegen oder einfach eine Netzdefinition 10.8.1.0/24 anlegen (nenn es z.B. "Root1 Netz") und dann "Internes Netz" - ANY - "Root 1 Netz"
 
Hi,

klar dafür gibts ein Bash Script, dass dir aus der client conf ein APC File schreibt:

Hier mal meine Beispielkonfiguration:

Server.conf:
port 13030
proto udp
dev tun

ca /etc/openvpn/easy-rsa/keys/ca.crt # generated keys
cert /etc/openvpn/easy-rsa/keys/xxx.de.crt
key /etc/openvpn/easy-rsa/keys/xxx.de.key # keep secret
dh /etc/openvpn/easy-rsa/keys/dh1024.pem

server 10.8.1.0 255.255.255.0 # internal tun0 connection IP
keepalive 10 120
route 192.168.10.0 255.255.255.0 #Wichtig, sonst routet Sophos das Netz nicht und die Clients hinter Sophos kriegen keinen Zugriff
comp-lzo # Compression - must be turned on at both end
persist-key
persist-tun

status log/openvpn-status.log
client-config-dir /etc/openvpn/ccd
verb 3 # verbose mode
client-to-client

CCD:
ifconfig-push 10.8.1.6 10.8.1.5
iroute 192.168.10.0/24 255.255.255.0

Client Conf

client
dev tun
port 13030
proto udp

remote xxxxx.de 13030 # VPN server IP : PORT
nobind

ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/sophos.crt
key /etc/openvpn/easy-rsa/keys/sophos.key

comp-lzo
persist-key
persist-tun

verb 3

Das erstellst du Alles so am Server und dann kommt das hier zum Einsatz:

ovpn-to-apc.sh

#!/bin/bash
##
# ovpn-to-apc.sh
# -----------------------------------------------
# (C) 2009 Patrick Schneider http://goo.gl/5bPqy
# (C) 2012 Stefan Rubner <stefan@whocares.de>
# -----------------------------------------------
# Changes:
# 2012-05-28
# Stefan Rubner
# * Added support for 'tls-auth' in old style
# .ovpn files, too
# 2012-05-26
# Stefan Rubner:
# * Started work on making the script work
# with embedded certs and keys (tnx Alois)
# 2012-04-17
# Stefan Rubner:
# * Fixed tr calls to also strip \r in .ovpn
# files created on Windows
# * Added some defaults for settings that may
# not be present in the .ovpn but are needed
# by the Astaro Security Gateway
# * reformatted the code a bit and added some
# comments
# 2009-01-22
# Patrick Schneider:
# * initial revision
# -----------------------------------------------
# Usage:
# ovpn-to-apc.sh $1 $2 [$3 [$4]]
#
# $1 : OpenVPN Config File
# $2 : Astaro .apc to create
# $3 : username
# $4 : password
#
##
########
# Functions
########
##
# Write .apc header
##
write_header() {
printf "\x04\x06\x041234\x04\x04\x04\x08\x03\x0c\x00\x00\x00\x0a" > ${ApcFile}
}
##
# Get the CA either from supplied file
# or from XMLish definition within the
# .ovpn file
##
get_ca() {
if [ -z "${isxml}" ]; then
ca=`grep "^ca " ${OvpnFile} | awk '{print $2}' |tr -d '\r\n'`
else
ca="${TmpDir}/ca.crt"
sed -n "/<ca>/,/<\/ca>/p" ${OvpnFile} | grep -v "ca>" > ${ca}
fi
}
##
# Get the key either from supplied file
# or from XMLish definition within the
# .ovpn file
##
get_key() {
if [ -z "${isxml}" ]; then
key=`grep "^key " ${OvpnFile} | awk '{print $2}' |tr -d '\r\n'`
else
key="${TmpDir}/user.key"
sed -n "/<key>/,/<\/key>/p" ${OvpnFile} | grep -v "key>" > ${key}
fi
}
##
# Get the cert either from supplied file
# or from XMLish definition within the
# .ovpn file
##
get_cert() {
if [ -z "${isxml}" ]; then
cert=`grep "^cert " ${OvpnFile} | cut -d ' ' -f2 |tr -d '\r\n'`
else
cert="${TmpDir}/user.cert"
sed -n "/<cert>/,/<\/cert>/p" ${OvpnFile} | grep -v "cert>" > ${cert}
fi
}
##
# Get the tls-auth data
# from XMLish definition within the
# .ovpn file
##
get_ta() {
if [ -z "${isxml}" ]; then
# old config, look for 'tls-auth' statement
tlsauth=`grep "^tls-auth " ${OvpnFile} | cut -d ' ' -f2 |tr -d '\r\n'`
if [ ! -z "${tlsauth}" ]; then
# we have a tls-auth key
tafile=`mktemp ./ta_XXXXXXXX.key`
takey="${TmpDir}/ta.key"
cat ${tlsauth} > ${tafile}
if [ -z "${tlsremote}" ]; then
echo "/CN=OpenVPN_Server" > ${takey}
else
echo "${tlsremote}\"" > ${takey}
fi
echo "tls-auth /etc/${tafile:2}" >> ${takey}
echo -n "key-direction \"1" >> ${takey}
fi
else
# Create file with the ta.key
tafile=`mktemp ./ta_XXXXXXXX.key`
sed -n "/<tls-auth>/,/<\/tls-auth>/p" ${OvpnFile} | grep -v "^#" > ${tafile}
# patch up the server_dn info to include
# the necessary tls stuff
takey="${TmpDir}/ta.key"
tlsremote=`grep "^tls-remote " ${OvpnFile} | cut -d ' ' -f2 |tr -d '\r\n'`
if [ -z "${tlsremote}" ]; then
echo "/CN=OpenVPN_Server\"" > ${takey}
else
echo ${tlsremote}\" > ${takey}
fi
echo "tls-auth /etc/${tafile:2}" >> ${takey}
echo -n "key-direction \"1" >> ${takey}
fi
}
##
# Get Remote Host's address, port and
# protocol
##
get_host_port_proto() {
if [ -z "${isxml}" ]; then
# do it the old way
RemHost=`grep "^remote " ${OvpnFile} | cut -d ' ' -f2 |tr -d '\r\n'`
RemPort=`grep "^remote " ${OvpnFile} | cut -d ' ' -f3 |tr -d '\r\n'`
RemProto=`grep "^proto " ${OvpnFile} | cut -d ' ' -f2 |tr -d '\r\n'`
else
# Check whether we have a protocol statement
RemLine=`grep "^proto " ${OvpnFile}`
if [ -z "${RemLine}" ]; then
# Ok, looks like a load balancing setup
# So we just pick the first of the UDP lines since
# Access Server seems to like those better
RemHost=`grep "^remote .*udp" ${OvpnFile} | head -n1 | awk '{ print $2 }'`
RemPort=`grep "^remote .*udp" ${OvpnFile} | head -n1 | awk '{ print $3 }'`
RemProto="udp"
else
RemHost=`grep "^remote " ${OvpnFile} | cut -d ' ' -f2 |tr -d '\r\n'`
RemPort=`grep "^port " ${OvpnFile} | cut -d ' ' -f2 |tr -d '\r\n'`
RemProto=`grep "^proto " ${OvpnFile} | cut -d ' ' -f2 |tr -d '\r\n'`
fi
fi
}
##
# Main Script
##
echo "+------------------------------------------------+"
echo "| OpenVPN .ovpn to Astaro .apc converter |"
echo "| |"
echo "| (C) 2009 Patrick Schneider, 2012 Stefan Rubner |"
echo "| https://gitorious.org/admintools/ovpn-to-apc |"
echo "+------------------------------------------------+"
echo ""
if [ $# -lt 2 ] || [ $# -gt 4 ]; then
echo Usage:
echo
echo [bash] ${0} openvpn-config.ovpn output.apc [username [password]]
echo
echo username and password are optional and may be entered by the user
echo The config file needs to contain the ca, cert and key directives
echo that point to the corresponding files or it needs to contain the
echo certificates and keys directly enclosed in XML-like tags.
echo
exit
fi
# Remember our input values
##
OvpnFile=${1}
ApcFile=${2}
##
# Convert Dos to Unix
##
tr -d '\r' < ${OvpnFile} > tmp.ovpn
rm ${OvpnFile}
mv tmp.ovpn ${OvpnFile}
echo "Using input file : ${OvpnFile}"
echo ""
if [ $# -gt 2 ] && [ $# -lt 4 ]; then
# Only username given on command line
user=${3}
echo -n "Please enter your password: "
read pass
echo ""
elif [ $# -gt 3 ]; then
# username and password given
user=${3}
pass=${4}
else
# try to get user from the .ovpn file
user=`echo $1 | cut -d '@' -f1`
if [ ${user} = ${1} ]; then
echo -n "Please enter your username: "
read user
fi
echo -n "Please enter your password: "
read pass
echo ""
fi
##
# Passwort field is required by Astaro but
# wrong content doesn't hurt operations
##
if [ -z "${user}" ]; then
user="dummy"
fi
if [ -z "${pass}" ]; then
pass="dummy"
fi
##
# Check for type of .ovpn file
##
TmpDir=`mktemp -d`
isxml=`grep "<ca>" ${1}`
if [ "${isxml}" == "<ca>" ]; then
isxml=1
else
isxml=
fi
# if [ -z "${isxml}" ]; then
##
# Read the filenames from the config-file
##
# ca=`grep "^ca " ${1} | cut -d ' ' -f2 |tr -d '\r\n'`
# key=`grep "^key " ${1} | cut -d ' ' -f2 |tr -d '\r\n'`
# cert=`grep "^cert " ${1} | cut -d ' ' -f2 |tr -d '\r\n'`
# fi
echo -n "Getting CA information : "
get_ca
echo "${ca}"
echo -n "Getting Key information : "
get_key
echo "${key}"
echo -n "Getting Cert information: "
get_cert
echo "${cert}"
echo -n "Getting remote host data: "
get_host_port_proto
echo "${RemHost} : ${RemPort} : ${RemProto}"
echo ""
echo "Writing .apc file : ${ApcFile}"
echo ""
write_header
##
# Extract protocol (UDP/TCP) from config file
##
var=${RemProto}
# Determine length of the protocol and convert it to hex
varlen=`echo ${var} | tr -d '\r\n' | wc -c`
varlen=`echo "obase=16; ${varlen}" | bc -q`
# Write length to output file
printf "\x${varlen}" >> ${ApcFile}
# Write protocol to output file
echo $var | tr -d '\r\n' >> ${ApcFile}
# Write fix information to output file
printf "\x08\x00\x00\x00" >> ${ApcFile}
echo protocol >>${ApcFile}
##
# HMAC packet authentication
# default: SHA1
##
var=`grep "^auth " ${OvpnFile} | cut -d ' ' -f2 |tr -d '\r\n'`
if [ -z "${var}" ]; then
var="SHA1"
fi
varlen=`echo ${var} | tr -d '\r\n' | wc -c`
varlen=`echo "obase=16; ${varlen}" | bc -q`
printf "\x${varlen}" >> ${ApcFile}
echo $var | tr -d '\r\n' >> ${ApcFile}
printf "\x18\x00\x00\x00" >> ${ApcFile}
echo authentication_algorithm | tr -d '\r\n' >> ${ApcFile}
##
# Determine length of user certifcate file
# and put certificate into .apc file
##
varlen=`cat "${cert}" | wc -c`
# Length decimal
hex=`echo "obase=16; ${varlen}" | bc -q` # Length hexadecimal
num=`echo "obase=16; ${varlen}" | bc -q | tr -d '\r\n' | wc -c` # Length of the hex-number
odd=`expr ${num} % 2` # hex-number: even or odd?
# TODO: Add a check for bigger hex-number (more than 4 digits)
if [ ${odd} -eq 0 ]; then
# even: swap AABB > BBAA
varlen1=`echo "obase=16; ${varlen}" | bc -q | cut -b 3,4`
varlen2=`echo "obase=16; ${varlen}" | bc -q | cut -b 1,2`
else
# odd: swap AAB > AB 0A
varlen1=`echo "obase=16; ${varlen}" | bc -q | cut -b 2,3`
varlen2=`echo "obase=16; ${varlen}" | bc -q | cut -b 1`
fi
printf "\x1\x${varlen1}\x${varlen2}\x0\x0" >> ${ApcFile}
cat ${cert} >> ${ApcFile}
printf "\xb\x0\x0\x0" >> ${ApcFile}
echo "certificate" | tr -d '\r\n' >> ${ApcFile}
##
# Determine size of CA certificate file
# and put CA certificate into .apc file
##
varlen=`cat ${ca} | wc -c`
hex=`echo "obase=16; ${varlen}" | bc -q`
num=`echo "obase=16; ${varlen}" | bc -q | tr -d '\r\n' | wc -c`
odd=`expr ${num} % 2`
if [ ${odd} -eq 0 ]; then
varlen1=`echo "obase=16; ${varlen}" | bc -q | cut -b 3,4`
varlen2=`echo "obase=16; ${varlen}" | bc -q | cut -b 1,2`
else
varlen1=`echo "obase=16; ${varlen}" | bc -q | cut -b 2,3`
varlen2=`echo "obase=16; ${varlen}" | bc -q | cut -b 1`
fi
printf "\x1\x${varlen1}\x${varlen2}\x0\x0" >> ${ApcFile}
cat ${ca} >> ${ApcFile}
printf "\x7\x0\x0\x0" >> ${ApcFile}
echo "ca_cert" | tr -d '\r\n' >> ${ApcFile}
##
# Determine size of user key file and
# put the key file into the .apc file
##
varlen=`cat ${key} | wc -c`
hex=`echo "obase=16; ${varlen}" | bc -q`
num=`echo "obase=16; ${varlen}" | bc -q | tr -d '\r\n' | wc -c`
odd=`expr ${num} % 2`
if [ ${odd} -eq 0 ]; then
varlen1=`echo "obase=16; ${varlen}" | bc -q | cut -b 3,4`
varlen2=`echo "obase=16; ${varlen}" | bc -q | cut -b 1,2`
else
varlen1=`echo "obase=16; ${varlen}" | bc -q | cut -b 2,3`
varlen2=`echo "obase=16; ${varlen}" | bc -q | cut -b 1`
fi
printf "\x1\x${varlen1}\x${varlen2}\x0\x0" >> ${ApcFile}
cat ${key} >> ${ApcFile}
printf "\x3\x0\x0\x0" >> ${ApcFile}
echo "key" >> ${ApcFile}
##
# Username entry
##
varlen=`echo ${user} | tr -d '\r\n' | wc -c`
varlen=`echo "obase=16; ${varlen}" | bc -q`
printf "\x${varlen}" >>${ApcFile}
echo ${user} | tr -d '\r\n' >> ${ApcFile}
printf "\x08\x00\x00\x00" >> ${ApcFile}
echo username | tr -d '\r\n' >> ${ApcFile}
##
# Compression entry
# -----------------------------------------------
# This is a bit of a kludge. Actually OpenVPN
# Access Server puts a 'compl-lzo no' into the
# .ovpn file - but later on complains if the
# Astaro tries to connect with comp-lzo disabled
# So we check if a line starting with "comp-lzo"
# is present and if so, we enable compression
# for the ASG.
##
var=`grep "^comp-lzo" ${OvpnFile}| tr -d '\r\n'`
if [ -z "${var}" ]; then
printf "\x0a\x01\x30\x0b\x0\x0\x0" >> ${ApcFile}
else
printf "\x0a\x01\x31\x0b\x0\x0\x0" >> ${ApcFile}
fi
echo compression >> ${ApcFile}
##
# Encryption algorithm
# default: BF-CBC
###
var=`grep "^cipher " ${OvpnFile} | cut -d ' ' -f2 |tr -d '\r\n'`
if [ -z "${var}" ]; then
var="BF-CBC"
fi
varlen=`echo ${var} | tr -d '\r\n' | wc -c`
varlen=`echo "obase=16; ${varlen}" | bc -q`
printf "\x${varlen}" >> ${ApcFile}
echo $var | tr -d '\r\n' >>${ApcFile}
printf "\x14\x00\x00\x00" >> ${ApcFile}
echo encryption_algorithm >> ${ApcFile}
##
# Password entry
##
varlen=`echo ${pass} | tr -d '\r\n' | wc -c`
varlen=`echo "obase=16; ${varlen}" | bc -q`
printf "\x${varlen}" >> ${ApcFile}
echo ${pass} | tr -d '\r\n' >> ${ApcFile}
printf "\x08\x00\x00\x00" >> ${ApcFile}
echo password >> ${ApcFile}
##
# TLS remote identification
# ASG seems to need that entry so try our best to
# find one in case there's none in the .ovpn
# default: the CN of the remote server (w/o the '/CN=' part)
##
####
# !!! Experimental !!!
# We try to trick the ASG into writing more
# stuff into the config file than it normally
# would
###
if [ ! -z "${isxml}" ]; then
# The .ovpn was most likely created by an
# OpenVPN Access Server. Thus we somehow
# need to get the 'tls-auth stuff' into
# our client config
get_ta
varlen=`cat ${takey} | wc -c`
varlen=`echo "obase=16; ${varlen}" | bc -q`
printf "\x${varlen}" >> ${ApcFile}
cat ${takey} >> ${ApcFile}
else
# Standard procedure ...
tlsremote=`grep "^tls-remote " ${OvpnFile} | cut -d '"' -f2 |tr -d '\r\n'`
if [ -z "${tlsremote}" ]; then
# need to fetch CN from .crt
tlsremote=`grep DirName ${cert} | awk -F'CN=' '{ print $2 }' | awk -F'/' '{ print $1 }'`
if [ -z "${tlsremote}" ]; then
# still no luck so make one up
tlsremote="/CN=OpenVPN_Server"
fi
else
# check whether CN was set without quotes
temp=`echo ${tlsremote} | grep "^tls-remote "`
if [ "${temp}" = "${tlsremote}" ]; then
tlsremote=`grep "^tls-remote " ${OvpnFile} | cut -d ' ' -f2 |tr -d '\r\n'`
fi
fi
##
# Check for tls-auth
##
get_ta
if [ -z "${takey}" ]; then
varlen=`echo ${tlsremote} | tr -d '\r\n' | wc -c`
varlen=`echo "obase=16; ${varlen}" | bc -q`
printf "\x${varlen}" >> ${ApcFile}
echo $tlsremote | tr -d '\r\n' >> ${ApcFile}
else
varlen=`cat ${takey} | wc -c`
varlen=`echo "obase=16; ${varlen}" | bc -q`
printf "\x${varlen}" >> ${ApcFile}
cat ${takey} >> ${ApcFile}
fi
fi
printf "\x09\x00\x00\x00" >> ${ApcFile}
echo server_dn >> ${ApcFile}
##
# Remote Server Port
##
var=${RemPort}
varlen=`echo ${var} | tr -d '\r\n' | wc -c`
varlen=`echo "obase=16; ${varlen}" | bc -q`
printf "\x${varlen}" >> ${ApcFile}
echo $var | tr -d '\r\n' >>${ApcFile}
printf "\x0b\x00\x00\x00" >> ${ApcFile}
echo server_port >> ${ApcFile}
##
# Remote Server IP/URI
##
var=${RemHost}
varlen=`echo ${var} | tr -d '\r\n' | wc -c`
varlen=`echo "obase=16; ${varlen}" | bc -q`
printf "\x${varlen}" >> ${ApcFile}
echo $var | tr -d '\r\n' >> ${ApcFile}
printf "\x0e\x00\x00\x00" >> ${ApcFile}
echo server_address| tr -d '\r\n' >> ${ApcFile}
##
# Clean up the tmp files we
# created (if any)
##
if [ ! -z "${TmpDir}" ]; then
echo "Cleaning up tmp dir : ${TmpDir}"
echo ""
rm -rf ${TmpDir}
fi
##
# Check for ta.key we created and if
# we did, send a notice to the user
##
if [ ! -z "${tafile}" ]; then
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo " Notice: A key file for tls-auth was created for you"
echo ""
echo " To use it, you need to copy it over to your Astaro"
echo " BEFORE installing the generated .apc config file."
echo ""
echo " To do that, use a command similar to this:"
echo ""
echo " scp -p ${tafile} root@<ip.of.astaro>:/var/chroot-openvpn/etc/"
echo ""
echo " Make sure to NOT change the name of the key file!!!"
echo ""
fi

Wenn es keine Fehlermeldungen gibt, hast du jetzt ein apc file, dass du einfach bei Sophos in der VPN Verwaltung hochladen kannst.

Fertig...



Du müsstest entweder Auto-Firewall Rule anlegen oder einfach eine Netzdefinition 10.8.1.0/24 anlegen (nenn es z.B. "Root1 Netz") und dann "Internes Netz" - ANY - "Root 1 Netz"

Wie geschrieben es läuft schon.
Ich hatte das "route 192.168.10.0 255.255.255.0" in der Serverconf vergessen, sodass das heimische Subnetz serverseitig nicht geroutet wurde.
Jetzt klappt Alles wie ich es gerne hätte.



Wenn du irgendwelche Fragen oder Probleme hast raus damit. Ich bin was Sophos und VPN angeht mittlerweile eigentlich ganz gut dabei.
Von Verbindungen zu Fritzboxen (da hab ich geflucht), ovpn Linux und Windows Gegenstellen in beide Richtungen zu dd wrt Routern war mittlerweile fast Alles dabei :d
 
Zuletzt bearbeitet:
Tr4c3rt: bekommt man es hin, das ALLES was ipv4-mäßig auf den Vserver reinkommt auf die Sophos umzuleiten über den Weg? Ich habe z.B. nur DS-Lite und hätte gerne eine möglichst "vollfunktionale" IPv4
 
Falls noch jemand eine UTM braucht ich hätte eine Astaro asg110/120 rev.4 über mit 2gb ram und 160gb hd. Ist Baugleich wie die Sophos Rev.5.
 
Hallo zusammen,
ich hätte da auch mal einen Spezialfall. Vieleicht kann man dies auch irgendwie mit der UTM lösen.
Folgendes Situation
-Einige eigene Domains
-1x Dyndns Adresse von No-IP
-Benutzerportal aktiv
-2x lokale + 1x Wlan Netz
-Cisco™ VPN Client aktiv
-SSL aktiv

Was möchte ich nun machen.

in einem der beiden Netz habe ich einen Windows Server 2012 R2 Essentials den ich von Aussen erreichbar machen möchte. Im Detail möchte ich die Funktion "Zugriff überall" nutzen.

Warum, wenn ich ehrlich bin kein produktiven Grund sondern eher, probieren, testen, lernen....

Was ist mein Problem, was möchte ich letztendlich erreichen?
Ich möchte eine spezielle Subdomain aufrufen und dann über eine https Verbindung + Zertifikat gesichert. Da ja schon der Port 443 in Verwendung ist muss ich dazu auch noch auf einen anderen Port ausweichen. Zb. 10443

Kann mir hier jemand etwas Hilfestellung geben wie ich das ganze am besten umsetzen kann?
 
Zuletzt bearbeitet:
pfaelzer: von Aussen erreichbar birgt immer ein Risiko, daher nimmt man meistens eine DMZ dafür um den Rest des LANs zu trennen.

Man könnte dann eine Subdomain entsprechend einrichten die auf die No-IP deiner Dyndns leitet (jetzt so ausm Kopf würde ich sagen das geht irgendwie) - "blöd" ist die neue IP Adresse jede 24 Stunden. Da macht dann manchmal das DNS Probleme weil es nicht überall sofort umspringt.
 
Tr4c3rt: bekommt man es hin, das ALLES was ipv4-mäßig auf den Vserver reinkommt auf die Sophos umzuleiten über den Weg? Ich habe z.B. nur DS-Lite und hätte gerne eine möglichst "vollfunktionale" IPv4

Hi,
klar warum nicht, richte per IPTables einen Forward auf die Endstellen IP der Sophos UTM ein.
Wobei ein paar Ports natürlich reserviert bleiben sollten. (Mindestens SSH)
Und dann kannst du später ganz normal in Sophos per NAT die jeweiligen Port-Freigaben + Firewalleinträge erteilen, wie bei einem normalen IPv4 Anschluss auch.

Den Server musst du daher nie wieder anpacken.
 
Zuletzt bearbeitet:
Mach das, ich helfe gerne ;-)
So eine Lösung habe ich vor ein paar Monaten erst für einen Arbeitskollegen erstellt, der bei Unitymedia zwangskastriert wurde (ipv6)
 
Zuletzt bearbeitet:
Tr4c3rt - ich PM dich mal :) Danke schonmal!

EDIT: wenn wir das per Teamviewer machen könnten, dann würde ich wohl nachher eine Anleitung dazu machen. Ggf. ein Script dazu. Das sollte ja machbar sein ohne Probleme.
 
Zuletzt bearbeitet:
Der Sammethread gefällt mir, ich spiele auch grad mit Sophos rum :)

Hat jemand die virtuelle UTM (9.3) auf Hyper-V 2012 R2 laufen? Ich habe damit nervige Netzwerkprobleme. Als beispiel:

Ständige Pingverluste, manchmal über mehrere Sekunden:
Code:
Antwort von 10.10.10.10: Bytes=32 Zeit=50ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=43ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=49ms TTL=42
Zeitüberschreitung der Anforderung.
Antwort von 10.10.10.10: Bytes=32 Zeit=44ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=42ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=41ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=44ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=44ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=43ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=42ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=50ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=42ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=42ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=43ms TTL=42
Zeitüberschreitung der Anforderung.
Antwort von 10.10.10.10: Bytes=32 Zeit=41ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=45ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=42ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=46ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=45ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=42ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=41ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=43ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=41ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=42ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=42ms TTL=42
Zeitüberschreitung der Anforderung.
Antwort von 10.10.10.10: Bytes=32 Zeit=42ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=45ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=43ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=43ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=45ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=43ms TTL=42
Zeitüberschreitung der Anforderung.
Antwort von 10.10.10.10: Bytes=32 Zeit=43ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=41ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=58ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=44ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=43ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=42ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=39ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=43ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=51ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=43ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=49ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=43ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=42ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=44ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=41ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=44ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=43ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=42ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=43ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=41ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=52ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=44ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=43ms TTL=42
Zeitüberschreitung der Anforderung.
Antwort von 10.10.10.10: Bytes=32 Zeit=50ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=42ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=42ms TTL=42
Antwort von 10.10.10.10: Bytes=32 Zeit=42ms TTL=42
Zeitüberschreitung der Anforderung.
Antwort von 10.10.10.10: Bytes=32 Zeit=45ms TTL=42

Auf VMware läuft ein Testgerät jedoch super. Kann bei diesem Test aber nicht auf Hyper-V verzichten. Habe ähnliche Probleme schon im Netz gelesen aber bis jetzt keine Lösung gefunden :(
 
Zuletzt bearbeitet:
Danke an Tr4c3rt für die großzügige Hilfe bei Sophos zu OpenVPN. Gibt noch 2-3 Kleinigkeiten die komischerweise auf einem frischen Debian nicht funktionierten. Werde in den nächsten Tagen mal gucken wieso nicht und was dazu posten.
 
Habe die Probleme mit dem frischen Debian gelöst.
Hier eine ZIP Datei mit Beispiel Config und einer "howto-debian.txt"

Credits gehen hauptsächlich an "Tr4c3rt" für's Einrichten und "Stefan Rubner" für das .ovpn zu .apc Script.

https://www.dropbox.com/s/2bnxf4h9pp4n5bz/Sophos-S2S-Debian.zip?dl=0

Info: habe es alles in englischer Sprache gehalten damit es möglichst weit nutzbar ist.
Edit: beim erstellen der .apc mittels script weder Username noch Passwort eingeben. Wird nicht gebraucht.
 
Zuletzt bearbeitet:
Danke, das du so etwas hier reinstellst. Das ist wirklich eine Hilfe für Leute die Probleme damit haben :) *THUMPS UP*:angel:
 
Die Hilfsbereitschaft Anderer gebe ich gern zurück. Feedback wäre super ob es klappt. Ich habe es 1x getestet, aber es mag sein das ich da irgendwo einen Bock geschossen habe...
 
jemand die SophosUTM mit Kabeldeutschland im Einsatz? Hab ne 6490 und das will nicht hinhauen
 
Ich nutze meine Sophos für Zuhause. Rein privat und aus Interesse an der Materie.

Aktuell läuft diese auf einem alten Atom Rechner. Dieser macht langsam Probleme und braucht einiges an Strom.

Wenn man die Sophos auf einem ESX virtualisiert und 2 physikalische Netzwerkkarten nutzt, ist dies dann genauso sicher, als würde es nur ein Rechner sein, ohne Virtualisierung?

Wie sind dazu die Erfahrungen?
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh