https://github.com/xaionaro-go/mswfapi
A Linux-based solution designed to replace Cisco FWSM module
https://github.com/xaionaro-go/mswfapi
api declarative fwsm ipset iptables linux netfilter
Last synced: about 2 months ago
JSON representation
A Linux-based solution designed to replace Cisco FWSM module
- Host: GitHub
- URL: https://github.com/xaionaro-go/mswfapi
- Owner: xaionaro-go
- Created: 2018-02-15T14:44:33.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-04-03T17:57:48.000Z (about 8 years ago)
- Last Synced: 2025-08-01T12:16:51.743Z (11 months ago)
- Topics: api, declarative, fwsm, ipset, iptables, linux, netfilter
- Language: Go
- Homepage:
- Size: 313 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# About
MSWF uses [https://github.com/xaionaro-go/fwsmConfig](https://github.com/xaionaro-go/fwsmConfig) to work with FWSM-compatible configuration files and setup a Linux machine to do the same job using [https://github.com/xaionaro-go/networkControl](https://github.com/xaionaro-go/networkControl). There're two interfaces: Web-interface for dummies and SSH-interfaces for Cisco-lovers.



# Install
```sh
cd /root
git clone git@devel.mephi.ru:noc/fwsm-config.git
git clone https://github.com/xaionaro-go/mswfAPI
cd mswfAPI
make
```
# Post-install
Installing additional runtime-dependencies
```sh
apt-get install -y bwm-ng
```
(it's used by URI /fwsm/status)
Define passwords in conf/app.conf:
```
user0.login = someLoginHere
user0.password_sha1 = sha1hashhere
user1.login = anotherLogin
user1.password_sha1 = anothersha1hash
user2.login = mswfShell
user2.password = someClearPassword
```
Define also JSON Web Tokens (JWT) secret in conf/app.conf:
```
jwt_secret = someSecretHere
```
Install Web-shell: [https://github.com/xaionaro/mswfWebControl](https://github.com/xaionaro/mswfWebControl)
Install SSH-shell: [https://github.com/xaionaro-go/mswfShell](https://github.com/xaionaro-go/mswfShell)
Create file `/root/fwsm-config/dynamic` and initialize git repository in `/root/fwsm-config` (`(cd /root/fwsm-config && git init && git add dynamic && git commit -a -m 'initial commit')`). `/root/fwsm-config/dynamic` is a FWSM-compatible configuration file.
# Run
```sh
revel run github.com/xaionaro-go/mswfAPI prod
```
(localhost:9000)