DEV Community

Ioneyrezende
Ioneyrezende

Posted on

openSIS portals need profile and API-token review

openSIS portals need profile and API-token review

openSIS is a student information system with separate portals for administrators, staff, parents, and students. That design creates several kinds of access behind one product name. A school administrator may manage enrolment and system settings, a teacher may see assigned classes, and a parent may see only records linked to a child. Discovery should establish which portal and profile are reachable before treating a host as exposed student data.

The count-only ZoomEye query for app="openSIS" returned 123 matches. The title="openSIS" query returned 2,996. Both used sub_type=all, page 1, and pagesize 1. The title result is much wider and may include portals, help sites, and documents. The application result is a narrower fingerprint hint, not proof that all 123 hosts expose student records.

Map profile, role, and portal

openSIS documentation describes a role-based permission system with default profiles for common user types and configurable profiles for institution-specific needs. The profile and role influence what a user can view and manage. Portals add another layer by presenting a limited interface for a group such as parents or students.

Review the default administrator profile first. It can manage academic workflows, users, settings, and reports. Then review delegated profiles that can edit records or approve changes. A support account with a narrow-sounding name may still have broad data access through a custom profile.

Test the parent and student portals with accounts linked to synthetic records. Confirm that the visible navigation matches the API and file access behind it. A portal page that hides a menu item is not an authorization control if a direct request returns the record.

Treat API tokens as application identities

openSIS API documentation says external systems use authentication and an access token that identifies the requesting system and determines the data it can access. A token should therefore have an owner, purpose, scope, and expiration. Do not treat the token as a generic password shared by every integration.

Inventory the integrations that consume student, staff, attendance, scheduling, and academic data. Compare their token permissions with the fields they actually need. If one integration can write grades and another only needs to read enrolment, those should not share the same authority.

Store tokens in a secret manager and prevent them from appearing in client-side code, screenshots, support tickets, or general logs. A browser portal that embeds a powerful API token can expose it to any user who can inspect the page. Server-side calls with narrowly scoped credentials are easier to audit.

Review the public boundary

Search engines and product fingerprints can reveal the institution name before a login screen appears. Decide whether that discovery is acceptable. Public pages for admissions, calendars, or employment may be intentional. Pages containing student names, schedules, or family contact data are not public simply because they are reachable without authentication.

Use a web application firewall or reverse proxy as an additional control, not as a replacement for openSIS permissions. Verify that forwarded user headers are trusted only from the proxy and that direct application routes cannot be used to bypass the proxy's policy. Test the login, portal, and API paths separately.

Monitor account creation, role changes, permission updates, token creation, failed logins, and access to sensitive reports. When a token is revoked, confirm that new requests fail and that existing sessions are handled according to the integration design.

The 123 app matches and 2,996 title matches should be split by owner, portal, and authentication state. The useful inventory records who can reach the portal and which profile or API token governs the data. Student information systems deserve that evidence because the cost of a wrong authorization assumption is borne by families and the school's IT team.

References

Top comments (0)