Documentation ¶
Overview ¶
Copyright © 2020 GUILLAUME FOURNIER
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright © 2020 GUILLAUME FOURNIER ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright © 2020 GUILLAUME FOURNIER ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright © 2020 GUILLAUME FOURNIER ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright © 2020 GUILLAUME FOURNIER ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright © 2020 GUILLAUME FOURNIER ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright © 2020 GUILLAUME FOURNIER ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- type DatadogLogs
- type SSHProbe
- func (sshp *SSHProbe) CacheInode(path string) (uint64, error)
- func (sshp *SSHProbe) Forward(event interface{})
- func (sshp *SSHProbe) GetProfile(cookie uint32) *model.Profile
- func (sshp *SSHProbe) HandleKillRequests(Cpu int, data []byte, perfMap *manager.PerfMap, m *manager.Manager)
- func (sshp *SSHProbe) HandleNotifications(Cpu int, data []byte, perfMap *manager.PerfMap, m *manager.Manager)
- func (sshp *SSHProbe) HandleOTPRequests(Cpu int, data []byte, perfMap *manager.PerfMap, m *manager.Manager)
- func (sshp *SSHProbe) LostHandler(CPU int, count uint64, perfMap *manager.PerfMap, manager *manager.Manager)
- func (sshp *SSHProbe) ResolveInode(ino uint64) (string, bool)
- func (sshp *SSHProbe) Start() error
- func (sshp *SSHProbe) Stop() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DatadogLogs ¶
type DatadogLogs struct { EventChan chan interface{} // contains filtered or unexported fields }
DatadogLogs Datadog logs forwarder
func (*DatadogLogs) Start ¶
func (dl *DatadogLogs) Start(agentURL string) error
Start sets up communication with the Datadog agent
type SSHProbe ¶
type SSHProbe struct {
// contains filtered or unexported fields
}
SSHProbe is the main structure of the ssh probe project
func NewSSHProbe ¶
func NewSSHProbe(profiles string, accessControlEventsLevel model.Action, disableGlobalScope bool, agentURL string) (*SSHProbe, error)
NewSSHProbe parses the provided profiles and creates a new ssh-probe instance
func (*SSHProbe) CacheInode ¶
CacheInode caches the inode of the provided path
func (*SSHProbe) Forward ¶
func (sshp *SSHProbe) Forward(event interface{})
Forward forwards an event to Datadog
func (*SSHProbe) GetProfile ¶
GetProfile returns a profile by its cookie
func (*SSHProbe) HandleKillRequests ¶
func (sshp *SSHProbe) HandleKillRequests(Cpu int, data []byte, perfMap *manager.PerfMap, m *manager.Manager)
HandleKillRequests handles process kill requests from the kernel
func (*SSHProbe) HandleNotifications ¶
func (sshp *SSHProbe) HandleNotifications(Cpu int, data []byte, perfMap *manager.PerfMap, m *manager.Manager)
HandleNotifications handls a new notification from the kernel
func (*SSHProbe) HandleOTPRequests ¶
func (sshp *SSHProbe) HandleOTPRequests(Cpu int, data []byte, perfMap *manager.PerfMap, m *manager.Manager)
HandleOTPRequests handles OTP requests from ssh-probe-auth
func (*SSHProbe) LostHandler ¶
func (sshp *SSHProbe) LostHandler(CPU int, count uint64, perfMap *manager.PerfMap, manager *manager.Manager)
LostHandler logs lost samples from perf ring buffers
func (*SSHProbe) ResolveInode ¶
ResolveInode returns the path of the provided inode