diff --git a/www/web-proxy-sso/Makefile b/www/web-proxy-sso/Makefile deleted file mode 100644 index c18ec3646..000000000 --- a/www/web-proxy-sso/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -PLUGIN_NAME= web-proxy-sso -PLUGIN_VERSION= 0.3 -PLUGIN_REVISION= 1 -PLUGIN_COMMENT= Add SSO Active Directory to use in Proxy -PLUGIN_DEPENDS= msktutil -PLUGIN_MAINTAINER= gitdevmod@github.com -PLUGIN_DEVEL= yes - -.include "../../Mk/plugins.mk" diff --git a/www/web-proxy-sso/pkg-descr b/www/web-proxy-sso/pkg-descr deleted file mode 100644 index e6ca76c34..000000000 --- a/www/web-proxy-sso/pkg-descr +++ /dev/null @@ -1,2 +0,0 @@ -Allow to use the web proxy with Single Sign-On against an -Active Directory instead of using a bundled authentication. diff --git a/www/web-proxy-sso/src/opnsense/mvc/app/controllers/OPNsense/SSOProxyAD/Api/ServiceController.php b/www/web-proxy-sso/src/opnsense/mvc/app/controllers/OPNsense/SSOProxyAD/Api/ServiceController.php deleted file mode 100644 index 71c8d54e1..000000000 --- a/www/web-proxy-sso/src/opnsense/mvc/app/controllers/OPNsense/SSOProxyAD/Api/ServiceController.php +++ /dev/null @@ -1,105 +0,0 @@ - - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -namespace OPNsense\SSOProxyAD\Api; - -use \OPNsense\Base\ApiControllerBase; -use \OPNsense\SSOProxyAD\SSOProxyAD; -use \OPNsense\Core\Backend; -use \OPNsense\Cron\Cron; - -class ServiceController extends ApiControllerBase -{ - - public function reloadAction() - { - $status = "failed"; - if ($this->request->isPost()) { - $mdlSSOProxyAD = new SSOProxyAD(); - if ((string)$mdlSSOProxyAD->general->UpdateCron == "") { - $mdlCron = new Cron(); - $mdlSSOProxyAD->general->UpdateCron = $mdlCron->newDailyJob( - "SSOProyAD", - "ssoproxyad updateDomain", - "SSOProxyAD updateDomain cron", - "1" - ); - if ($mdlCron->performValidation()->count() == 0) { - $mdlCron->serializeToConfig(); - $mdlMymodule->serializeToConfig($validateFullModel = false, $disable_validation = true); - Config::getInstance()->save(); - } - } - $backend = new Backend(); - $bckresult = trim($backend->configdRun('template reload OPNsense/SSOProxyAD')); - if ($bckresult == "OK") { - $status = "ok"; - } - } - return array("status" => $status); - } - - public function testAction() - { - if ($this->request->isPost()) { - $backend = new Backend(); - $bckresult = json_decode(trim($backend->configdRun("ssoproxyad test")), true); - if ($bckresult !== null) { - // only return valid json type responses - return $bckresult; - } - } - return array("message" => "unable to run config action"); - } - - public function joinDomainAction() - { - if ($this->request->isPost()) { - $backend = new Backend(); - $bckresult = json_decode(trim($backend->configdRun("ssoproxyad joinDomain")), true); - if ($bckresult !== null) { - // only return valid json type responses - return $bckresult; - } - } - return array("message" => "unable to run config action"); - } - - public function updateDomainAction() - { - if ($this->request->isPost()) { - $backend = new Backend(); - $bckresult = json_decode(trim($backend->configdRun("ssoproxyad updateDomain")), true); - if ($bckresult !== null) { - // only return valid json type responses - return $bckresult; - } - } - return array("message" => "unable to run config action"); - } -} diff --git a/www/web-proxy-sso/src/opnsense/mvc/app/controllers/OPNsense/SSOProxyAD/Api/SettingsController.php b/www/web-proxy-sso/src/opnsense/mvc/app/controllers/OPNsense/SSOProxyAD/Api/SettingsController.php deleted file mode 100644 index 3fe173b31..000000000 --- a/www/web-proxy-sso/src/opnsense/mvc/app/controllers/OPNsense/SSOProxyAD/Api/SettingsController.php +++ /dev/null @@ -1,52 +0,0 @@ - - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -namespace OPNsense\SSOProxyAD\Api; - -use \OPNsense\Base\ApiMutableModelControllerBase; -use \OPNsense\Core\Config; - -class SettingsController extends ApiMutableModelControllerBase -{ - static protected $internalModelClass = '\OPNsense\SSOProxyAD\SSOProxyAD'; - static protected $internalModelName = 'ssoproxyad'; - - /** - * @return array plain model settings (non repeating items) - */ - protected function getModelNodes() - { - $settingsNodes = array('general'); - $result = array(); - $mdlSSO = $this->getModel(); - foreach ($settingsNodes as $key) { - $result[$key] = $mdlSSO->$key->getNodes(); - } - return $result; - } -} diff --git a/www/web-proxy-sso/src/opnsense/mvc/app/controllers/OPNsense/SSOProxyAD/IndexController.php b/www/web-proxy-sso/src/opnsense/mvc/app/controllers/OPNsense/SSOProxyAD/IndexController.php deleted file mode 100644 index 496949864..000000000 --- a/www/web-proxy-sso/src/opnsense/mvc/app/controllers/OPNsense/SSOProxyAD/IndexController.php +++ /dev/null @@ -1,39 +0,0 @@ - - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -namespace OPNsense\SSOProxyAD; - -class IndexController extends \OPNsense\Base\IndexController -{ - public function indexAction() - { - $this->view->title = gettext('SSO Proxy Active Directory'); - $this->view->pick('OPNsense/SSOProxyAD/index'); - $this->view->generalForm = $this->getForm("general"); - } -} diff --git a/www/web-proxy-sso/src/opnsense/mvc/app/controllers/OPNsense/SSOProxyAD/forms/general.xml b/www/web-proxy-sso/src/opnsense/mvc/app/controllers/OPNsense/SSOProxyAD/forms/general.xml deleted file mode 100644 index a1da68983..000000000 --- a/www/web-proxy-sso/src/opnsense/mvc/app/controllers/OPNsense/SSOProxyAD/forms/general.xml +++ /dev/null @@ -1,33 +0,0 @@ -
- - ssoproxyad.general.Enabled - - checkbox - Enable this feature - - - ssoproxyad.general.DomainName - - text - - - ssoproxyad.general.DomainDC - - text - - - ssoproxyad.general.DomainVersion - - text - - - ssoproxyad.general.DomainUser - - text - - - ssoproxyad.general.DomainPassword - - password - -
diff --git a/www/web-proxy-sso/src/opnsense/mvc/app/library/OPNsense/Auth/SSOProxyAD.php b/www/web-proxy-sso/src/opnsense/mvc/app/library/OPNsense/Auth/SSOProxyAD.php deleted file mode 100644 index b1e79db00..000000000 --- a/www/web-proxy-sso/src/opnsense/mvc/app/library/OPNsense/Auth/SSOProxyAD.php +++ /dev/null @@ -1,73 +0,0 @@ - - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -namespace OPNsense\Auth; - -use OPNsense\Core\Config; - -/** - * Class SSOProxyAD connector - * @package OPNsense\Auth - */ -class SSOProxyAD implements IAuthConnector -{ - public static function getType() - { - return 'ssoproxyad'; - } - - /** - * user friendly description of this authenticator - * @return string - */ - public function getDescription() - { - return gettext("SSO Proxy AD"); - } - /** - * set connector properties - * @param array $config connection properties - */ - public function setProperties($config) - { - } - - /** - * unused - * @return array mixed named list of authentication properties - */ - public function getLastAuthProperties() - { - return array(); - } - - public function authenticate($username, $password) - { - return false; - } -} diff --git a/www/web-proxy-sso/src/opnsense/mvc/app/models/OPNsense/SSOProxyAD/ACL/ACL.xml b/www/web-proxy-sso/src/opnsense/mvc/app/models/OPNsense/SSOProxyAD/ACL/ACL.xml deleted file mode 100644 index 1e1778625..000000000 --- a/www/web-proxy-sso/src/opnsense/mvc/app/models/OPNsense/SSOProxyAD/ACL/ACL.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - Services: Web Proxy: SSO - - ui/ssoproxyad/* - api/ssoproxyad/* - - - diff --git a/www/web-proxy-sso/src/opnsense/mvc/app/models/OPNsense/SSOProxyAD/Menu/Menu.xml b/www/web-proxy-sso/src/opnsense/mvc/app/models/OPNsense/SSOProxyAD/Menu/Menu.xml deleted file mode 100644 index 93811ad68..000000000 --- a/www/web-proxy-sso/src/opnsense/mvc/app/models/OPNsense/SSOProxyAD/Menu/Menu.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/www/web-proxy-sso/src/opnsense/mvc/app/models/OPNsense/SSOProxyAD/SSOProxyAD.php b/www/web-proxy-sso/src/opnsense/mvc/app/models/OPNsense/SSOProxyAD/SSOProxyAD.php deleted file mode 100644 index 9e267c1b5..000000000 --- a/www/web-proxy-sso/src/opnsense/mvc/app/models/OPNsense/SSOProxyAD/SSOProxyAD.php +++ /dev/null @@ -1,35 +0,0 @@ - - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -namespace OPNsense\SSOProxyAD; - -use OPNsense\Base\BaseModel; - -class SSOProxyAD extends BaseModel -{ -} diff --git a/www/web-proxy-sso/src/opnsense/mvc/app/models/OPNsense/SSOProxyAD/SSOProxyAD.xml b/www/web-proxy-sso/src/opnsense/mvc/app/models/OPNsense/SSOProxyAD/SSOProxyAD.xml deleted file mode 100644 index 09c6e4d84..000000000 --- a/www/web-proxy-sso/src/opnsense/mvc/app/models/OPNsense/SSOProxyAD/SSOProxyAD.xml +++ /dev/null @@ -1,43 +0,0 @@ - - //OPNsense/ssoproxyad - - SSO Active Directory plugin - - - - - 1 - Y - - - Y - - - Y - - - Y - - - Y - - - Y - - - - - OPNsense.Cron.Cron - jobs.job - description - - /SSOProxyAD/ - - - - Related cron not found. - N - - - - diff --git a/www/web-proxy-sso/src/opnsense/mvc/app/views/OPNsense/SSOProxyAD/index.volt b/www/web-proxy-sso/src/opnsense/mvc/app/views/OPNsense/SSOProxyAD/index.volt deleted file mode 100644 index bb18aed1f..000000000 --- a/www/web-proxy-sso/src/opnsense/mvc/app/views/OPNsense/SSOProxyAD/index.volt +++ /dev/null @@ -1,82 +0,0 @@ -{# -Copyright (C) 2016 -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, -this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, -OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -#} - -{{ partial("layout_partials/base_form",['fields':generalForm,'id':'frm_GeneralSettings'])}} - - - -
- -
- - - - - - diff --git a/www/web-proxy-sso/src/opnsense/scripts/OPNsense/SSOProxyAD/joinDomain.php b/www/web-proxy-sso/src/opnsense/scripts/OPNsense/SSOProxyAD/joinDomain.php deleted file mode 100755 index 43e8c6f58..000000000 --- a/www/web-proxy-sso/src/opnsense/scripts/OPNsense/SSOProxyAD/joinDomain.php +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/local/bin/php - - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -// Use legacy code to export certificates to the filesystem. -require_once("config.inc"); -require_once("certs.inc"); -require_once("legacy_bindings.inc"); - -use OPNsense\Core\Config; - -global $config; - -$configObj = Config::getInstance()->object(); -$hostname = $configObj->system->hostname; -$fqdn = $hostname . "." . $configObj->system->domain; -if (isset($configObj->OPNsense->ssoproxyad)) { - foreach ($configObj->OPNsense->ssoproxyad->general as $ssoproxyad) { - $enabled = $ssoproxyad->Enabled; - $domainname = $ssoproxyad->DomainName; - $domaindc = $ssoproxyad->DomainDC; - $domainversion = $ssoproxyad->DomainVersion; - $domainuser = $ssoproxyad->DomainUser; - $domainpassword = $ssoproxyad->DomainPassword; - } -} - -$keytab = '/usr/local/etc/ssoproxyad/PROXY.keytab'; -$cmd_2003 = '/usr/local/sbin/msktutil -c -b CN=COMPUTERS -s HTTP -k ' . $keytab . ' --computer-name ' . strtoupper($hostname) . ' --upn HTTP/' . $fqdn. ' --server ' . $domaindc . ' 2>&1'; -$cmd_2008 = '/usr/local/sbin/msktutil -c -b CN=COMPUTERS -s HTTP -k ' . $keytab . ' --computer-name ' . strtoupper($hostname) . ' --upn HTTP/' . $fqdn. ' --server ' . $domaindc . ' --enctypes 28 2>&1'; - -if ($enabled == 1) { - $krb5secret = '/usr/local/etc/ssoproxyad/krb5secret'; - if (!file_exists($keytab)) { - file_put_contents($krb5secret, $domainpassword); - chmod($krb5secret, 0600); - exec('/usr/local/bin/kinit --password-file="' . $krb5secret . '" ' . $domainuser. "@" . strtoupper($domainname) . " 2>&1", $output_kinit, $error_kinit); - if ($error_kinit > 0) { - $out = implode($output_kinit); - $return = array('message' => "$out"); - } else { - if ($domainversion == '2003') { - exec($cmd_2003, $output_msktutil, $error_msktutil); - } elseif ($domainversion == '2008') { - exec($cmd_2008, $output_msktutil, $error_msktutil); - } - if ((file_exists($keytab)) and ($error_msktutil <= 0)) { - chown($keytab, 'squid'); - chgrp($keytab, 'squid'); - exec("/usr/local/bin/kdestroy 2>&1", $output_kdestroy, $error_kdestroy); - $return = array('message' => "keytab created"); - } else { - $out = implode($output_msktutil); - $return = array('message' => "Unable to create keytab: $out"); - } - } - } else { - $return = array('message' => "keytab already exists"); - } -} -if (file_exists($krb5secret)) { - unlink($krb5secret); -} - -echo json_encode($return); diff --git a/www/web-proxy-sso/src/opnsense/scripts/OPNsense/SSOProxyAD/testConnection.py b/www/web-proxy-sso/src/opnsense/scripts/OPNsense/SSOProxyAD/testConnection.py deleted file mode 100755 index 3b01b8cb2..000000000 --- a/www/web-proxy-sso/src/opnsense/scripts/OPNsense/SSOProxyAD/testConnection.py +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/local/bin/python2.7 - -""" - Copyright (c) 2016 - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. -""" - -import os -import socket -import json - -ssoproxyad_config = '/usr/local/etc/ssoproxyad/krb5.conf' - -result = {} -if os.path.exists(ssoproxyad_config): - result['message'] = 'test ok!' -else: - # no config - result['message'] = 'no configuration file found' - -print (json.dumps(result)) diff --git a/www/web-proxy-sso/src/opnsense/scripts/OPNsense/SSOProxyAD/updateDomain.php b/www/web-proxy-sso/src/opnsense/scripts/OPNsense/SSOProxyAD/updateDomain.php deleted file mode 100755 index 8e900ffac..000000000 --- a/www/web-proxy-sso/src/opnsense/scripts/OPNsense/SSOProxyAD/updateDomain.php +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/local/bin/php - - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE - * AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, - * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -// Use legacy code to export certificates to the filesystem. -require_once("config.inc"); -require_once("certs.inc"); -require_once("legacy_bindings.inc"); -require_once("util.inc"); - -use OPNsense\Core\Config; - -global $config; - -$configObj = Config::getInstance()->object(); -$hostname = $configObj->system->hostname; -$fqdn = $hostname . "." . $configObj->system->domain; -if (isset($configObj->OPNsense->ssoproxyad)) { - foreach ($configObj->OPNsense->ssoproxyad->general as $ssoproxyad) { - $enabled = $ssoproxyad->Enabled; - } -} - -if ($enabled == 1) { - $keytab = '/usr/local/etc/ssoproxyad/PROXY.keytab'; - if (file_exists($keytab)) { - $cmd = exec_safe('/usr/local/sbin/msktutil %s %s %s %s %s 2>&1', array( - '--auto-update', - '--computer-name', - strtolower($hostname), - '--keytab', - $keytab - )); - exec($cmd, $output_msktutil, $error_msktutil); - $out = implode($output_msktutil); - if ($error_msktutil > 0) { - $return = array('message' => "Unable to auto-update: $out)"); - } else { - $return = array('message' => "Auto-update successful: $out"); - } - } else { - $return = array('message' => "keytab do not exists"); - } -} - -echo json_encode($return); diff --git a/www/web-proxy-sso/src/opnsense/service/conf/actions.d/actions_ssoproxyad.conf b/www/web-proxy-sso/src/opnsense/service/conf/actions.d/actions_ssoproxyad.conf deleted file mode 100644 index f95873260..000000000 --- a/www/web-proxy-sso/src/opnsense/service/conf/actions.d/actions_ssoproxyad.conf +++ /dev/null @@ -1,17 +0,0 @@ -[test] -command:/usr/local/opnsense/scripts/OPNsense/SSOProxyAD/testConnection.py -parameters: -type:script_output -message:SSO Proxy AD module test - -[joinDomain] -command:/usr/local/opnsense/scripts/OPNsense/SSOProxyAD/joinDomain.php -parameters: -type:script_output -message:SSO Proxy AD module join AD domain - -[updateDomain] -command:/usr/local/opnsense/scripts/OPNsense/SSOProxyAD/updateDomain.php -parameters: -type:script_output -message:SSO Proxy AD module update AD domain diff --git a/www/web-proxy-sso/src/opnsense/service/templates/OPNsense/Proxy/squid.user.alt_auth.conf b/www/web-proxy-sso/src/opnsense/service/templates/OPNsense/Proxy/squid.user.alt_auth.conf deleted file mode 100644 index ac5a816ed..000000000 --- a/www/web-proxy-sso/src/opnsense/service/templates/OPNsense/Proxy/squid.user.alt_auth.conf +++ /dev/null @@ -1,14 +0,0 @@ -{% if helpers.exists('OPNsense.proxy.forward.authentication.method') %} -{% if helpers.exists('system.authserver') %} -{% for server in helpers.toList('system.authserver') %} -{% if server.name == OPNsense.proxy.forward.authentication.method %} -{% if server.type == "ssoproxyad" %} -auth_param negotiate program "/usr/local/libexec/squid/negotiate_kerberos_auth" -auth_param negotiate children 10 -auth_param negotiate keep_alive on -acl local_auth proxy_auth REQUIRED -{% endif %} -{% endif %} -{% endfor %} -{% endif %} -{% endif %} diff --git a/www/web-proxy-sso/src/opnsense/service/templates/OPNsense/SSOProxyAD/+TARGETS b/www/web-proxy-sso/src/opnsense/service/templates/OPNsense/SSOProxyAD/+TARGETS deleted file mode 100644 index 30b684c47..000000000 --- a/www/web-proxy-sso/src/opnsense/service/templates/OPNsense/SSOProxyAD/+TARGETS +++ /dev/null @@ -1,2 +0,0 @@ -krb5.conf:/usr/local/etc/ssoproxyad/krb5.conf -rc.conf:/etc/rc.conf.d/squid/ssoproxyad diff --git a/www/web-proxy-sso/src/opnsense/service/templates/OPNsense/SSOProxyAD/krb5.conf b/www/web-proxy-sso/src/opnsense/service/templates/OPNsense/SSOProxyAD/krb5.conf deleted file mode 100644 index 900f6d92b..000000000 --- a/www/web-proxy-sso/src/opnsense/service/templates/OPNsense/SSOProxyAD/krb5.conf +++ /dev/null @@ -1,33 +0,0 @@ -{% if helpers.exists('OPNsense.ssoproxyad.general') and OPNsense.ssoproxyad.general.Enabled|default("0") == "1" %} -[libdefaults] - default_realm = {{ OPNsense.ssoproxyad.general.DomainName|upper }} - dns_lookup_kdc = no - dns_lookup_realm = no - ticket_lifetime = 24h - default_keytab_name = /usr/local/etc/ssoproxyad/PROXY.keytab - -{% if helpers.exists('OPNsense.ssoproxyad.general.DomainVersion') and OPNsense.ssoproxyad.general.DomainVersion == '2003' %} - default_tgs_enctypes = rc4-hmac des-cbc-crc des-cbc-md5 - default_tkt_enctypes = rc4-hmac des-cbc-crc des-cbc-md5 - permitted_enctypes = rc4-hmac des-cbc-crc des-cbc-md5 -{% endif %} -{% if helpers.exists('OPNsense.ssoproxyad.general.DomainVersion') and OPNsense.ssoproxyad.general.DomainVersion == '2008' %} -; for Windows 2008 with AES - default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5 - default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5 - permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5 -{% endif %} - -[realms] - {{ OPNsense.ssoproxyad.general.DomainName|upper }} = { - kdc = {{ OPNsense.ssoproxyad.general.DomainDC|lower }}.{{ OPNsense.ssoproxyad.general.DomainName|lower }} - admin_server = {{ OPNsense.ssoproxyad.general.DomainDC|lower }}.{{ OPNsense.ssoproxyad.general.DomainName|lower }} - default_domain = {{ OPNsense.ssoproxyad.general.DomainName|lower }} - } - -[domain_realm] - .{{ OPNsense.ssoproxyad.general.DomainName|lower }} = {{ OPNsense.ssoproxyad.general.DomainName|upper }} - {{ OPNsense.ssoproxyad.general.DomainName|lower }} = {{ OPNsense.ssoproxyad.general.DomainName|upper }} - - -{% endif %} diff --git a/www/web-proxy-sso/src/opnsense/service/templates/OPNsense/SSOProxyAD/rc.conf b/www/web-proxy-sso/src/opnsense/service/templates/OPNsense/SSOProxyAD/rc.conf deleted file mode 100644 index 9a6da4e5b..000000000 --- a/www/web-proxy-sso/src/opnsense/service/templates/OPNsense/SSOProxyAD/rc.conf +++ /dev/null @@ -1,11 +0,0 @@ -{% if helpers.exists('system.authserver') %} -{% for server in helpers.toList('system.authserver') %} -{% if helpers.exists('OPNsense.proxy.forward.authentication.method') %} -{% if server.name == OPNsense.proxy.forward.authentication.method %} -{% if server.type == "ssoproxyad" %} -squid_krb5_ktname="/usr/local/etc/ssoproxyad/PROXY.keytab" -{% endif %} -{% endif %} -{% endif %} -{% endfor %} -{% endif %}