forked from midefos/martillo-maldito
iptables-save every minute
This commit is contained in:
1 parent
ada1a8793a
commit
6a54d6edf2
5 files changed
+17
-93
No files matched your search
+14
-1
@@ -3,7 +3,7 @@ pub mod login_attempt;
|
||||
|
||||
use linemux::MuxedLines;
|
||||
use login_attempt::LoginAttempt;
|
||||
use std::collections::HashMap;
|
||||
use std::{collections::HashMap, thread::sleep, time::Duration};
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> std::io::Result<()> {
|
||||
@@ -12,6 +12,19 @@ async fn main() -> std::io::Result<()> {
|
||||
lines.add_file("/host_ssh/auth.log").await?;
|
||||
let mut login_attempts: HashMap<String, usize> = HashMap::new();
|
||||
|
||||
let seconds_iptables = Duration::from_secs(60);
|
||||
println!(
|
||||
"starting iptables-save, run every {} seconds",
|
||||
seconds_iptables.as_secs()
|
||||
);
|
||||
tokio::spawn(async move {
|
||||
loop {
|
||||
sleep(seconds_iptables);
|
||||
iptables_save::save_iptables();
|
||||
println!("saved iptables rules");
|
||||
}
|
||||
});
|
||||
|
||||
println!("listening to changes over /host_ssh/auth.log");
|
||||
while let Ok(Some(line)) = lines.next_line().await {
|
||||
if let Some(login_attempt) = LoginAttempt::capture(line.line()) {
|
||||
|
||||
Reference in new issue
Block a user